Confluent ロールベースアクセス制御の管理

Confluent for Kubernetes (CFK)には、ConfluentRoleBinding カスタムリソース定義(CRD)が用意されています。ConfluentRoleBinding CRD を使用すると、Kubernetes のカスタムリソース(CR)としてのユーザーとグループの Confluent ロールベースアクセス制御(RBAC) を宣言的に作成し、管理することができます。

ロールバインディングのカスタムリソースの例については、GitHub の ロールバインディングのサンプル を参照してください。

要件

ConfluentRoleBinding CR を使用してロールバインディングを作成する前に、次の要件を満たす必要があります。

ロールバインディングの作成

  1. ConfluentRoleBinding CR を作成します。

    以下に、CR の構造を示します。

    spec:
      principal:                  --- [1]
        type:                     --- [2]
        name:                     --- [3]
      role:                       --- [4]
      resourcePatterns:           --- [5]
        - name:                   --- [6]
          resourceType:           --- [7]
          patternType:            --- [8]
      clustersScopeByIds:         --- [9]
        kafkaClusterId:
        schemaRegistryClusterId:
        ksqlClusterId:
        connectClusterId:
      clustersScopByRegistryName: --- [10]
      kafkaRestClassRef:          --- [11]
        name:                     --- [12]
        namespace:                --- [13]
    
    • [1](必須)このロールバインディングが作成されたユーザーまたはグループの ID。
    • [2](必須) プリンシパルのタイプ。user または group に設定します。
    • [3](必須)プリンシパルの名前。
    • [4](必須)事前に定義されたロール名。使用できる事前定義済みロールについては、「Confluent RBAC 事前定義ロール」を参照してください。
    • [5](省略可)このロールバインディングに関連付けられ、要件を満たしているリソース。
    • [6](必須)このロールバインディングに関連付けられたリソースの名前。
    • [7](必須)リソースのタイプ。
    • [8](省略可)リソースのパターンが、PREFIXEDLITERAL のどちらであるかを指定します。指定しない場合は、デフォルトで LITERAL が使用されます。
    • [9](省略可)クラスター ID のスコープ。クラスター名([10])、またはスコープ ID(kafkaClusterIdschemaRegistryClusterIdksqlClusterIdconnectClusterId のいずれか)を指定できます。
    • [10](省略可)`クラスターレジストリ <https://docs.confluent.io/platform/current/security/cluster-registry.html#cluster-registry-and-mds>`__ に登録されたクラスター名。これにより、このロールバインディングのクラスターが一意に識別されます。
    • [11](省略可)Confluent REST API の構成を定義する KafkaRestClass の CR。構成しない場合は、デフォルトで KafkaRestClass が使用されます。
    • [12] kafkaRestClassRef ([11])で必須。KafkaRestClass の CR の名前。
    • [13](省略可)省略すると、この ConfluentRoleBinding CR と同じ名前空間が使用されます。
  2. ConfluentRoleBinding CR を適用します。

    kubectl apply -f <ConfluentRolebinding CR>
    

ロールバインディングのアップデート

プリンシパルとロールは、ConfluentRoleBinding CR ではアップデートできません。

When you use Confluent CLI or other ways to update/delete rolebindings, CFK will resync the corresponding ConfluentRoleBinding CR.

ロールバインディングをアップデートするには、ConfluentRoleBinding CR を編集し、kubectl apply コマンドを使用して変更を適用します。

ロールバインディングのステータスの表示

ロールバインディングの現在のステータスを表示するには、以下のコマンドを実行します。

kubectl describe confluentrolebinding <ConfluentRolebinding CR>

ロールバインディングの削除

ロールバインディングを削除するには、以下のコマンドを実行します。

kubectl delete -f <ConfluentRolebinding CR>

すべてのロールバインディングの表示

すべての Confluent ロールバインディングを表示するには、次のコマンドを実行します。

kubectl get cfrb/confluentrolebinding

出力には、各ロールバインディングの以下の情報とともに、すべての Confluent ロールバインディングの一覧が含まれます。

  • 名前
  • ステータス
  • クラスター ID
  • プリンシパル
  • ロール
  • リソース