Red Hat Advanced Cluster Management for Kubernetes でポリシーの作成および管理時に、ハブクラスターでのルール、プロセス、制御の定義方法を説明するサポート対象のポリシーを確認します。
次のサンプル設定ポリシーを表示します。
Expand 表2.6 設定ポリシーの表のリスト ポリシーのサンプル 説明
namespace ポリシー
環境の分離と namespace を使用した命名の一貫性を確保します。Kubernetes Namespace のドキュメント を参照してください。
Pod ポリシー
クラスターのワークロード設定を確認します。Kubernetes Pod のドキュメント を参照してください。
メモリー使用状況のポリシー
制限範囲を使用してワークロードリソースの使用を制限します。制限範囲のドキュメント を参照してください。
Pod セキュリティーポリシー (非推奨)
一貫したワークロードセキュリティーを確保します。Kubernetes Pod セキュリティーポリシーのドキュメント を参照してください。
ロールポリシー ロールバインディングポリシー
ロールとロールバインディングを使用して、ロールのアクセス権限とバインディングを管理します。Kubernetes RBAC のドキュメント を参照してください。
SCC (Security Context Constraints) ポリシー
Security Context Constraints を使用してワークロードのアクセス権限を管理します。OpenShift Container Platform ドキュメントの セキュリティーコンテキスト制約の管理ドキュメント を参照してください。
ETCD 暗号化ポリシー
etcd 暗号化でデータセキュリティーを確保します。OpenShift Container Platform ドキュメントの etcd データの暗号化 を参照してください。
Compliance Operator ポリシー
Compliance Operator をデプロイして、OpenSCAP を利用するクラスターのコンプライアンス状態をスキャンして適用します。OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。
Compliance Operator E8 のスキャン
Compliance Operator ポリシーを適用した後、Essential 8 (E8) スキャンをデプロイして、E8 セキュリティープロファイルへの準拠を確認します。OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。
Compliance Operator CIS のスキャン
Compliance Operator ポリシーを適用した後、Center for Internet Security (CIS) スキャンをデプロイメントして、CIS セキュリティープロファイルへの準拠を確認します。OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。
イメージ脆弱性ポリシー
Container Security Operator をデプロイし、クラスターで実行されている Pod で既知のイメージの脆弱性を検出します。Container Security Operator GitHub リポジトリーを参照してください。
Gatekeeper Operator の配置
Gatekeeper は、Open Policy Agent (OPA) ポリシーエンジンによって実行されるカスタムリソース定義ベースのポリシーを適用するアドミッション Webhook です。Gatekeeper のドキュメントを参照してください。
Gatekeeper のコンプライアンスポリシー
Gatekeeper をクラスターにデプロイした後、このサンプルの Gatekeeper ポリシーをデプロイして、クラスター上に作成された namespace が指定どおりにラベル付けされるようにします。
Red Hat OpenShift Platform Plus ポリシーセット
Red Hat OpenShift Platform Plus は、複数のインフラストラクチャー向けのアプリケーションを安全に構築、デプロイ、実行、管理するためのハイブリッドクラウド製品スイートです。Red Hat Advanced Cluster Management アプリケーションを通じて提供される PolicySets を使用して、Red Hat OpenShift Platform Plus をマネージドクラスターにデプロイできます。OpenShift Platform Plus の詳細は、OpenShift Platform Plus のドキュメントを参照してください。
Show more
Red Hat OpenShift Container Platform 4.x は、Red Hat Advanced Cluster Management 設定ポリシーもサポートします。
ポリシーがどのように適用されるかを確認するには、ポリシーに関する以下のドキュメントを参照してください。
他のトピックは、ガバナンス を参照してください。
Kubernetes 設定ポリシーコントローラーは、namespace ポリシーのステータスを監視します。namespace ポリシーを適用し、namespace の特定のルールを定義します。
以下のセクションでは namespace ポリシーの設定を説明します。
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name:
namespace:
annotations:
policy.open-cluster-management.io/standards:
policy.open-cluster-management.io/categories:
policy.open-cluster-management.io/controls:
policy.open-cluster-management.io/description:
spec:
remediationAction:
disabled:
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name:
spec:
remediationAction:
severity:
object-templates:
- complianceType:
objectDefinition:
kind: Namespace
apiVersion: v1
metadata:
name:
...
apiVersion : policy.open- cluster- management.io/v1
kind : Policy
metadata :
name :
namespace :
annotations :
policy.open-cluster-management.io/standards :
policy.open-cluster-management.io/categories :
policy.open-cluster-management.io/controls :
policy.open-cluster-management.io/description :
spec :
remediationAction :
disabled :
policy-templates :
- objectDefinition :
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name :
spec :
remediationAction :
severity :
object-templates :
- complianceType :
objectDefinition :
kind : Namespace
apiVersion : v1
metadata :
name :
...
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Expand フィールド 任意または必須 説明
apiVersion
必須
この値は policy.open-cluster-management.io/v1 に設定します。
kind
必須
ポリシーのタイプを指定するには、値を Policy に設定します。
metadata.name
必須
ポリシーリソースを識別する名前。
metadata.namespace
必須
ポリシーの namespace。
spec.remediationAction
任意
ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。
spec.disabled
必須
この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。
spec.policy-templates[].objectDefinition
必須
マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。
Show more
Kubernetes 設定ポリシーコントローラーは、ロールポリシーのステータスを監視します。Pod ポリシーを適用し、Pod のコンテナールールを定義します。この情報を使用するには、Pod がクラスターに存在している必要があります。
以下のセクションでは、Pod ポリシーの設定を説明します。
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name:
namespace:
annotations:
policy.open-cluster-management.io/standards:
policy.open-cluster-management.io/categories:
policy.open-cluster-management.io/controls:
policy.open-cluster-management.io/description:
spec:
remediationAction:
disabled:
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name:
spec:
remediationAction:
severity:
namespaceSelector:
exclude:
include:
matchLabels:
matchExpressions:
object-templates:
- complianceType:
objectDefinition:
apiVersion: v1
kind: Pod
metadata:
name:
spec:
containers:
- image:
name:
...
apiVersion : policy.open- cluster- management.io/v1
kind : Policy
metadata :
name :
namespace :
annotations :
policy.open-cluster-management.io/standards :
policy.open-cluster-management.io/categories :
policy.open-cluster-management.io/controls :
policy.open-cluster-management.io/description :
spec :
remediationAction :
disabled :
policy-templates :
- objectDefinition :
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name :
spec :
remediationAction :
severity :
namespaceSelector :
exclude :
include :
matchLabels :
matchExpressions :
object-templates :
- complianceType :
objectDefinition :
apiVersion : v1
kind : Pod
metadata :
name :
spec :
containers :
- image :
name :
...
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Expand 表2.7 パラメーターの表 フィールド 任意または必須 説明
apiVersion
必須
この値は policy.open-cluster-management.io/v1 に設定します。
kind
必須
ポリシーのタイプを指定するには、値を Policy に設定します。
metadata.name
必須
ポリシーリソースを識別する名前。
metadata.namespace
必須
ポリシーの namespace。
spec.remediationAction
任意
ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。
spec.disabled
必須
この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。
spec.policy-templates[].objectDefinition
必須
マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。
Show more
Kubernetes 設定ポリシーコントローラーは、メモリー使用状況ポリシーのステータスを監視します。メモリー使用状況ポリシーを使用して、メモリーおよびコンピュートの使用量を制限または制約します。詳細は、Kubernetes ドキュメント の Limit Ranges を参照してください。
以下のセクションでは、メモリー使用状況ポリシーの設定を説明します。
メモリー使用状況ポリシーは、以下の YAML ファイルのようになります。
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name:
namespace:
annotations:
policy.open-cluster-management.io/standards:
policy.open-cluster-management.io/categories:
policy.open-cluster-management.io/controls:
policy.open-cluster-management.io/description:
spec:
remediationAction:
disabled:
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name:
spec:
remediationAction:
severity:
namespaceSelector:
exclude:
include:
matchLabels:
matchExpressions:
object-templates:
- complianceType: mustonlyhave
objectDefinition:
apiVersion: v1
kind: LimitRange
metadata:
name:
spec:
limits:
- default:
memory:
defaultRequest:
memory:
type:
...
apiVersion : policy.open- cluster- management.io/v1
kind : Policy
metadata :
name :
namespace :
annotations :
policy.open-cluster-management.io/standards :
policy.open-cluster-management.io/categories :
policy.open-cluster-management.io/controls :
policy.open-cluster-management.io/description :
spec :
remediationAction :
disabled :
policy-templates :
- objectDefinition :
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name :
spec :
remediationAction :
severity :
namespaceSelector :
exclude :
include :
matchLabels :
matchExpressions :
object-templates :
- complianceType : mustonlyhave
objectDefinition :
apiVersion : v1
kind : LimitRange
metadata :
name :
spec :
limits :
- default :
memory :
defaultRequest :
memory :
type :
...
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Expand 表2.8 パラメーターの表 フィールド 任意または必須 説明
apiVersion
必須
この値は policy.open-cluster-management.io/v1 に設定します。
kind
必須
ポリシーのタイプを指定するには、値を Policy に設定します。
metadata.name
必須
ポリシーリソースを識別する名前。
metadata.namespace
必須
ポリシーの namespace。
spec.remediationAction
任意
ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。
spec.disabled
必須
この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。
spec.policy-templates[].objectDefinition
必須
マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。
Show more
Kubernetes 設定ポリシーコントローラーは、Pod セキュリティーポリシーのステータスを監視します。Pod のセキュリティーポリシーを適用して Pod およびコンテナーのセキュリティーを保護します。
以下のセクションでは、Pod セキュリティーポリシーの設定を説明します。
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name:
namespace:
annotations:
policy.open-cluster-management.io/standards:
policy.open-cluster-management.io/categories:
policy.open-cluster-management.io/controls:
policy.open-cluster-management.io/description:
spec:
remediationAction:
disabled:
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name:
spec:
remediationAction:
severity:
namespaceSelector:
exclude:
include:
matchLabels:
matchExpressions:
object-templates:
- complianceType:
objectDefinition:
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name:
annotations:
seccomp.security.alpha.kubernetes.io/allowedProfileNames:
spec:
privileged:
allowPrivilegeEscalation:
allowedCapabilities:
volumes:
hostNetwork:
hostPorts:
hostIPC:
hostPID:
runAsUser:
seLinux:
supplementalGroups:
fsGroup:
...
apiVersion : policy.open- cluster- management.io/v1
kind : Policy
metadata :
name :
namespace :
annotations :
policy.open-cluster-management.io/standards :
policy.open-cluster-management.io/categories :
policy.open-cluster-management.io/controls :
policy.open-cluster-management.io/description :
spec :
remediationAction :
disabled :
policy-templates :
- objectDefinition :
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name :
spec :
remediationAction :
severity :
namespaceSelector :
exclude :
include :
matchLabels :
matchExpressions :
object-templates :
- complianceType :
objectDefinition :
apiVersion : policy/v1beta1
kind : PodSecurityPolicy
metadata :
name :
annotations :
seccomp.security.alpha.kubernetes.io/allowedProfileNames :
spec :
privileged :
allowPrivilegeEscalation :
allowedCapabilities :
volumes :
hostNetwork :
hostPorts :
hostIPC :
hostPID :
runAsUser :
seLinux :
supplementalGroups :
fsGroup :
...
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Expand 表2.9 パラメーターの表 フィールド 任意または必須 説明
apiVersion
必須
この値は policy.open-cluster-management.io/v1 に設定します。
kind
必須
ポリシーのタイプを指定するには、値を Policy に設定します。
metadata.name
必須
ポリシーリソースを識別する名前。
metadata.namespace
必須
ポリシーの namespace。
spec.remediationAction
任意
ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。
spec.disabled
必須
この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。
spec.policy-templates[].objectDefinition
必須
マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。
Show more
Pod セキュリティーポリシーのサポートは、OpenShift Container Platform 4.13 以降、および Kubernetes v1.25 以降から削除されました。PodSecurityPolicy リソースを適用すると、次の非準拠メッセージを受け取る場合があります。
violation - couldn't find mapping resource with kind PodSecurityPolicy, please check if you have CRD deployed
violation - couldn't find mapping resource with kind PodSecurityPolicy, please check if you have CRD deployed
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Kubernetes 設定ポリシーコントローラーは、ロールポリシーのステータスを監視します。object-template にロールを定義して、クラスター内の特定ロールのルールおよびパーミッションを設定します。
以下のセクションでは、ロールポリシーの設定を説明します。
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name:
namespace:
annotations:
policy.open-cluster-management.io/standards:
policy.open-cluster-management.io/categories:
policy.open-cluster-management.io/controls:
policy.open-cluster-management.io/description:
spec:
remediationAction:
disabled:
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name:
spec:
remediationAction:
severity:
namespaceSelector:
exclude:
include:
matchLabels:
matchExpressions:
object-templates:
- complianceType:
objectDefinition:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name:
rules:
- apiGroups:
resources:
verbs:
...
apiVersion : policy.open- cluster- management.io/v1
kind : Policy
metadata :
name :
namespace :
annotations :
policy.open-cluster-management.io/standards :
policy.open-cluster-management.io/categories :
policy.open-cluster-management.io/controls :
policy.open-cluster-management.io/description :
spec :
remediationAction :
disabled :
policy-templates :
- objectDefinition :
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name :
spec :
remediationAction :
severity :
namespaceSelector :
exclude :
include :
matchLabels :
matchExpressions :
object-templates :
- complianceType :
objectDefinition :
apiVersion : rbac.authorization.k8s.io/v1
kind : Role
metadata :
name :
rules :
- apiGroups :
resources :
verbs :
...
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Expand 表2.10 パラメーターの表 フィールド 任意または必須 説明
apiVersion
必須
この値は policy.open-cluster-management.io/v1 に設定します。
kind
必須
ポリシーのタイプを指定するには、値を Policy に設定します。
metadata.name
必須
ポリシーリソースを識別する名前。
metadata.namespace
必須
ポリシーの namespace。
spec.remediationAction
任意
ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。
spec.disabled
必須
この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。
spec.policy-templates[].objectDefinition
必須
マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。
Show more
Kubernetes 設定ポリシーコントローラーは、Role Binding ポリシーのステータスを監視します。Role Binding ポリシーを適用し、ポリシーをマネージドクラスターの namespace にバインドします。
以下のセクションでは namespace ポリシーの設定を説明します。
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name:
namespace:
annotations:
policy.open-cluster-management.io/standards:
policy.open-cluster-management.io/categories:
policy.open-cluster-management.io/controls:
policy.open-cluster-management.io/description:
spec:
remediationAction:
disabled:
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name:
spec:
remediationAction:
severity:
namespaceSelector:
exclude:
include:
matchLabels:
matchExpressions:
object-templates:
- complianceType:
objectDefinition:
kind: RoleBinding # role binding must exist
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name:
subjects:
- kind:
name:
apiGroup:
roleRef:
kind:
name:
apiGroup:
...
apiVersion : policy.open- cluster- management.io/v1
kind : Policy
metadata :
name :
namespace :
annotations :
policy.open-cluster-management.io/standards :
policy.open-cluster-management.io/categories :
policy.open-cluster-management.io/controls :
policy.open-cluster-management.io/description :
spec :
remediationAction :
disabled :
policy-templates :
- objectDefinition :
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name :
spec :
remediationAction :
severity :
namespaceSelector :
exclude :
include :
matchLabels :
matchExpressions :
object-templates :
- complianceType :
objectDefinition :
kind : RoleBinding
apiVersion : rbac.authorization.k8s.io/v1
metadata :
name :
subjects :
- kind :
name :
apiGroup :
roleRef :
kind :
name :
apiGroup :
...
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Expand フィールド 任意または必須 説明
apiVersion
必須
この値は policy.open-cluster-management.io/v1 に設定します。
kind
必須
ポリシーのタイプを指定するには、値を Policy に設定します。
metadata.name
必須
ポリシーリソースを識別する名前。
metadata.namespace
必須
ポリシーの namespace。
spec.remediationAction
任意
ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。
spec.disabled
必須
この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。
spec.policy-templates[].objectDefinition
必須
マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。
Show more
Kubernetes 設定ポリシーコントローラーは、Security Context Constraints ポリシーのステータスを監視します。Security Context Constraints (SCC) ポリシーを適用し、ポリシーで条件を定義して Pod のパーミッションを制御します。
以下のセクションで、SCC ポリシーの詳細を説明します。
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name:
namespace:
annotations:
policy.open-cluster-management.io/standards:
policy.open-cluster-management.io/categories:
policy.open-cluster-management.io/controls:
policy.open-cluster-management.io/description:
spec:
remediationAction:
disabled:
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name:
spec:
remediationAction:
severity:
namespaceSelector:
exclude:
include:
matchLabels:
matchExpressions:
object-templates:
- complianceType:
objectDefinition:
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
name:
allowHostDirVolumePlugin:
allowHostIPC:
allowHostNetwork:
allowHostPID:
allowHostPorts:
allowPrivilegeEscalation:
allowPrivilegedContainer:
fsGroup:
readOnlyRootFilesystem:
requiredDropCapabilities:
runAsUser:
seLinuxContext:
supplementalGroups:
users:
volumes:
...
apiVersion : policy.open- cluster- management.io/v1
kind : Policy
metadata :
name :
namespace :
annotations :
policy.open-cluster-management.io/standards :
policy.open-cluster-management.io/categories :
policy.open-cluster-management.io/controls :
policy.open-cluster-management.io/description :
spec :
remediationAction :
disabled :
policy-templates :
- objectDefinition :
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name :
spec :
remediationAction :
severity :
namespaceSelector :
exclude :
include :
matchLabels :
matchExpressions :
object-templates :
- complianceType :
objectDefinition :
apiVersion : security.openshift.io/v1
kind : SecurityContextConstraints
metadata :
name :
allowHostDirVolumePlugin :
allowHostIPC :
allowHostNetwork :
allowHostPID :
allowHostPorts :
allowPrivilegeEscalation :
allowPrivilegedContainer :
fsGroup :
readOnlyRootFilesystem :
requiredDropCapabilities :
runAsUser :
seLinuxContext :
supplementalGroups :
users :
volumes :
...
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Expand フィールド 任意または必須 説明
apiVersion
必須
この値は policy.open-cluster-management.io/v1 に設定します。
kind
必須
ポリシーのタイプを指定するには、値を Policy に設定します。
metadata.name
必須
ポリシーリソースを識別する名前。
metadata.namespace
必須
ポリシーの namespace。
spec.remediationAction
任意
ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。
spec.disabled
必須
この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。
spec.policy-templates[].objectDefinition
必須
マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。
Show more
SCC ポリシーの内容の説明は、OpenShift Container Platform ドキュメントの Security Context Constraints の管理 を参照してください。
etcd-encryption ポリシーを適用して、ETCD データストアで機密データを検出するか、機密データの暗号化を有効にします。Kubernetes 設定ポリシーコントローラーは、etcd-encryption ポリシーのステータスを監視します。詳細は、OpenShift Container Platform ドキュメントの etcd データの暗号化 を参照してください。注記 : ETCD 暗号化ポリシーは、Red Hat OpenShift Container Platform 4 以降のみをサポートします。
以下のセクションでは、etcd-encryption ポリシーの設定を説明します。
etcd-encryption ポリシーは、以下の YAML ファイルのようになります。
apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
name:
namespace:
annotations:
policy.open-cluster-management.io/standards:
policy.open-cluster-management.io/categories:
policy.open-cluster-management.io/controls:
policy.open-cluster-management.io/description:
spec:
remediationAction:
disabled:
policy-templates:
- objectDefinition:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name:
spec:
remediationAction:
severity:
object-templates:
- complianceType:
objectDefinition:
apiVersion: config.openshift.io/v1
kind: APIServer
metadata:
name:
spec:
encryption:
...
apiVersion : policy.open- cluster- management.io/v1
kind : Policy
metadata :
name :
namespace :
annotations :
policy.open-cluster-management.io/standards :
policy.open-cluster-management.io/categories :
policy.open-cluster-management.io/controls :
policy.open-cluster-management.io/description :
spec :
remediationAction :
disabled :
policy-templates :
- objectDefinition :
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name :
spec :
remediationAction :
severity :
object-templates :
- complianceType :
objectDefinition :
apiVersion : config.openshift.io/v1
kind : APIServer
metadata :
name :
spec :
encryption :
...
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Expand 表2.11 パラメーターの表 フィールド 任意または必須 説明
apiVersion
必須
この値は policy.open-cluster-management.io/v1 に設定します。
kind
必須
ポリシーのタイプを指定するには、値を Policy に設定します。
metadata.name
必須
ポリシーリソースを識別する名前。
metadata.namespace
必須
ポリシーの namespace。
spec.remediationAction
任意
ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。
spec.disabled
必須
この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。
spec.policy-templates[].objectDefinition
必須
マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。
Show more
Compliance Operator を使用すると、多数の技術実装の検査を自動化し、それらを業界標準、ベンチマーク、およびベースラインの特定の側面と比較できます。Compliance Operator は監査人ではありません。このようなさまざまな標準に対する準拠または認定を実現するには、Qualified Security Assessor (QSA)、Joint Authorization Board (JAB)、または業界で認められたその他の規制当局など、認定監査機関と協力して、環境を評価する必要があります。
Compliance Operator から生成される推奨事項は、そのような標準に関する一般に利用可能な情報と実践に基づいており、修復に役立つ可能性がありますが、実際のコンプライアンスはユーザーの責任となります。認定監査人と協力して標準への準拠を実現します。
最新の更新は、Compliance Operator リリースノート を参照してください。
Compliance Operator ポリシーを使用して、マネージドクラスターに Compliance Operator をインストールできます。Compliance Operator ポリシーは、Kubernetes 設定ポリシーとして Red Hat Advanced Cluster Management に作成されます。OpenShift Container Platform は、Compliance Operator ポリシーをサポートします。
注記: Compliance Operator ポリシー は、IBM Power または IBM Z アーキテクチャーではサポートされていない OpenShift Container Platform Compliance Operator に依存します。Compliance Operator の詳細は、OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。
Compliance Operator ポリシーを作成すると、次のリソースが作成されます。
Operator インストール用の Compliance Operator namespace (openshift-compliance):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: comp-operator-ns
spec:
remediationAction: inform # will be overridden by remediationAction in parent policy
severity: high
object-templates:
- complianceType: musthave
objectDefinition:
apiVersion: v1
kind: Namespace
metadata:
name: openshift-compliance
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : comp- operator- ns
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : v1
kind : Namespace
metadata :
name : openshift- compliance
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
対象の namespace を指定する Operator グループ (compliance-operator):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: comp-operator-operator-group
spec:
remediationAction: inform # will be overridden by remediationAction in parent policy
severity: high
object-templates:
- complianceType: musthave
objectDefinition:
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: compliance-operator
namespace: openshift-compliance
spec:
targetNamespaces:
- openshift-compliance
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : comp- operator- operator- group
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : operators.coreos.com/v1
kind : OperatorGroup
metadata :
name : compliance- operator
namespace : openshift- compliance
spec :
targetNamespaces :
- openshift- compliance
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
名前とチャネルを参照するためのサブスクリプション (comp-operator-subscription)。サブスクリプションは、サポートするプロファイルをコンテナーとしてプルします。以下のサンプルを参照してください。4.x は、現在のバージョンに置き換えます。
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: comp-operator-subscription
spec:
remediationAction: inform # will be overridden by remediationAction in parent policy
severity: high
object-templates:
- complianceType: musthave
objectDefinition:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: compliance-operator
namespace: openshift-compliance
spec:
channel: "4.x"
installPlanApproval: Automatic
name: compliance-operator
source: redhat-operators
sourceNamespace: openshift-marketplace
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : comp- operator- subscription
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : operators.coreos.com/v1alpha1
kind : Subscription
metadata :
name : compliance- operator
namespace : openshift- compliance
spec :
channel : "4.x"
installPlanApproval : Automatic
name : compliance- operator
source : redhat- operators
sourceNamespace : openshift- marketplace
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Compliance Operator ポリシーをインストールすると、compliance-operator、ocp4、および rhcos4 の Pod が作成されます。policy-compliance-operator-install.yaml のサンプルを参照してください。
Essential 8 (E8) スキャンポリシーは、マスターノードとワーカーノードが E8 セキュリティープロファイルに準拠しているかどうかを確認するスキャンをデプロイします。E8 スキャンポリシーを適用するには、Compliance Operator をインストールする必要があります。
E8 スキャンポリシーは、Kubernetes 設定ポリシーとして Red Hat Advanced Cluster Management に作成されます。OpenShift Container Platform は E8 スキャンポリシーをサポートします。詳細は、OpenShift Container Platform ドキュメントの Compliance Operator の管理 を参照してください。
E8 スキャンポリシーを作成すると、次のリソースが作成されます。
スキャンするプロファイルを特定する ScanSettingBinding リソース (e8):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: compliance-suite-e8
spec:
remediationAction: inform
severity: high
object-templates:
- complianceType: musthave # this template checks if scan has completed by checking the status field
objectDefinition:
apiVersion: compliance.openshift.io/v1alpha1
kind: ScanSettingBinding
metadata:
name: e8
namespace: openshift-compliance
profiles:
- apiGroup: compliance.openshift.io/v1alpha1
kind: Profile
name: ocp4-e8
- apiGroup: compliance.openshift.io/v1alpha1
kind: Profile
name: rhcos4-e8
settingsRef:
apiGroup: compliance.openshift.io/v1alpha1
kind: ScanSetting
name: default
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : compliance- suite- e8
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : compliance.openshift.io/v1alpha1
kind : ScanSettingBinding
metadata :
name : e8
namespace : openshift- compliance
profiles :
- apiGroup : compliance.openshift.io/v1alpha1
kind : Profile
name : ocp4- e8
- apiGroup : compliance.openshift.io/v1alpha1
kind : Profile
name : rhcos4- e8
settingsRef :
apiGroup : compliance.openshift.io/v1alpha1
kind : ScanSetting
name : default
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
status フィールドを確認してスキャンが完了したかどうかを確認する ComplianceSuite リソース (compliance-suite-e8):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: compliance-suite-e8
spec:
remediationAction: inform
severity: high
object-templates:
- complianceType: musthave # this template checks if scan has completed by checking the status field
objectDefinition:
apiVersion: compliance.openshift.io/v1alpha1
kind: ComplianceSuite
metadata:
name: e8
namespace: openshift-compliance
status:
phase: DONE
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : compliance- suite- e8
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : compliance.openshift.io/v1alpha1
kind : ComplianceSuite
metadata :
name : e8
namespace : openshift- compliance
status :
phase : DONE
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ComplianceCheckResult カスタムリソース (CR) を確認してスキャンスイートの結果を報告する ComplianceCheckResult リソース (compliance-suite-e8-results):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: compliance-suite-e8-results
spec:
remediationAction: inform
severity: high
object-templates:
- complianceType: mustnothave # this template reports the results for scan suite: e8 by looking at ComplianceCheckResult CRs
objectDefinition:
apiVersion: compliance.openshift.io/v1alpha1
kind: ComplianceCheckResult
metadata:
namespace: openshift-compliance
labels:
compliance.openshift.io/check-status: FAIL
compliance.openshift.io/suite: e8
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : compliance- suite- e8- results
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : mustnothave
objectDefinition :
apiVersion : compliance.openshift.io/v1alpha1
kind : ComplianceCheckResult
metadata :
namespace : openshift- compliance
labels :
compliance.openshift.io/check-status : FAIL
compliance.openshift.io/suite : e8
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
注記: 自動修復はサポート対象です。ScanSettingBinding リソースを作成するには修復アクションを enforce に設定します。
policy-compliance-operator-e8-scan.yaml のサンプルを参照してください。詳細は、セキュリティーポリシーの管理 を参照してください。注記: E8 ポリシーの削除後に、これはターゲットクラスターから削除されます。
OpenShift CIS スキャンポリシーは、マスターとワーカーノードをチェックして、OpenShift CIS セキュリティーベンチマークに準拠しているかどうかを確認するスキャンをデプロイします。OpenShift CIS ポリシーを適用するには、Compliance Operator をインストールする必要があります。
OpenShift CIS ポリシーは、Kubernetes 設定ポリシーとして Red Hat Advanced Cluster Management に作成されます。OpenShift Container Platform では、OpenShift CIS スキャンポリシーがサポートされます。詳細は、OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。
OpenShift CIS スキャンポリシーを作成すると、次のリソースが作成されます。
スキャンするプロファイルを特定する ScanSettingBinding リソース (cis):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: compliance-cis-scan
spec:
remediationAction: inform
severity: high
object-templates:
- complianceType: musthave # this template creates ScanSettingBinding:cis
objectDefinition:
apiVersion: compliance.openshift.io/v1alpha1
kind: ScanSettingBinding
metadata:
name: cis
namespace: openshift-compliance
profiles:
- apiGroup: compliance.openshift.io/v1alpha1
kind: Profile
name: ocp4-cis
- apiGroup: compliance.openshift.io/v1alpha1
kind: Profile
name: ocp4-cis-node
settingsRef:
apiGroup: compliance.openshift.io/v1alpha1
kind: ScanSetting
name: default
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : compliance- cis- scan
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : compliance.openshift.io/v1alpha1
kind : ScanSettingBinding
metadata :
name : cis
namespace : openshift- compliance
profiles :
- apiGroup : compliance.openshift.io/v1alpha1
kind : Profile
name : ocp4- cis
- apiGroup : compliance.openshift.io/v1alpha1
kind : Profile
name : ocp4- cis- node
settingsRef :
apiGroup : compliance.openshift.io/v1alpha1
kind : ScanSetting
name : default
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
status フィールドを確認してスキャンが完了したかどうかを確認する ComplianceSuite リソース (compliance-suite-cis):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: compliance-suite-cis
spec:
remediationAction: inform
severity: high
object-templates:
- complianceType: musthave # this template checks if scan has completed by checking the status field
objectDefinition:
apiVersion: compliance.openshift.io/v1alpha1
kind: ComplianceSuite
metadata:
name: cis
namespace: openshift-compliance
status:
phase: DONE
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : compliance- suite- cis
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : compliance.openshift.io/v1alpha1
kind : ComplianceSuite
metadata :
name : cis
namespace : openshift- compliance
status :
phase : DONE
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ComplianceCheckResult カスタムリソース (CR) を確認してスキャンスイートの結果を報告する ComplianceCheckResult リソース (compliance-suite-cis-results):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: compliance-suite-cis-results
spec:
remediationAction: inform
severity: high
object-templates:
- complianceType: mustnothave # this template reports the results for scan suite: cis by looking at ComplianceCheckResult CRs
objectDefinition:
apiVersion: compliance.openshift.io/v1alpha1
kind: ComplianceCheckResult
metadata:
namespace: openshift-compliance
labels:
compliance.openshift.io/check-status: FAIL
compliance.openshift.io/suite: cis
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : compliance- suite- cis- results
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : mustnothave
objectDefinition :
apiVersion : compliance.openshift.io/v1alpha1
kind : ComplianceCheckResult
metadata :
namespace : openshift- compliance
labels :
compliance.openshift.io/check-status : FAIL
compliance.openshift.io/suite : cis
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
policy-compliance-operator-cis-scan.yaml ファイルのサンプルを参照してください。ポリシーの作成に関する詳細は、セキュリティーポリシーの管理 を参照してください。
イメージ脆弱性ポリシーを適用し、コンテナーセキュリティー Operator を利用してコンテナーイメージに脆弱性があるかどうかを検出します。このポリシーは、コンテナーセキュリティー Operator がインストールされていない場合は、これをマネージドクラスターにインストールします。
イメージ脆弱性ポリシーは、Kubernetes 設定ポリシーコントローラーがチェックします。セキュリティー Operator の詳細は、Quay リポジトリー の コンテナーセキュリティー Operator を参照してください。
注記:
詳細は、以下のセクションを参照してください。
コンテナーセキュリティー operator ポリシーを作成すると、次のポリシーが含まれます。
名前とチャネルを参照するサブスクリプション (container-security-operator) を作成するポリシー。この設定ポリシーには、リソースを作成するために enforce する spec.remediationAction が設定されている必要があります。サブスクリプションは、サブスクリプションがサポートするプロファイルをコンテナーとしてプルします。以下の例を参照してください。
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: policy-imagemanifestvuln-example-sub
spec:
remediationAction: enforce # will be overridden by remediationAction in parent policy
severity: high
object-templates:
- complianceType: musthave
objectDefinition:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: container-security-operator
namespace: openshift-operators
spec:
# channel: quay-v3.3 # specify a specific channel if desired
installPlanApproval: Automatic
name: container-security-operator
source: redhat-operators
sourceNamespace: openshift-marketplace
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : policy- imagemanifestvuln- example- sub
spec :
remediationAction : enforce
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : operators.coreos.com/v1alpha1
kind : Subscription
metadata :
name : container- security- operator
namespace : openshift- operators
spec :
installPlanApproval : Automatic
name : container- security- operator
source : redhat- operators
sourceNamespace : openshift- marketplace
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
コンテナーセキュリティー operator のインストールが成功したことを確認するために ClusterServiceVersion を監査するための inform 設定ポリシー。以下の例を参照してください。
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: policy-imagemanifestvuln-status
spec:
remediationAction: inform # will be overridden by remediationAction in parent policy
severity: high
object-templates:
- complianceType: musthave
objectDefinition:
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
namespace: openshift-operators
spec:
displayName: Red Hat Quay Container Security Operator
status:
phase: Succeeded # check the CSV status to determine if operator is running or not
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : policy- imagemanifestvuln- status
spec :
remediationAction : inform
severity : high
object-templates :
- complianceType : musthave
objectDefinition :
apiVersion : operators.coreos.com/v1alpha1
kind : ClusterServiceVersion
metadata :
namespace : openshift- operators
spec :
displayName : Red Hat Quay Container Security Operator
status :
phase : Succeeded
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ImageManifestVuln オブジェクトがイメージの脆弱性スキャンによって作成されたかどうかを監査する inform 設定ポリシー。以下の例を参照してください。
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: policy-imagemanifestvuln-example-imv
spec:
remediationAction: inform # will be overridden by remediationAction in parent policy
severity: high
namespaceSelector:
exclude: ["kube-*"]
include: ["*"]
object-templates:
- complianceType: mustnothave # mustnothave any ImageManifestVuln object
objectDefinition:
apiVersion: secscan.quay.redhat.com/v1alpha1
kind: ImageManifestVuln # checking for a Kind
apiVersion : policy.open- cluster- management.io/v1
kind : ConfigurationPolicy
metadata :
name : policy- imagemanifestvuln- example- imv
spec :
remediationAction : inform
severity : high
namespaceSelector :
exclude : [ "kube-*" ]
include : [ "*" ]
object-templates :
- complianceType : mustnothave
objectDefinition :
apiVersion : secscan.quay.redhat.com/v1alpha1
kind : ImageManifestVuln
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
OpenShift Platform Plus ポリシーセット (openshift-plus) を設定して適用し、Red Hat OpenShift Platform Plus をインストールします。
OpenShift Platform Plus ポリシーセットには、デプロイされる 2 つの PolicySets が含まれます。OpenShift Plus ポリシーセットは、OpenShift Platform Plus 製品をインストールするために設定された複数のポリシーを適用します。Red Hat Advanced Cluster Security で保護されたクラスターサービスと Compliance Operator は、すべての OpenShift Container Platform マネージドクラスターにデプロイされます。
Red Hat OpenShift Container Platform 4.13 以降を Amazon Web Services (AWS) 環境にインストールする。
Red Hat Advanced Cluster Management for Kubernetes 2.7 以降をインストールする。
Policy Generator Kustomize プラグインをインストールする。詳細は、ポリシージェネレーター のドキュメントを参照してください。
ポリシーセットをハブクラスターに適用すると、次の OpenShift Platform Plus コンポーネントがインストールされます。
Expand 表2.12 コンポーネントテーブル コンポーネント ポリシー 説明
Red Hat Advanced Cluster Security
policy-acs-central-ca-bundle
中央サーバーを Red Hat Advanced Cluster Management for Kubernetes ハブクラスターおよびマネージドクラスターにインストールするために使用されるポリシー。
policy-acs-central-status
Red Hat Advanced Cluster Security ステータスを受け取るためのデプロイメント。
policy-acs-operator-central
Red Hat Advanced Cluster Security 中央 operator の設定
policy-acs-sync-resources
Red Hat Advanced Cluster Security リソースが作成されていることを確認します。
OpenShift Container Platform
policy-advanced-managed-cluster-status
マネージドハブクラスター。マネージドクラスターのマネージャー。
Compliance Operator
policy-compliance-operator-install
Compliance operator のインストールに使用されるポリシー。
Red Hat Quay
policy-config-quay
Red Hat Quay の設定ポリシー。
policy-install-quay
Red Hat Quay のインストールに使用されるポリシー。
policy-quay-status
Red Hat Advanced Cluster Management ハブクラスターにインストールされます。
Red Hat Advanced Cluster Management
policy-ocm-observability
Red Hat Advanced Cluster Management 可観測性サービスをセットアップします。
Red Hat OpenShift Data Platform
policy-odf
Red Hat Advanced Cluster Management の可観測性と Quay によって使用される、ハブクラスターコンポーネント用の利用可能なストレージ。
policy-odf-status
Red Hat OpenShift Data Platform のステータスを設定するために使用されるポリシー。
Show more