4.9.4.3. 昇格された権限で実行するためのカタログの設定
SQLite データベースカタログイメージを更新したり、カタログをファイルベースのカタログ形式に移行したりしたくない場合は、次のアクションを実行して、デフォルトの Pod セキュリティー適用が制限付きに変更されたときにカタログソースが確実に実行されるようにすることができます。
- カタログソース定義でカタログセキュリティーモードをレガシーに手動で設定します。このアクションにより、デフォルトのカタログセキュリティーモードが制限付きに変更された場合でも、カタログが従来のアクセス許可で実行されることが保証されます。
- ベースラインまたは特権付き Pod のセキュリティー適用のために、カタログソースの namespace にラベルを付けます。
SQLite データベースカタログ形式は非推奨ですが、Red Hat では引き続きサポートされています。将来のリリースでは、SQLite データベース形式はサポートされなくなり、カタログはファイルベースのカタログ形式に移行する必要があります。ファイルベースのカタログは、制限付き Pod セキュリティー適用と互換性があります。
前提条件
- SQLite データベースカタログソースがある。
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 -
Pod Security Admission 標準が
baselineまたはprivilegedに昇格された実行中の Pod をサポートするターゲット namespace がある。
手順
次の例に示すように、
spec.grpcPodConfig.securityContextConfigラベルをlegacyに設定して、CatalogSource定義を編集します。CatalogSource定義の例apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: my-catsrc namespace: my-ns spec: sourceType: grpc grpcPodConfig: securityContextConfig: legacy image: my-image:latestヒントOpenShift Container Platform 4.20 では、
spec.grpcPodConfig.securityContextConfigフィールドはデフォルトでlegacyに設定されます。OpenShift Container Platform の将来のリリースでは、デフォルト設定がrestrictedに変更される予定です。カタログを制限付き適用で実行できない場合は、このフィールドを手動でlegacyに設定することを推奨します。次の例に示すように、
<namespace>.yamlファイルを編集して、上位の Pod Security Admission 標準をカタログソース namespace に追加します。<namespace>.yamlファイルの例apiVersion: v1 kind: Namespace metadata: ... labels: security.openshift.io/scc.podSecurityLabelSync: "false"1 openshift.io/cluster-monitoring: "true" pod-security.kubernetes.io/enforce: baseline2 name: "<namespace_name>"