Managed Service for Apache Kafka ACL リソースから、ACL エントリと呼ばれる既存の単一の権限ルールを削除できます。この操作は、リスト内の他のエントリには影響しません。この機能は、特定の権限を段階的に取り消す場合に便利です。
このオペレーションは、単一の Apache Kafka ACL バインディングの削除に似ており、同時実行制御に eTag は必要ありません。
必要なロールと権限
ACL エントリの削除に必要な権限を取得するには、プロジェクトに対する Managed Kafka ACL 編集者 (roles/managedkafka.aclEditor)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、ACL エントリの削除に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
ACL エントリを削除するには、次の権限が必要です。
-
ACL に次の権限を付与します。
managedkafka.acls.updateEntries
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
マネージド Kafka ACL 編集者(roles/managedkafka.aclEditor)ロールには、個々の ACL エントリを追加または削除するために必要な権限が含まれています。詳細については、Google Cloud Managed Service for Apache Kafka の事前定義ロールをご覧ください。
ACL エントリを削除する
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init gcloud managed-kafka acls remove-acl-entryコマンドを実行します。ACL_ID(必須): エントリを削除する Managed Service for Apache Kafka ACL リソースの一意の ID。この変数は、エントリが削除されるリソース パターンを識別します。ACL ID の詳細については、ACL ID をご覧ください。CLUSTER_ID(必須): ACL リソースを含むクラスタの ID。LOCATION(必須): クラスタが配置されているリージョン。リージョンの詳細については、サポートされているロケーションをご覧ください。PRINCIPAL(必須): 削除する ACL エントリのプリンシパル ユーザーまたはサービス アカウント。User:{google_service_account_email}形式またはワイルドカードUser:*を使用します。OPERATION(必須): 削除する ACL エントリのオペレーション タイプ。使用できる値は、ALL、READ、WRITE、CREATE、DELETE、ALTER、DESCRIBE、CLUSTER_ACTION、DESCRIBE_CONFIGS、ALTER_CONFIGS、IDEMPOTENT_WRITEです。PERMISSION_TYPE(省略可、デフォルト値 ALLOW): 削除する権限のタイプ(ALLOWまたはDENY)。HOST(省略可、デフォルト値 *): 削除する ACL エントリのクライアント ホスト。Google Cloud Managed Service for Apache Kafka の場合、この値はワイルドカード'*'に設定する必要があります。
gcloud managed-kafka acls remove-acl-entry ACL_ID \ --cluster=CLUSTER_ID \ --location=LOCATION \ --principal=PRINCIPAL \ --operation=OPERATION \ --permission-type=PERMISSION-TYPE \ --host=HOST \
次のように置き換えます。
サンプル コマンド
--principal、--operation、--permission-type、--host の各フラグを使用して、削除する ACL エントリの詳細を指定する必要があります。
次のコマンドを実行して、特定のサービス アカウントが us-central1 リージョンのクラスタ test-cluster の test-topic という名前のトピックから読み取ることを許可する ACL エントリを削除します。この ACL エントリが唯一のエントリだった場合、ACL は削除され、レスポンスに deleted: True が含まれます。それ以外の場合は、更新された ACL エントリが返されます。
gcloud managed-kafka acls remove-acl-entry topic/test-topic \
--cluster=test-cluster \
--location=us-central1 \
--principal='User:service-account@test-project.iam.gserviceaccount.com' \
--operation=READ \
--permission-type=ALLOW \
--host='*' \