1.2. namespace 間でのシークレットの共有


クラスター内の namespace 間でシークレットを共有するには、Secret オブジェクトの SharedSecret カスタムリソース (CR) インスタンスを作成します。

前提条件

  • 他の namespace で共有する Secret オブジェクトを作成している。
  • 次の操作を実行するための権限がある。

    • クラスターにサブスクライブし、Insights Operator を通じてエンタイトルメントキーを同期する。
    • クラスタースコープレベルで sharedsecrets.sharedresource.openshift.io カスタムリソース定義 (CRD) のインスタンスを作成する。
    • SharedConfigMap CRClusterRole オブジェクトを作成する。
    • Shared Resource CSI Driver の Role オブジェクトと RoleBinding オブジェクトを作成する。
    • ユーザーを制御するために、クラスター内の namespace 全体でロールとロールバインディングを管理する。
    • ロールとロールバインディングを管理して、Pod によって指定されたサービスアカウントが、Secret または Configmap CR を参照する Container Storage Interface (CSI) ボリュームをマウントできるかどうかを制御する。
    • 共有するシークレットが含まれている namespace にアクセスする。

手順

  1. 次の例の設定を使用して、クラスター内の namespace 全体で参照される Secret を共有する SharedSecret インスタンスを作成します。

    apiVersion: sharedresource.openshift.io/v1alpha1
    kind: SharedSecret
    metadata:
      name: shared-test-secret 
    1
    
    spec:
      secretRef:
        name: test-secret
        namespace: <name_of_the_source_namespace>
    Copy to Clipboard
    1
    SharedSecret CR の名前を定義します。
  2. 次の設定例を使用して、参照される共有リソースを使用するための RBAC 権限を付与する ClusterRole オブジェクトを作成します。

    . apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: use-shared-test-secret 
    1
    
    rules:
      - apiGroups:
          - sharedresource.openshift.io
        resources:
          - sharedsecrets
        resourceNames:
          - shared-test-secret
        verbs:
          - use
    Copy to Clipboard
    1
    ClusterRole CR の名前を定義します。
  3. Shared Resources CSI Driver に SharedSecret オブジェクトへのアクセス権を付与する Role オブジェクトと RoleBinding オブジェクトを作成します。

    Role オブジェクトの例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: share-etc-pki-entitlement 
    1
    
      namespace: openshift-config-managed
    rules:
      - apiGroups:
          - ""
        resources:
          - secrets
        resourceNames:
          - etc-pki-entitlement
        verbs:
          - get
          - list
          - watch
    Copy to Clipboard

    1
    Role CR の名前を定義します。

    RoleBinding オブジェクトの例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: share-etc-pki-entitlement 
    1
    
      namespace: openshift-config-managed
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: share-etc-pki-entitlement 
    2
    
    subjects:
      - kind: ServiceAccount
        name: csi-driver-shared-resource 
    3
    
        namespace: openshift-builds
    Copy to Clipboard

    1
    RoleBinding CR の名前を定義します。
    2
    Role CR の名前を定義します。
    3
    ServiceAccount CR の名前を定義します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.