このトピックでは、Confluent CLI を使用したロールベースアクセス制御 (RBAC) 権限付与の一般的な例について説明します。
クラスターとリソースタイプ
次の表は、ApsaraMQ for Confluent のクラスタータイプとそれに対応するリソースタイプを示しています。
クラスタータイプ | リソースタイプ |
Kafka | |
KSQL | |
スキーマレジストリ | |
Connect | |
Kafka
Kafka には、Cluster、Group、Topic、Transactional ID というリソースタイプがあります。
クラスター
Kafka クラスターには、次のロールを設定できます。
AuditAdmin
ClusterAdmin
DeveloperManage
DeveloperWrite
Operator
ResourceOwner
SecurityAdmin
SystemAdmin
UserAdmin
例 1:Kafka クラスターの SystemAdmin ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role SystemAdmin --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role SystemAdmin --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role SystemAdmin --kafka-cluster <kafka-cluster-id>例 2:Kafka クラスターの ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource Cluster:kafka-cluster --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --resource Cluster:kafka-cluster --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource Cluster:kafka-cluster --kafka-cluster <kafka-cluster-id>グループ
Kafka グループには、次のロールを設定できます。
DeveloperManage
DeveloperRead
ResourceOwner
例 1:test_group グループの DeveloperRead ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role DeveloperRead --resource Group:group_test --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role DeveloperRead --resource Group:group_test --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role DeveloperRead --resource Group:group_test --kafka-cluster <kafka-cluster-id>例 2:demo というプレフィックスが付いた Kafka グループの ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource Group:demo --prefix --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource Group:demo --prefix --kafka-cluster <kafka-cluster-id>例 3:すべての Kafka グループの ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource Group:* --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --resource Group:* --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource Group:* --kafka-cluster <kafka-cluster-id>トピック
Kafka トピックには、次のロールを設定できます。
DeveloperManage
DeveloperRead
DeveloperWrite
ResourceOwner
例 1:test_topic トピックの DeveloperWrite ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role DeveloperWrite --resource Topic:test_topic --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role DeveloperWrite --resource Topic:test_topic --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role DeveloperWrite --resource Topic:test_topic --kafka-cluster <kafka-cluster-id>例 2:demo というプレフィックスが付いた Kafka トピックの ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource Topic:demo --prefix --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --resource Topic:demo --prefix --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource Topic:demo --prefix --kafka-cluster <kafka-cluster-id>例 3:すべての Kafka トピックの ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource Topic:* --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --resource Topic:* --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource Topic:* --kafka-cluster <kafka-cluster-id>トランザクション ID
Kafka トランザクション ID には、次のロールを設定できます。
DeveloperManage
DeveloperRead
DeveloperWrite
ResourceOwner
例:すべての Kafka トランザクション ID の ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource TransactionalId:* --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --resource TransactionalId:* --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource TransactionalId:* --kafka-cluster <kafka-cluster-id>KSQL
KSQL には、Cluster リソースタイプのみが含まれます。
クラスター
KSQL クラスターには、次のロールを設定できます。
AuditAdmin
ClusterAdmin
DeveloperManage
DeveloperWrite
Operator
ResourceOwner
SecurityAdmin
SystemAdmin
UserAdmin
例:KSQL クラスターの ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource KsqlCluster:ksql-cluster --ksql-cluster <ksql-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --resource KsqlCluster:ksql-cluster --ksql-cluster <ksql-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource KsqlCluster:ksql-cluster --ksql-cluster <ksql-cluster-id> --kafka-cluster <kafka-cluster-id>スキーマレジストリ
スキーマレジストリには、Cluster と Subject というリソースタイプがあります。
クラスター
スキーマレジストリクラスターには、次のロールを設定できます。
AuditAdmin
ClusterAdmin
Operator
SecurityAdmin
SystemAdmin
UserAdmin
例:スキーマレジストリクラスターの SystemAdmin ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role SystemAdmin --schema-registry-cluster <schema-registry-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role SystemAdmin --schema-registry-cluster <schema-registry-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role SystemAdmin --schema-registry-cluster <schema-registry-cluster-id> --kafka-cluster <kafka-cluster-id>サブジェクト
スキーマレジストリサブジェクトには、次のロールを設定できます。
DeveloperManage
DeveloperRead
DeveloperWrite
ResourceOwner
例:すべてのスキーマレジストリサブジェクトの ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource Subject:* --schema-registry-cluster <schema-registry-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --resource Subject:* --schema-registry-cluster <schema-registry-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource Subject:* --schema-registry-cluster <schema-registry-cluster-id> --kafka-cluster <kafka-cluster-id>Connect
Connect には、Cluster と Connector というリソースタイプがあります。
クラスター
Connect クラスターには、次のロールを設定できます。
AuditAdmin
ClusterAdmin
Operator
SecurityAdmin
SystemAdmin
UserAdmin
例:Connect クラスターの SystemAdmin ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role SystemAdmin --connect-cluster <connect-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role SystemAdmin --connect-cluster <connect-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role SystemAdmin --connect-cluster <connect-cluster-id> --kafka-cluster <kafka-cluster-id>コネクタ
Connect コネクタには、次のロールを設定できます。
DeveloperManage
DeveloperRead
DeveloperWrite
ResourceOwner
例:すべての Connect コネクタの ResourceOwner ロールに含まれる権限を test ユーザーに付与する
# 権限付与を作成します。
confluent iam rbac role-binding create --principal User:test --role ResourceOwner --resource Connector:* --connect-cluster <connect-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を表示します。
confluent iam rbac role-binding list --principal User:test --role ResourceOwner --resource Connector:* --connect-cluster <connect-cluster-id> --kafka-cluster <kafka-cluster-id>
# 権限付与を削除します。
confluent iam rbac role-binding delete --principal User:test --role ResourceOwner --resource Connector:* --connect-cluster <connect-cluster-id> --kafka-cluster <kafka-cluster-id>