Confluent ロールベースアクセス制御の管理¶
Confluent for Kubernetes (CFK)には、ConfluentRoleBinding カスタムリソース定義(CRD)が用意されています。ConfluentRoleBinding CRD を使用すると、Kubernetes のカスタムリソース(CR)としてのユーザーとグループの Confluent ロールベースアクセス制御(RBAC) を宣言的に作成し、管理することができます。
ロールバインディングのカスタムリソースの例については、GitHub の ロールバインディングのサンプル を参照してください。
要件¶
ConfluentRoleBinding CR を使用してロールバインディングを作成する前に、次の要件を満たす必要があります。
Confluent Admin REST API をセットアップ します。
Confluent のロールバインディングは Admin REST APIs を使用して作成され、管理されます。また、Admin REST APIs が Confluent Platform クラスターで実行されている必要があります。
ロールバインディングの作成¶
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](省略可)リソースのパターンが、
PREFIXED
とLITERAL
のどちらであるかを指定します。指定しない場合は、デフォルトでLITERAL
が使用されます。 - [9](省略可)クラスター ID のスコープ。クラスター名([10])、またはスコープ ID(
kafkaClusterId
、schemaRegistryClusterId
、ksqlClusterId
、connectClusterId
のいずれか)を指定できます。 - [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 と同じ名前空間が使用されます。
ConfluentRoleBinding CR を適用します。
kubectl apply -f <ConfluentRolebinding CR>
ロールバインディングのアップデート¶
プリンシパルとロールは、ConfluentRoleBinding CR ではアップデートできません。
Confluent CLI または他の方法でロールバインディングのアップデート/削除を行うと、対応する ConfluentRoleBinding CR が CFK によって再同期されます。
ロールバインディングをアップデートするには、ConfluentRoleBinding CR を編集し、kubectl apply
コマンドを使用して変更を適用します。
ロールバインディングのステータスの表示¶
ロールバインディングの現在のステータスを表示するには、以下のコマンドを実行します。
kubectl describe confluentrolebinding <ConfluentRolebinding CR>
すべてのロールバインディングの表示¶
すべての Confluent ロールバインディングを表示するには、次のコマンドを実行します。
kubectl get cfrb/confluentrolebinding
出力には、各ロールバインディングの以下の情報とともに、すべての Confluent ロールバインディングの一覧が含まれます。
- 名前
- ステータス
- クラスター ID
- プリンシパル
- ロール
- リソース