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.

Con IAM puoi adottare il principio di sicurezza del privilegio minimo e quindi concedere solo l'accesso necessario alle tue risorse.

IAM ti consente di controllare chi ha quali autorizzazioni per quali risorse impostando le policy IAM. Le policy IAM concedono 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 scopo, dovresti assegnare all'utente (chi) il ruolo /roles/dns.admin, che dispone delle autorizzazioni dns.changes.create e dns.resourceRecordSets.create (quali) per consentirgli di creare e aggiornare set di record di risorse (quali risorse). Un reparto di assistenza, al contrario, potrebbe aver bisogno solo di visualizzare i set di record di risorse esistenti, quindi sarebbe sufficiente 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 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 si assegnano concedendo ruoli a un utente, un gruppo o un service account. Oltre ai ruoli di base Proprietario, Editor e Visualizzatore, puoi concedere agli utenti del tuo progetto i ruoli dell'API Cloud DNS.

Autorizzazioni

La tabella seguente elenca le autorizzazioni di cui il chiamante deve disporre per chiamare ciascun metodo:

Metodo Autorizzazioni obbligatorie
dns.changes.create Per creare un record di risorse, imposta sia dns.changes.create che dns.resourceRecordSets.create sul progetto contenente il set di record.

Per aggiornare un record di risorse, imposta sia dns.changes.create che dns.resourceRecordSets.update sul progetto contenente il set di record.

Per eliminare un record di risorse, imposta sia dns.changes.create che dns.resourceRecordSets.delete sul progetto contenente il set di record.

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 disporre di dns.gkeClusters.bindPrivateDNSZone per configurare per configurare l'ambito di un 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 disporre di dns.gkeClusters.bindPrivateDNSZone per configurare per configurare l'ambito di un cluster GKE.

dns.policies.create dns.policies.create sul progetto contenente la policy.

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

dns.policies.delete dns.policies.delete sul progetto contenente la policy.
dns.policies.get dns.policies.get sul progetto contenente la policy.
dns.policies.list dns.policies.list sul progetto contenente la policy.
dns.policies.update dns.policies.update sul progetto contenente la policy.

Se la policy viene aggiornata per essere su una rete VPC, devi anche disporre di 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 sul progetto contenente il set di record.
dns.responsePolicies.create dns.responsePolicies.create sul progetto contenente la policy di risposta.

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

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

dns.responsePolicies.delete dns.responsePolicies.delete sul progetto contenente la policy di risposta.
dns.responsePolicies.get dns.responsePolicies.get sul progetto contenente la policy di risposta.
dns.responsePolicies.list dns.responsePolicies.list sul progetto.
dns.responsePolicies.update dns.responsePolicies.update sul progetto contenente la policy di risposta.

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

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

dns.responsePolicyRules.create dns.responsePolicyRules.create sul progetto contenente la regola della policy di risposta.
dns.responsePolicyRules.delete dns.responsePolicyRules.delete sul progetto contenente la regola della policy di risposta.
dns.responsePolicyRules.get dns.responsePolicyRules.get sul progetto contenente la regola della policy di risposta.
dns.responsePolicyRules.list dns.responsePolicyRules.list sul progetto contenente la policy di risposta.
dns.responsePolicyRules.update dns.responsePolicyRules.update sul progetto contenente la regola della policy 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 ogni 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.createTagBinding
  • dns.policies.delete
  • dns.policies.deleteTagBinding
  • dns.policies.get
  • dns.policies.list
  • dns.policies.listEffectiveTags
  • dns.policies.listTagBindings
  • 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.policies.listEffectiveTags

dns.policies.listTagBindings

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 ogni ruolo.

Ruolo Autorizzazioni

(roles/networksecurity.dnsThreatDetectorAdmin)

Consente l'accesso completo alle risorse Rilevatore di minacce DNS.

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

Gestisci il controllo dell'accesso

Puoi utilizzare la console Google Cloud per gestire il controllo dell'accesso per i tuoi argomenti e 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