Controllo dell'accesso con IAM

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

IAM consente di adottare il principio di sicurezza del privilegio minimo, per concedere l'accesso necessario alle risorse.

IAM consente di controllare chi ha quali autorizzazioni per quali risorse impostando i criteri IAM. I criteri IAM concedono ruoli specifici a un utente, concedendo all'utente determinate autorizzazioni. Ad esempio, un determinato utente potrebbe dover creare e modificare le risorse DNS (Domain Name System). Quindi, assegna all'utente (che) il ruolo /roles/dns.admin, che dispone delle autorizzazioni dns.changes.create e dns.resourceRecordSets.create, per creare e aggiornare i set di record di risorse (quali). D'altra parte, un reparto di assistenza potrebbe avere bisogno soltanto di visualizzare i set di record di risorse esistenti, quindi ottiene un ruolo /roles/dns.reader.

Autorizzazioni e ruoli

Ogni metodo dell'API Cloud DNS richiede che il chiamante disponga 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 ruoli dell'API Cloud DNS agli utenti del progetto.

Autorizzazioni

La tabella seguente elenca le autorizzazioni che il chiamante deve chiamare per ciascun metodo.

Metodo Autorizzazioni richieste
dns.changes.create per la creazione di un set di record di risorse. dns.changes.create e dns.resourceRecordSets.create nel progetto contenente il set di record.
dns.changes.create per l'aggiornamento di un set di record di risorse. dns.changes.create e dns.resourceRecordSets.update nel progetto contenente il set di record.
dns.changes.create per l'eliminazione di 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 per il progetto contenente la zona gestita.
dns.changes.list dns.changes.list per il progetto contenente la zona gestita.
dns.dnsKeys.get dns.dnsKeys.get per il progetto contenente la zona gestita.
dns.dnsKeys.list dns.dnsKeys.list per il progetto contenente la zona gestita.
dns.managedZoneOperations.get dns.managedZoneOperations.get per il progetto contenente la zona gestita.
dns.managedZoneOperations.list dns.managedZoneOperations.list per il progetto contenente la zona gestita.
dns.managedZones.create dns.managedZones.create per il progetto contenente la zona gestita.

Se crei una zona privata, hai bisogno anche di dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone per ogni progetto contenente ogni rete VPC che autorizzi ad accedere alla zona.

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

Se crei una zona privata, hai bisogno anche di dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone per ogni progetto contenente ogni rete VPC che autorizzi ad accedere alla zona.

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

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

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

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

dns.policies.update dns.policies.update per il progetto contenente il criterio.
dns.projects.get dns.projects.get per il progetto.
dns.resourceRecordSets.create dns.resourceRecordSets.create per il progetto contenente il set di record.
dns.resourceRecordSets.delete dns.resourceRecordSets.delete per il progetto contenente il set di record.
dns.resourceRecordSets.get dns.resourceRecordSets.get per il progetto contenente il set di record.
dns.resourceRecordSets.list dns.resourceRecordSets.list per il progetto contenente la zona gestita.
dns.resourceRecordSets.update dns.resourceRecordSets.update per il progetto contenente il set di record.
dns.responsePolicies.create dns.responsePolicies.create per il progetto contenente il criterio di risposta.

È inoltre necessario dns.networks.bindDNSResponsePolicy per convalidare la richiesta.

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

È inoltre necessario dns.networks.bindDNSResponsePolicy per convalidare la richiesta.

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

Ruoli

La seguente tabella elenca i ruoli IAM dell'API Cloud DNS con un elenco corrispondente di tutte le autorizzazioni che ogni ruolo include. Ogni autorizzazione è applicabile a un particolare tipo di risorsa.

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

Ruolo Autorizzazioni

DNS Administrator (Amministratore DNS)
(roles/dns.admin)

Fornisce accesso in lettura/scrittura a tutte le risorse Cloud DNS.

Risorse di livello inferiore a cui puoi concedere questo ruolo:

  • Progetto
  • compute.networks.get
  • compute.networks.list
  • dns.changes.*
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.*
  • dns.networks.*
  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update
  • dns.projects.*
  • dns.resourceRecordSets.*
  • dns.responsePolicies.*
  • dns.responsePolicyRules.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Peer DNS
(roles/dns.peer)

Accesso alle reti target per le zone con peering DNS.

  • dns.networks.targetWithPeeringZone

Lettore DNS
(roles/dns.reader)

Fornisce accesso in sola lettura a tutte le risorse di Cloud DNS.

Risorse di livello inferiore a cui puoi concedere questo ruolo:

  • Progetto
  • compute.networks.get
  • dns.changes.get
  • dns.changes.list
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.get
  • dns.managedZones.list
  • dns.policies.get
  • dns.policies.list
  • dns.projects.*
  • 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 Google Cloud Console per gestire il controllo dell'accesso per i tuoi argomenti e progetti.

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

Console

  1. In Google Cloud Console, vai alla pagina IAM.

    Vai alla pagina IAM

  2. Seleziona il progetto nel menu a discesa in alto.

  3. Fai clic su Aggiungi.

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

  5. Seleziona il ruolo desiderato dal menu a discesa.

  6. Fai clic su Salva.

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

Passaggi successivi

  • Per iniziare a utilizzare Cloud DNS, consulta la guida rapida.
  • Per trovare soluzioni ai problemi più comuni che potresti riscontrare quando utilizzi Cloud DNS, consulta la sezione Risoluzione dei problemi.