Rollen und Berechtigungen

Google Cloud bietet mit der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) die Möglichkeit, bestimmten Google Cloud-Ressourcen detaillierte Zugriffsrechte zuzuweisen und unerwünschten Zugriff auf andere Ressourcen zu verhindern. 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 die 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 Ressourcendatensätze erstellen und aktualisieren kann (welche). Eine Supportabteilung hingegen muss eventuell die vorhandenen Ressourcendatensätze nur aufrufen und benötigt daher lediglich 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 einzelner DNS-Zonen (oder Ressourcen) finden Sie unter Zone mit bestimmten IAM-Berechtigungen erstellen.

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 zum Erstellen eines Ressourcendatensatzes dns.changes.create und dns.resourceRecordSets.create für das Projekt, das den Datensatz enthält
dns.changes.create zum Aktualisieren eines Ressourcendatensatzes dns.changes.create und dns.resourceRecordSets.update für das Projekt, das den Datensatz enthält
dns.changes.create zum Löschen eines Ressourcendatensatzes dns.changes.create und dns.resourceRecordSets.delete für das Projekt, das den Datensatz 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, das ein VPC-Netzwerk enthält, das für das Zugreifen auf die Zone autorisiert wird.

Wenn Sie eine private Zone mit GKE-Integration erstellen, benötigen Sie außerdem dns.gkeClusters.bindPrivateDNSZone für jeden GKE-Cluster, den Sie für den Zugriff auf die Zone autorisieren.

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, das ein VPC-Netzwerk enthält, das für das Zugreifen auf die Zone autorisiert wird.

Wenn Sie eine private Zone an einen GKE-Cluster binden, benötigen Sie außerdem dns.gkeClusters.bindPrivateDNSZone für jeden GKE-Cluster, den Sie für den Zugriff auf die Zone autorisieren.

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 Datensatz enthält.
dns.resourceRecordSets.delete dns.resourceRecordSets.delete für das Projekt, das den Datensatz enthält.
dns.resourceRecordSets.get dns.resourceRecordSets.get für das Projekt, das den Datensatz enthält.
dns.resourceRecordSets.list dns.resourceRecordSets.list für das Projekt, das die verwaltete Zone enthält.
dns.resourceRecordSets.update dns.resourceRecordSets.update für das Projekt, das den Datensatz 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.

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

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. Öffnen Sie in der Google Cloud Console die Seite IAM.

    Zur Seite „IAM“

  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 die gewünschte Rolle im Drop-down-Menü 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