Ruoli e autorizzazioni

Google Cloud offre Identity and Access Management (IAM), che ti consente di concedere un accesso più granulare a determinate risorse Google Cloud e impedisce 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 l'accesso necessario alle tue risorse.

IAM ti consente di controllare chi ha quali autorizzazioni per quali risorse impostando i criteri IAM. Le policy IAM assegnano ruoli specifici a un utente, concedendogli determinate autorizzazioni. Ad esempio, un determinato utente potrebbe dover creare e modificare le risorse dei record DNS (Domain Name System). A questo punto, assegnerai all'utente (chi) il ruolo /roles/dns.admin, che dispone delle autorizzazioni dns.changes.create e dns.resourceRecordSets.create (cosa) per consentirgli di creare e aggiornare i set di record di risorse (cosa). Al contrario, un reparto di assistenza potrebbe avere bisogno solo di visualizzare i set di record di risorse esistenti, quindi otterrebbe 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 la sezione Crea una zona con autorizzazioni IAM specifiche.

Autorizzazioni e ruoli

Ogni metodo dell'API Cloud DNS richiede che il chiamante disponga delle autorizzazioni IAM necessarie. Le autorizzazioni vengono assegnate concedendo ruoli a un utente, un gruppo o un account di servizio. Oltre ai ruoli di base Proprietario, Editor e Visualizzatore, puoi concedere i ruoli API Cloud DNS agli utenti del tuo progetto.

Autorizzazioni

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

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

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

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

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

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

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

dns.policies.create dns.policies.create sul progetto contenente le norme.

Se la policy viene creata su una rete VPC, devi disporre anche di dns.networks.bindPrivateDNSPolicy per ogni progetto contenente ogni rete VPC.

dns.policies.delete dns.policies.delete sul progetto contenente le norme.
dns.policies.get dns.policies.get sul progetto contenente le norme.
dns.policies.list dns.policies.list sul progetto contenente le norme.
dns.policies.update dns.policies.update sul progetto contenente le norme.

Se la policy viene aggiornata in modo da trovarsi su una rete VPC, devi anche dns.networks.bindPrivateDNSPolicy per ogni progetto contenente ogni rete VPC.

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

Devi anche dns.networks.bindDNSResponsePolicy per convalidare la richiesta.

Se vuoi creare una policy di risposta collegata a un cluster GKE, devi dns.gkeClusters.bindDNSResponsePolicy.

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

Devi anche dns.networks.bindDNSResponsePolicy per convalidare la richiesta.

Se vuoi creare una policy di risposta collegata a un cluster GKE, devi dns.gkeClusters.bindDNSResponsePolicy.

dns.responsePolicyRules.create dns.responsePolicyRules.create sul progetto contenente la regola del criterio di risposta.
dns.responsePolicyRules.delete dns.responsePolicyRules.delete sul progetto contenente la regola del criterio di risposta.
dns.responsePolicyRules.get dns.responsePolicyRules.get sul progetto contenente la regola del criterio di risposta.
dns.responsePolicyRules.list dns.responsePolicyRules.list sul progetto contenente il criterio di risposta.
dns.responsePolicyRules.update dns.responsePolicyRules.update sul progetto contenente la regola del criterio di risposta.
networksecurity.dnsThreatDetectors.list (anteprima) networksecurity.dnsThreatDetectors.list sul progetto in cui le reti VPC vengono monitorate per rilevare minacce.
networksecurity.dnsThreatDetectors.get(Anteprima) networksecurity.dnsThreatDetectors.get sul progetto in cui le reti VPC vengono monitorate per rilevare minacce.
networksecurity.dnsThreatDetectors.create(Anteprima) networksecurity.dnsThreatDetectors.create sul progetto contenente le reti VPC che vuoi monitorare per rilevare minacce.
networksecurity.dnsThreatDetectors.update(Anteprima) networksecurity.dnsThreatDetectors.update sul progetto in cui le reti VPC vengono monitorate per rilevare minacce.
networksecurity.dnsThreatDetectors.delete(Anteprima) networksecurity.dnsThreatDetectors.delete sul progetto in cui le reti VPC vengono monitorate per rilevare minacce.

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 particolare 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.*

  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • 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

(roles/dns.serviceAgent)

Gives Cloud DNS Service Agent access to Cloud Platform resources.

compute.globalNetworkEndpointGroups.attachNetworkEndpoints

compute.globalNetworkEndpointGroups.create

compute.globalNetworkEndpointGroups.delete

compute.globalNetworkEndpointGroups.detachNetworkEndpoints

compute.globalNetworkEndpointGroups.get

compute.globalOperations.get

compute.healthChecks.get

La tabella seguente elenca i ruoli IAM di DNS Armor con un elenco corrispondente di tutte le autorizzazioni incluse in ciascun ruolo.

Ruolo Autorizzazioni

(roles/networksecurity.dnsThreatDetectorAdmin)

Consente l'accesso completo alle risorse DNS Threat Detector.

networksecurity.dnsThreatDetectors.*

  • networksecurity.dnsThreatDetectors.create
  • networksecurity.dnsThreatDetectors.delete
  • networksecurity.dnsThreatDetectors.get
  • networksecurity.dnsThreatDetectors.list
  • networksecurity.dnsThreatDetectors.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networksecurity.dnsThreatDetectorViewer)

Abilita l'accesso in visualizzazione alle risorse DNS Threat Detector.

networksecurity.dnsThreatDetectors.get

networksecurity.dnsThreatDetectors.list

resourcemanager.projects.get

resourcemanager.projects.list

Gestione del controllo dell'accesso

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

Per impostare i controlli dell'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