Puedes quitar una sola regla de permiso existente, llamada entrada de ACL, de un recurso de ACL de Managed Service para Apache Kafka sin afectar otras entradas de la lista. Esta función es útil para revocar permisos específicos de forma incremental.
Esta operación es análoga a borrar una sola vinculación de LCA de Apache Kafka y no requiere un eTag para el control de simultaneidad.
Roles y permisos requeridos
Para obtener los permisos que necesitas
para quitar una entrada de LCA,
pídele a tu administrador que te otorgue el rol de IAM
Editor de LCA de Kafka administrado (roles/managedkafka.aclEditor)
en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para quitar una entrada de ACL. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para quitar una entrada de LCA:
-
Otorga este permiso en la LCA:
managedkafka.acls.updateEntries
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
El rol Editor de ACL de Kafka administrado (roles/managedkafka.aclEditor) contiene el permiso necesario para agregar o quitar entradas de ACL individuales. Para obtener más detalles, consulta Roles predefinidos de Google Cloud Managed Service para Apache Kafka.
Cómo quitar una entrada de LCA
-
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 Ejecuta el comando
gcloud managed-kafka acls remove-acl-entry:ACL_ID(obligatorio): Es el ID único del recurso de la ACL de Managed Service para Apache Kafka del que deseas quitar una entrada. Esta variable identifica el patrón de recursos del que se quita la entrada. Para obtener más información sobre el ID de la LCA, consulta ID de la LCA.CLUSTER_ID(obligatorio): ID del clúster que contiene el recurso de ACL.LOCATION(obligatorio): Es la región en la que se encuentra el clúster. Para obtener más información sobre la región, consulta Ubicaciones admitidas.PRINCIPAL(obligatorio): Es el usuario principal o la cuenta de servicio de la entrada de la LCA que se quitará. Usa el formatoUser:{google_service_account_email}o el comodínUser:*.OPERATION(obligatorio): Es el tipo de operación de la entrada de LCA que se quitará. Los valores permitidos incluyenALL,READ,WRITE,CREATE,DELETE,ALTER,DESCRIBE,CLUSTER_ACTION,DESCRIBE_CONFIGS,ALTER_CONFIGSyIDEMPOTENT_WRITE.PERMISSION_TYPE(opcional, valor predeterminado ALLOW): Es el tipo de permiso que se quitará:ALLOWoDENY.HOST(opcional, valor predeterminado *): Es el host del cliente de la entrada de la LCA que se quitará. En el caso de Google Cloud Managed Service para Apache Kafka, este valor debe establecerse en el comodín'*'.
gcloud managed-kafka acls remove-acl-entry ACL_ID \ --cluster=CLUSTER_ID \ --location=LOCATION \ --principal=PRINCIPAL \ --operation=OPERATION \ --permission-type=PERMISSION-TYPE \ --host=HOST \
Reemplaza lo siguiente:
Comando de muestra
Debes especificar los detalles exactos de la entrada de ACL que deseas quitar con las marcas --principal, --operation, --permission-type y --host.
Ejecuta el siguiente comando para quitar una entrada de LCA que permite que una cuenta de servicio específica lea un tema llamado test-topic en el clúster test-cluster de la región us-central1. Si esta entrada de LCA era la única, se borra la LCA y la respuesta contiene deleted: True.
De lo contrario, se devuelve la entrada de ACL actualizada.
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='*' \