從代管 Kafka ACL 移除 ACL 項目

您可以從 Managed Service for Apache Kafka ACL 資源中移除單一現有權限規則 (稱為 ACL 項目),不會影響清單中的其他項目。這項功能有助於逐步撤銷特定權限。

這項作業類似於刪除單一 Apache Kafka ACL 繫結,且不需要 eTag 進行並行控制。

必要角色和權限

如要取得移除 ACL 項目所需的權限,請要求管理員授予您專案的「代管 Kafka ACL 編輯者 」(roles/managedkafka.aclEditor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備移除 ACL 項目所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要移除 ACL 項目,您必須具備下列權限:

  • 在 ACL 中授予這項權限: managedkafka.acls.updateEntries

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

代管 Kafka ACL 編輯者 (roles/managedkafka.aclEditor) 角色包含新增或移除個別 ACL 項目的必要權限。詳情請參閱「Google Cloud Managed Service for Apache Kafka 預先定義的角色」。

移除 ACL 項目

  1. Install the Google Cloud CLI.

  2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 執行 gcloud managed-kafka acls remove-acl-entry 指令:

  5. gcloud managed-kafka acls remove-acl-entry ACL_ID \
      --cluster=CLUSTER_ID \
      --location=LOCATION \
      --principal=PRINCIPAL \
      --operation=OPERATION \
      --permission-type=PERMISSION-TYPE \
      --host=HOST \

    更改下列內容:

    • 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 項目作業類型。允許的值包括 ALLREADWRITECREATEDELETEALTERDESCRIBECLUSTER_ACTIONDESCRIBE_CONFIGSALTER_CONFIGSIDEMPOTENT_WRITE
    • PERMISSION_TYPE (選用,預設值為 ALLOW):要移除的權限類型,可以是 ALLOWDENY
    • HOST (選用,預設值為 *):要移除的 ACL 項目用戶端主機。如果是 Google Cloud Managed Service for Apache Kafka,這個值必須設為萬用字元 '*'

指令範例

您必須使用 --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='*' \

後續步驟

Apache Kafka® 是 The Apache Software Foundation 或其關聯企業在美國與/或其他國家/地區的註冊商標。