Ruoli e autorizzazioni

Google Cloud offre Identity and Access Management (IAM), che ti consente di concedere un accesso più granulare a risorse Google Cloud specifiche e di impedire l'accesso indesiderato ad altre risorse. Questa pagina descrive i ruoli dell'API Cloud DNS. Per una descrizione dettagliata di IAM, consulta la documentazione di Identity and Access Management.

IAM ti consente di adottare il principio di sicurezza del privilegio minimo in modo da concedere solo il livello di accesso necessario per le tue risorse.

IAM consente di controllare chi dispone di quali autorizzazioni per quali risorse impostando i criteri IAM. I criteri IAM grantono ruoli specifici a un utente, assegnandogli determinate autorizzazioni. Ad esempio, un determinato utente potrebbe dover creare e modificare le risorse dei record DNS (Domain Name System). A questo utente (who) assegnerai il ruolo /roles/dns.admin, che dispone delle autorizzazioni dns.changes.create e dns.resourceRecordSets.create (what) per consentirgli di creare e aggiornare i set di record di risorse (which). Al contrario, un reparto di assistenza potrebbe dover solo visualizzare i set di record di risorse esistenti, quindi riceverà un ruolo /roles/dns.reader.

Cloud DNS supporta le autorizzazioni IAM a livello di progetto e a livello di singola zona DNS. L'autorizzazione predefinita è a livello di progetto. Per configurare le autorizzazioni a livello di singola zona DNS (o risorsa), consulta Creare una zona con autorizzazioni IAM specifiche.

Autorizzazioni e ruoli

Ogni metodo dell'API Cloud DNS prevede che chi effettua la chiamata debba disporre delle autorizzazioni IAM necessarie. Le autorizzazioni vengono assegnate concedendo i ruoli a un utente, un gruppo o un account di servizio. Oltre ai ruoli di base Proprietario, Editor e Visualizzatore, puoi concedere i ruoli dell'API Cloud DNS agli utenti del tuo progetto.

Autorizzazioni

La tabella seguente elenca le autorizzazioni di cui deve disporre l'utente che chiama per chiamare ciascun metodo.

Metodo Autorizzazioni obbligatorie
dns.changes.create per creare un set di record di risorse. dns.changes.create e dns.resourceRecordSets.create nel progetto contenente il set di record.
dns.changes.create per aggiornare un set di record di risorse. dns.changes.create e dns.resourceRecordSets.update nel progetto contenente il set di record.
dns.changes.create per eliminare un set di record di risorse. dns.changes.create e dns.resourceRecordSets.delete nel progetto contenente il set di record.
dns.changes.get dns.changes.get nel progetto contenente la zona gestita.
dns.changes.list dns.changes.list nel progetto contenente la zona gestita.
dns.dnsKeys.get dns.dnsKeys.get nel progetto contenente la zona gestita.
dns.dnsKeys.list dns.dnsKeys.list nel progetto contenente la zona gestita.
dns.managedZoneOperations.get dns.managedZoneOperations.get nel progetto contenente la zona gestita.
dns.managedZoneOperations.list dns.managedZoneOperations.list nel progetto contenente la zona gestita.
dns.managedZones.create dns.managedZones.create nel progetto contenente la zona gestita.

Se stai creando una zona privata, devi anche avere dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone in ogni progetto con una rete VPC autorizzata ad accedere alla zona.

Se stai creando una zona privata con integrazione GKE, devi anche dns.gkeClusters.bindPrivateDNSZone configurare un ambito cluster GKE.

dns.managedZones.delete dns.managedZones.delete nel progetto contenente la zona gestita.
dns.managedZones.get dns.managedZones.get nel progetto contenente la zona gestita.
dns.managedZones.list dns.managedZones.list nel progetto contenente la zona gestita.
dns.managedZones.update dns.managedZones.update nel progetto contenente la zona gestita.

Se stai creando una zona privata, devi anche avere dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone in ogni progetto con una rete VPC autorizzata ad accedere alla zona.

Se stai creando una zona privata con integrazione GKE, devi anche dns.gkeClusters.bindPrivateDNSZone configurare un ambito cluster GKE.

dns.policies.create dns.policies.create nel progetto contenente il criterio.

Se il criterio viene creato in una rete VPC, devi anche avere dns.networks.bindPrivateDNSPolicy per ogni progetto contenente ogni rete VPC.

dns.policies.delete dns.policies.delete nel progetto contenente il criterio.
dns.policies.get dns.policies.get nel progetto contenente il criterio.
dns.policies.list dns.policies.list nel progetto contenente il criterio.
dns.policies.update dns.policies.update nel progetto contenente il criterio.

Se il criterio viene aggiornato in modo da essere in una rete VPC, devi anche avere dns.networks.bindPrivateDNSPolicy per ogni progetto contenente ogni rete VPC.

dns.projects.get dns.projects.get sul progetto.
dns.resourceRecordSets.create dns.resourceRecordSets.create nel progetto contenente il set di record.
dns.resourceRecordSets.delete dns.resourceRecordSets.delete nel progetto contenente il set di record.
dns.resourceRecordSets.get dns.resourceRecordSets.get nel progetto contenente il set di record.
dns.resourceRecordSets.list dns.resourceRecordSets.list nel progetto contenente la zona gestita.
dns.resourceRecordSets.update dns.resourceRecordSets.update e dns.changes.create nel progetto contenente il set di record.
dns.responsePolicies.create dns.responsePolicies.create nel progetto contenente il criterio di risposta.

Inoltre, hai bisogno di dns.networks.bindDNSResponsePolicy per convalidare la richiesta.

Se vuoi creare un criterio di risposta associato a un cluster GKE, devi dns.gkeClusters.bindDNSResponsePolicy.

dns.responsePolicies.delete dns.responsePolicies.delete nel progetto contenente il criterio di risposta.
dns.responsePolicies.get dns.responsePolicies.get nel progetto contenente il criterio di risposta.
dns.responsePolicies.list dns.responsePolicies.list sul progetto.
dns.responsePolicies.update dns.responsePolicies.update nel progetto contenente il criterio di risposta.

Inoltre, hai bisogno di dns.networks.bindDNSResponsePolicy per convalidare la richiesta.

Se vuoi creare un criterio di risposta associato a un cluster GKE, devi avere dns.gkeClusters.bindDNSResponsePolicy.

dns.responsePolicyRules.create dns.responsePolicyRules.create nel progetto contenente la regola del criterio di risposta.
dns.responsePolicyRules.delete dns.responsePolicyRules.delete nel progetto contenente la regola del criterio di risposta.
dns.responsePolicyRules.get dns.responsePolicyRules.get nel progetto contenente la regola del criterio di risposta.
dns.responsePolicyRules.list dns.responsePolicyRules.list nel progetto contenente il criterio di risposta.
dns.responsePolicyRules.update dns.responsePolicyRules.update nel progetto contenente la regola del criterio di risposta.

Ruoli

La tabella seguente elenca i ruoli IAM dell'API Cloud DNS con un elenco corrispondente di tutte le autorizzazioni incluse in ciascun ruolo. Ogni autorizzazione è applicabile a un determinato tipo di risorsa.

Puoi anche utilizzare i ruoli di base per apportare modifiche al DNS.

Role Permissions

(roles/dns.admin)

Provides read-write access to all Cloud DNS resources.

Lowest-level resources where you can grant this role:

  • Managed zone

compute.networks.get

compute.networks.list

dns.changes.*

  • dns.changes.create
  • dns.changes.get
  • dns.changes.list

dns.dnsKeys.*

  • dns.dnsKeys.get
  • dns.dnsKeys.list

dns.gkeClusters.*

  • dns.gkeClusters.bindDNSResponsePolicy
  • dns.gkeClusters.bindPrivateDNSZone

dns.managedZoneOperations.*

  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list

dns.managedZones.create

dns.managedZones.delete

dns.managedZones.get

dns.managedZones.getIamPolicy

dns.managedZones.list

dns.managedZones.update

dns.networks.*

  • dns.networks.bindDNSResponsePolicy
  • dns.networks.bindPrivateDNSPolicy
  • dns.networks.bindPrivateDNSZone
  • dns.networks.targetWithPeeringZone
  • dns.networks.useHealthSignals

dns.policies.create

dns.policies.delete

dns.policies.get

dns.policies.getIamPolicy

dns.policies.list

dns.policies.update

dns.projects.get

dns.resourceRecordSets.*

  • dns.resourceRecordSets.create
  • dns.resourceRecordSets.delete
  • dns.resourceRecordSets.get
  • dns.resourceRecordSets.list
  • dns.resourceRecordSets.update

dns.responsePolicies.*

  • dns.responsePolicies.create
  • dns.responsePolicies.delete
  • dns.responsePolicies.get
  • dns.responsePolicies.list
  • dns.responsePolicies.update

dns.responsePolicyRules.*

  • dns.responsePolicyRules.create
  • dns.responsePolicyRules.delete
  • dns.responsePolicyRules.get
  • dns.responsePolicyRules.list
  • dns.responsePolicyRules.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/dns.peer)

Access to target networks with DNS peering zones

dns.networks.targetWithPeeringZone

(roles/dns.reader)

Provides read-only access to all Cloud DNS resources.

Lowest-level resources where you can grant this role:

  • Managed zone

compute.networks.get

dns.changes.get

dns.changes.list

dns.dnsKeys.*

  • dns.dnsKeys.get
  • dns.dnsKeys.list

dns.managedZoneOperations.*

  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list

dns.managedZones.get

dns.managedZones.list

dns.policies.get

dns.policies.list

dns.projects.get

dns.resourceRecordSets.get

dns.resourceRecordSets.list

dns.responsePolicies.get

dns.responsePolicies.list

dns.responsePolicyRules.get

dns.responsePolicyRules.list

resourcemanager.projects.get

resourcemanager.projects.list

Gestione del controllo dell'accesso

Puoi utilizzare la console Google Cloud per gestire controllo dell'accesso per i tuoi argomenti e progetti.

Per impostare i controlli di accesso a livello di progetto, segui questi passaggi.

Console

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

    Vai alla pagina IAM

  2. Seleziona il tuo progetto dal menu a discesa in alto.

  3. Fai clic su Aggiungi.

  4. In Nuove entità, inserisci l'indirizzo email di una nuova entità.

  5. Seleziona un ruolo dall'elenco.

  6. Fai clic su Salva.

  7. Verifica che l'entità sia elencata con il ruolo che hai concesso.

Passaggi successivi