从 Managed Kafka ACL 中移除 ACL 条目

您可以从 Managed Service for Apache Kafka ACL 资源中移除单个现有权限规则(称为 ACL 条目),而不会影响列表中的其他条目。此功能有助于逐步撤消特定权限。

此操作类似于删除单个 Apache Kafka ACL 绑定,不需要 eTag 进行并发控制。

所需的角色和权限

如需获得移除 ACL 条目所需的权限,请让您的管理员为您授予项目的 Managed Kafka ACL Editor (roles/managedkafka.aclEditor) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含移除 ACL 条目所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

您需要具备以下权限才能移除 ACL 条目:

  • 在 ACL 上授予此权限: managedkafka.acls.updateEntries

您也可以使用自定义角色或其他预定义角色来获取这些权限。

Managed Kafka ACL Editor (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 条目的确切详细信息。

运行以下命令可移除一项 ACL 条目,该条目允许特定服务账号从 us-central1 区域中 test-cluster 集群内名为 test-topic 的主题读取数据。如果此 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® 是 Apache Software Foundation 或其关联公司在美国和/或其他国家/地区的注册商标。