Aggiungere una voce ACL a un ACL Kafka gestito

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

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic sul nome del cluster a cui vuoi aggiungere una voce ACL.

  3. Fai clic sulla scheda Controllo degli accessi.

  4. Fai clic su Crea voce ACL.

  5. Nel riquadro Crea voce ACL, inserisci i dettagli della voce ACL:

    1. Nell'elenco Tipo di risorsa, seleziona il tipo di risorsa cluster a cui si applica questo ACL. Per saperne di più, consulta ID ACL.

    2. Se il tipo di risorsa è Topic, Consumer group o Transactional ID, seleziona o inserisci l'ID della risorsa.

    3. Se il tipo di risorsa è Topic prefix, Consumer group prefix o Transactional ID prefix, inserisci il prefisso per la corrispondenza con la ACL.

    4. Nel campo Entità, inserisci l'entità per la voce ACL.

    5. Nell'elenco Tipo di autorizzazione, seleziona ALLOW o DENY.

    6. Nell'elenco Operazione, seleziona il tipo di operazione per la voce ACL.

  6. 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 esempio READ o CREATE.

  • PERMISSION_TYPE: l'autorizzazione che l'entità ha per l'operazione. Specifica ALLOW o DENY.

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 è ALLOW o DENY.
      • 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 formato projects/{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.

Passaggi successivi

Apache Kafka® è un marchio registrato di Apache Software Foundation o dei suoi affiliati negli Stati Uniti e/o in altri paesi.