本文說明如何從代管 Kafka ACL 資源中移除 ACL 項目。
移除 ACL 項目等同於刪除單一 Apache Kafka ACL 繫結。與更新作業不同,這項作業不需要 ETag 進行並行控制。
必要角色和權限
如要取得移除 ACL 項目所需的權限,請要求管理員授予您專案的代管 Kafka ACL 編輯者 (roles/managedkafka.aclEditor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備 managedkafka.acls.updateEntries 權限,可移除 ACL 項目。
移除 ACL 項目
gcloud
請執行 gcloud managed-kafka acls remove-acl-entry 指令。
gcloud managed-kafka acls remove-acl-entry ACL_ID \
--cluster=CLUSTER_ID \
--location=LOCATION \
--principal=PRINCIPAL \
--operation=OPERATION \
--permission-type=PERMISSION-TYPE \
--host=*
更改下列內容:
ACL_ID。要更新的代管 Kafka ACL 資源 ID。詳情請參閱「ACL ID」。CLUSTER_IDKafka 叢集的 ID。LOCATIONKafka 叢集的區域。PRINCIPAL:要移除的 ACL 項目主體。OPERATION:要移除的 ACL 項目作業類型,例如READ或CREATE。PERMISSION_TYPE:要移除的 ACL 項目權限類型 (ALLOW或DENY)。
--principal、--operation 和 --permission-type 旗標會共同指定要移除的 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='*' \