5.2.3. カスタムロールバインディングを使用した拡張機能リソースへのユーザーアクセスの許可


クラスター管理者は、カスタムロールバインディングを使用して、ロールベースのアクセス制御 (RBAC) ポリシーを手動で作成および設定し、ユーザーに拡張機能リソースへのアクセス権を付与できます。

前提条件

  • クラスター拡張機能がクラスターにインストールされている。
  • API グループとリソース名のリストがある。「クラスター拡張機能によって公開される API グループとリソースの確認」の説明を参照してください。

手順

  1. インストールされたクラスター拡張機能にデフォルトのクラスターロールがない場合は、1 つ以上のロールを手動で作成します。

    1. 「ユーザー用の一般的なデフォルトクラスターロール」で説明されているロールセットのユースケースを検討します。

      たとえば、次の ClusterRole オブジェクト定義を 1 つ以上作成し、<cluster_extension_api_group><cluster_extension_custom_resource> を、インストールされたクラスター拡張機能によって提供される実際の API グループとリソース名に置き換えます。

      view-custom-resource.yaml ファイルの例

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: view-custom-resource
      rules:
      - apiGroups:
        - <cluster_extension_api_group>
        resources:
        - <cluster_extension_custom_resources>
        verbs:
        - get
        - list
        - watch

      edit-custom-resource.yaml ファイルの例

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: edit-custom-resource
      rules:
      - apiGroups:
        - <cluster_extension_api_group>
        resources:
        - <cluster_extension_custom_resources>
        verbs:
        - get
        - list
        - watch
        - create
        - update
        - patch
        - delete

      admin-custom-resource.yaml ファイルの例

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: admin-custom-resource
      rules:
      - apiGroups:
        - <cluster_extension_api_group>
        resources:
        - <cluster_extension_custom_resources>
        verbs:
        - '*' 
      1

      1
      verbs にワイルドカード (*) を設定すると、指定したリソースに対するすべてのアクションが許可されます。
    2. 作成した YAML ファイルに対して次のコマンドを実行して、クラスターロールを作成します。

      $ oc create -f <filename>.yaml
  2. クラスターロールを個々のユーザー名またはグループ名にバインドすることで、クラスターロールを特定のユーザーまたはグループに関連付け、リソースに対する必要な権限を付与します。

    1. すべての namespace へのアクセスを許可する クラスターロールバインディング、または特定の namespace 内でアクセスを許可する ロールバインディング のオブジェクト定義を作成します。

      • 次のクラスターロールバインディングの例では、すべての namespace のカスタムリソースに対する読み取り専用の view アクセスを許可します。

        ユーザーの ClusterRoleBinding オブジェクトの例

        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRoleBinding
        metadata:
          name: view-custom-resource-binding
        subjects:
        - kind: User
          name: <user_name>
        roleRef:
          kind: ClusterRole
          name: view-custom-resource
          apiGroup: rbac.authorization.k8s.io

        ユーザーの ClusterRoleBinding オブジェクトの例

        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRoleBinding
        metadata:
          name: view-custom-resource-binding
        subjects:
        - kind: Group
          name: <group_name>
        roleRef:
          kind: ClusterRole
          name: view-custom-resource
          apiGroup: rbac.authorization.k8s.io

      • 次のロールバインディングでは、edit 権限を特定の namespace に制限します。

        ユーザーの RoleBinding オブジェクトの例

        apiVersion: rbac.authorization.k8s.io/v1
        kind: RoleBinding
        metadata:
          name: edit-custom-resource-edit-binding
          namespace: <namespace>
        subjects:
        - kind: User
          name: <username>
        roleRef:
          kind: Role
          name: custom-resource-edit
          apiGroup: rbac.authorization.k8s.io

    2. オブジェクト定義を YAML ファイルに保存します。
    3. 以下のコマンドを実行してオブジェクトを作成します。

      $ oc create -f <filename>.yaml
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る