Il documento descrive come creare una voce ACL e aggiungerla a una risorsa ACL Kafka gestita. Se la risorsa ACL Kafka gestita non esiste, questa operazione crea anche la risorsa ACL.
Questa operazione è analoga alla creazione di un singolo binding ACL Apache Kafka. A differenza dell'operazione di aggiornamento, non richiede un ETag per controllo della contemporaneità.
Ruoli e autorizzazioni richiesti
Per ottenere l'autorizzazione necessaria per aggiungere una voce ACL, chiedi all'amministratore di concederti il ruolo IAM Managed Kafka ACL Editor (roles/managedkafka.aclEditor) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene l'autorizzazione
managedkafka.acls.updateEntries
necessaria per
aggiungere una voce ACL.
Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Aggiungere una voce ACL
Console
Nella console Google Cloud , vai alla pagina Cluster.
Fai clic sul nome del cluster a cui vuoi aggiungere una voce ACL.
Fai clic sulla scheda Controllo degli accessi.
Fai clic su Crea voce ACL.
Nel riquadro Crea voce ACL, inserisci i dettagli della voce ACL:
Nell'elenco Tipo di risorsa, seleziona il tipo di risorsa cluster a cui si applica questo ACL. Per saperne di più, consulta ID ACL.
Se il tipo di risorsa è
Topic,Consumer groupoTransactional ID, seleziona o inserisci l'ID della risorsa.Se il tipo di risorsa è
Topic prefix,Consumer group prefixoTransactional ID prefix, inserisci il prefisso per la corrispondenza con la ACL.Nel campo Entità, inserisci l'entità per la voce ACL.
Nell'elenco Tipo di autorizzazione, seleziona
ALLOWoDENY.Nell'elenco Operazione, seleziona il tipo di operazione per la voce ACL.
Fai clic su Crea.
gcloud
Esegui il comando gcloud managed-kafka acls add-acl-entry:
gcloud managed-kafka acls add-acl-entry ACL_ID \
--cluster=CLUSTER_ID \
--location=LOCATION \
--principal=PRINCIPAL \
--operation=OPERATION \
--permission-type=PERMISSION_TYPE \
--host=*
Sostituisci quanto segue:
ACL_ID. L'ID della risorsa ACL Kafka gestita da aggiornare. Per saperne di più, consulta ID ACL. Se non esiste un ACL Managed Kafka con questo ID, ne viene creato uno automaticamente.CLUSTER_ID: l'ID del cluster Kafka.LOCATION: la regione del cluster Kafka.PRINCIPAL: il principal per la nuova voce ACL.OPERATION: il tipo di operazione, ad esempioREADoCREATE.PERMISSION_TYPE: l'autorizzazione che l'entità ha per l'operazione. SpecificaALLOWoDENY.
Comando di esempio
Esegui questo comando per consentire a un account di servizio specifico di leggere da un
argomento denominato test-topic nel cluster test-cluster nella regione us-central1.
gcloud managed-kafka acls add-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='*'
Di seguito è riportato un output di esempio:
acl:
aclEntries:
- host: '*'
operation: READ
permissionType: ALLOW
principal: 'User:service-account@test-project.iam.gserviceaccount.com'
etag: W/another-new-etag
name: projects/test-project/locations/us-central1/clusters/test-cluster/acls/topic/test-topic
patternType: LITERAL
resourceName: test-topic
resourceType: TOPIC
aclCreated: false
L'output del comando add-acl-entry fornisce informazioni sullo stato
dell'ACL risultante:
acl: questa sezione descrive la risorsa ACL aggiornata dopo l'aggiunta della nuova voce.aclEntries: questo è un elenco contenente tutte le voci di controllo dell'accesso per questo ACL. In questo esempio, ora includerà la voce appena aggiunta. Ogni voce ha i seguenti campi:host: l'host per la voce ACL.operation: l'operazione Kafka a cui si applica questa voce.permissionType: se l'accesso èALLOWoDENY.principal: l'utente o il account di servizio a cui si riferisce questa voce.
etag: questo è il tag di entità per l'elenco di controllo dell'accesso aggiornato. Viene utilizzato per controllo della contemporaneità ottimistico durante gli aggiornamenti successivi. Il valore cambia dopo l'aggiunta di una voce.name: l'identificatore univoco della risorsa ACL. Segue il formatoprojects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}.patternType: il tipo di pattern di risorsa per questo ACL.resourceName: il nome della risorsa Kafka a cui si applica questo ACL.resourceType: il tipo di risorsa Kafka.
aclCreated: un valore booleano che indica se la risorsa ACL è stata creata in seguito all'aggiunta di questa voce.