É possível remover uma única regra de permissão chamada de entrada de ACL de um recurso de ACL do Serviço gerenciado para Apache Kafka sem afetar outras entradas na lista. Esse recurso é útil para revogar permissões específicas de forma incremental.
Essa operação é análoga à exclusão de uma única vinculação de ACL do Apache Kafka e não requer uma eTag para controle de simultaneidade.
Papéis e permissões necessárias
Para receber as permissões necessárias
para remover uma entrada de ACL,
peça ao administrador para conceder a você o
papel do IAM de Editor de ACLs do Kafka gerenciado (roles/managedkafka.aclEditor)
no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para remover uma entrada de ACL. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para remover uma entrada de ACL:
-
Conceda esta permissão na ACL:
managedkafka.acls.updateEntries
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
O papel Editor de ACL do Kafka gerenciado (roles/managedkafka.aclEditor)
contém a permissão necessária para adicionar ou remover entradas de ACL individuais. Para mais detalhes, consulte Funções predefinidas do serviço gerenciado do Google Cloud para Apache Kafka.
Remover uma entrada de 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 Execute o comando
gcloud managed-kafka acls remove-acl-entry:ACL_ID(obrigatório): o ID exclusivo do recurso de ACL do Serviço gerenciado para Apache Kafka de que você quer remover uma entrada. Essa variável identifica o padrão de recurso de que a entrada é removida. Para mais informações sobre o ID da ACL, consulte ID da ACL.CLUSTER_ID(obrigatório): o ID do cluster que contém o recurso de ACL.LOCATION(obrigatório): a região em que o cluster está localizado. Para mais informações sobre a região, consulte Locais com suporte.PRINCIPAL(obrigatório): o usuário principal ou a conta de serviço da entrada da ACL a ser removida. Use o formatoUser:{google_service_account_email}ou o caractere curingaUser:*.OPERATION(obrigatório): o tipo de operação da entrada da ACL a ser removida. Os valores permitidos incluemALL,READ,WRITE,CREATE,DELETE,ALTER,DESCRIBE,CLUSTER_ACTION,DESCRIBE_CONFIGS,ALTER_CONFIGSeIDEMPOTENT_WRITE.PERMISSION_TYPE(opcional, valor padrão ALLOW): o tipo de permissão a ser removida:ALLOWouDENY.HOST(opcional, valor padrão *): o host do cliente da entrada de ACL a ser removida. Para o Google Cloud Managed Service para Apache Kafka, esse valor precisa ser definido como o curinga'*'.
gcloud managed-kafka acls remove-acl-entry ACL_ID \ --cluster=CLUSTER_ID \ --location=LOCATION \ --principal=PRINCIPAL \ --operation=OPERATION \ --permission-type=PERMISSION-TYPE \ --host=HOST \
Substitua:
Comando de amostra
Você precisa especificar os detalhes exatos da entrada da ACL que quer remover usando as flags --principal, --operation, --permission-type e --host.
Execute o comando a seguir para remover uma entrada de ACL que permite que uma conta de serviço específica leia de um tópico chamado test-topic no cluster test-cluster na região us-central1. Se essa entrada de ACL
for a única, a ACL será excluída e a resposta vai conter deleted: True.
Caso contrário, a entrada de ACL atualizada será retornada.
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='*' \