Rollen und Berechtigungen

Google Cloud bietet Identity and Access Management, mit dem Sie den Zugriff auf bestimmte Ressourcen von Google Cloud genauer steuern und unerwünschten Zugriff auf andere Ressourcen verhindern können. Auf dieser Seite werden die Cloud DNS API-Rollen beschrieben. Eine ausführliche Beschreibung von IAM finden Sie in der IAM-Dokumentation.

Durch IAM können Sie das Prinzip der geringsten Berechtigung anwenden und somit nur den notwendigen Zugriff auf Ihre Ressourcen gewähren.

In IAM können Sie steuern, wer was für Berechtigungen für welche Ressourcen hat. Dazu legen Sie IAM-Richtlinien fest. IAM-Richtlinien gewähren einem Nutzer bestimmte Rollen und dadurch bestimmte Berechtigungen. Beispielsweise muss ein bestimmter Nutzer möglicherweise DNS-Eintragsressourcen (Domain Name System) erstellen und ändern. Sie weisen dann diesem Nutzer (wer) die Rolle /roles/dns.admin zu, die die Berechtigungen dns.changes.create und dns.resourceRecordSets.create (was) hat, sodass er Ressourceneintragssätze (welche) erstellen und aktualisieren kann. Eine Supportabteilung hingegen muss eventuell die vorhandenen Ressourceneintragssätze nur aufrufen und benötigt daher nur die Rolle /roles/dns.reader.

Cloud DNS unterstützt IAM-Berechtigungen auf Projektebene und auf Ebene der einzelnen DNS-Zonen. Die Standardberechtigung gilt auf Projektebene. Informationen zum Konfigurieren von Berechtigungen auf der Ebene einer einzelnen DNS-Zone (oder Ressource) finden Sie unter IAM-Richtlinien für verwaltete Zonen festlegen und verwalten.

Berechtigungen und Rollen

Jede Cloud DNS API-Methode erfordert, dass der Aufrufer die erforderlichen IAM-Berechtigungen hat. Berechtigungen werden erteilt, wenn einem Nutzer, einer Gruppe oder einem Dienstkonto Rollen zugewiesen werden. Zusätzlich zu den grundlegenden Rollen „Inhaber“, „Bearbeiter“ und „Betrachter“ können Sie den Nutzern Ihres Projekts Cloud DNS API-Rollen zuweisen.

Berechtigungen

In der folgenden Tabelle werden die Berechtigungen aufgelistet, die der Anrufer haben muss, um die einzelnen Methoden aufzurufen.

Methode Erforderliche Berechtigungen
dns.changes.create Um einen Ressourceneintrag zu erstellen, legen Sie sowohl dns.changes.create als auch dns.resourceRecordSets.create für das Projekt fest, das den Eintragssatz enthält.

Wenn Sie einen Ressourceneintrag aktualisieren möchten, legen Sie sowohl dns.changes.create als auch dns.resourceRecordSets.update für das Projekt fest, das den Eintragssatz enthält.

Wenn Sie einen Ressourceneintrag löschen möchten, legen Sie sowohl dns.changes.create als auch dns.resourceRecordSets.delete für das Projekt fest, das den Eintragssatz enthält.

dns.changes.get dns.changes.get für das Projekt, das die verwaltete Zone enthält.
dns.changes.list dns.changes.list für das Projekt, das die verwaltete Zone enthält.
dns.dnsKeys.get dns.dnsKeys.get für das Projekt, das die verwaltete Zone enthält.
dns.dnsKeys.list dns.dnsKeys.list für das Projekt, das die verwaltete Zone enthält.
dns.managedZoneOperations.get dns.managedZoneOperations.get für das Projekt, das die verwaltete Zone enthält.
dns.managedZoneOperations.list dns.managedZoneOperations.list für das Projekt, das die verwaltete Zone enthält.
dns.managedZones.create dns.managedZones.create für das Projekt, das die verwaltete Zone enthält.

Wenn Sie eine private Zone erstellen, benötigen Sie außerdem dns.networks.bindPrivateDNSZone und dns.networks.targetWithPeeringZone für jedes Projekt mit einem VPC-Netzwerk, das für den Zugriff auf die Zone autorisiert ist.

Wenn Sie eine private Zone mit GKE-Integration erstellen, benötigen Sie außerdem dns.gkeClusters.bindPrivateDNSZone, um einen GKE-Clusterbereich zu konfigurieren.

dns.managedZones.delete dns.managedZones.delete für das Projekt, das die verwaltete Zone enthält.
dns.managedZones.get dns.managedZones.get für das Projekt, das die verwaltete Zone enthält.
dns.managedZones.list dns.managedZones.list für das Projekt, das die verwaltete Zone enthält.
dns.managedZones.update dns.managedZones.update für das Projekt, das die verwaltete Zone enthält.

Wenn Sie eine private Zone erstellen, benötigen Sie außerdem dns.networks.bindPrivateDNSZone und dns.networks.targetWithPeeringZone für jedes Projekt mit einem VPC-Netzwerk, das für den Zugriff auf die Zone autorisiert ist.

Wenn Sie eine private Zone mit GKE-Integration erstellen, benötigen Sie außerdem dns.gkeClusters.bindPrivateDNSZone, um einen GKE-Clusterbereich zu konfigurieren.

dns.policies.create dns.policies.create für das Projekt, das die Richtlinie enthält.

Wenn die Richtlinie in einem VPC-Netzwerk erstellt wird, benötigen Sie außerdem dns.networks.bindPrivateDNSPolicy für jedes Projekt, das ein VPC-Netzwerk enthält.

dns.policies.delete dns.policies.delete für das Projekt, das die Richtlinie enthält.
dns.policies.get dns.policies.get für das Projekt, das die Richtlinie enthält.
dns.policies.list dns.policies.list für das Projekt, das die Richtlinie enthält.
dns.policies.update dns.policies.update für das Projekt, das die Richtlinie enthält.

Wenn die Richtlinie in einem VPC-Netzwerk aktualisiert wird, benötigen Sie außerdem dns.networks.bindPrivateDNSPolicy für jedes Projekt, das ein VPC-Netzwerk enthält.

dns.projects.get dns.projects.get für das Projekt.
dns.resourceRecordSets.create dns.resourceRecordSets.create für das Projekt, das den Eintragssatz enthält.
dns.resourceRecordSets.delete dns.resourceRecordSets.delete für das Projekt, das den Eintragssatz enthält.
dns.resourceRecordSets.get dns.resourceRecordSets.get für das Projekt, das den Eintragssatz enthält.
dns.resourceRecordSets.list dns.resourceRecordSets.list für das Projekt, das die verwaltete Zone enthält.
dns.resourceRecordSets.update dns.resourceRecordSets.update und dns.changes.create für das Projekt, das den Eintragssatz enthält.
dns.responsePolicies.create dns.responsePolicies.create für das Projekt, das die Antwortrichtlinie enthält.

Sie benötigen außerdem dns.networks.bindDNSResponsePolicy, um die Anfrage zu validieren.

Wenn Sie eine Antwortrichtlinie erstellen möchten, die an einen GKE-Cluster angehängt ist, benötigen Sie dns.gkeClusters.bindDNSResponsePolicy.

dns.responsePolicies.delete dns.responsePolicies.delete für das Projekt, das die Antwortrichtlinie enthält.
dns.responsePolicies.get dns.responsePolicies.get für das Projekt, das die Antwortrichtlinie enthält.
dns.responsePolicies.list dns.responsePolicies.list für das Projekt.
dns.responsePolicies.update dns.responsePolicies.update für das Projekt, das die Antwortrichtlinie enthält.

Sie benötigen außerdem dns.networks.bindDNSResponsePolicy, um die Anfrage zu validieren.

Wenn Sie eine Antwortrichtlinie erstellen möchten, die an einen GKE-Cluster angehängt ist, benötigen Sie dns.gkeClusters.bindDNSResponsePolicy.

dns.responsePolicyRules.create dns.responsePolicyRules.create für das Projekt, das die Antwortrichtlinienregel enthält.
dns.responsePolicyRules.delete dns.responsePolicyRules.delete für das Projekt, das die Antwortrichtlinienregel enthält.
dns.responsePolicyRules.get dns.responsePolicyRules.get für das Projekt, das die Antwortrichtlinienregel enthält.
dns.responsePolicyRules.list dns.responsePolicyRules.list für das Projekt, das die Antwortrichtlinie enthält.
dns.responsePolicyRules.update dns.responsePolicyRules.update für das Projekt, das die Antwortrichtlinienregel enthält.
networksecurity.dnsThreatDetectors.list (Vorabversion) networksecurity.dnsThreatDetectors.list für das Projekt, in dem die VPC-Netzwerke auf Bedrohungen überwacht werden.
networksecurity.dnsThreatDetectors.get (Vorabversion) networksecurity.dnsThreatDetectors.get für das Projekt, in dem die VPC-Netzwerke auf Bedrohungen überwacht werden.
networksecurity.dnsThreatDetectors.create (Vorabversion) networksecurity.dnsThreatDetectors.create für das Projekt mit den VPC-Netzwerken, die Sie auf Bedrohungen überwachen möchten.
networksecurity.dnsThreatDetectors.update (Vorabversion) networksecurity.dnsThreatDetectors.update für das Projekt, in dem die VPC-Netzwerke auf Bedrohungen überwacht werden.
networksecurity.dnsThreatDetectors.delete (Vorabversion) networksecurity.dnsThreatDetectors.delete für das Projekt, in dem die VPC-Netzwerke auf Bedrohungen überwacht werden.

Rollen

In der folgenden Tabelle sind die Cloud DNS API-IAM-Rollen und die jeweiligen Berechtigungen der Rollen aufgeführt. Jede Berechtigung gilt für einen bestimmten Ressourcentyp.

Sie können auch einfache Rollen für DNS-Änderungen verwenden.

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

In der folgenden Tabelle sind die DNS Armor-IAM-Rollen und die jeweiligen Berechtigungen der Rollen aufgeführt.

Rolle Berechtigungen

(roles/networksecurity.dnsThreatDetectorAdmin)

Ermöglicht vollständigen Zugriff auf Ressourcen des DNS-Bedrohungsdetektors.

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)

Ermöglicht Lesezugriff auf Ressourcen des DNS-Bedrohungsdetektors.

networksecurity.dnsThreatDetectors.get

networksecurity.dnsThreatDetectors.list

resourcemanager.projects.get

resourcemanager.projects.list

Zugriffssteuerung verwalten

Mit der Google Cloud Console können Sie die Zugriffssteuerung für Ihre Themen und Projekte verwalten.

So legen Sie Zugriffssteuerungen auf Projektebene fest:

Console

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    Zur IAM-Seite

  2. Wählen Sie im oberen Drop-down-Menü Ihr Projekt aus.

  3. Klicken Sie auf Hinzufügen.

  4. Geben Sie unter Neue Hauptkonten die E-Mail-Adresse eines neuen Hauptkontos ein.

  5. Wählen Sie eine Rolle aus der Liste aus.

  6. Klicken Sie auf Speichern.

  7. Prüfen Sie, ob das Hauptkonto mit der Rolle aufgelistet wird, die Sie ihm zugewiesen haben.

Nächste Schritte