Rollen und Berechtigungen

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

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

Mit IAM können Sie steuern, wer welche Berechtigungen für welche Ressourcen hat. Dazu legen Sie IAM-Richtlinien fest. IAM-Richtlinien gewähren einem Nutzer bestimmte Rollen und dadurch bestimmte Berechtigungen.

Berechtigungen und Rollen

Jede Service Directory API-Methode erfordert, dass der Aufrufer die erforderlichen IAM-Berechtigungen hat. Sie können Berechtigungen zuweisen, indem Sie einem Nutzer, einer Gruppe oder einem Dienstkonto Rollen zuweisen. Zusätzlich zu den grundlegenden Rollen „Owner“, „Editor“ und „Viewer“ können Sie den Nutzern Ihres Projekts Service Directory API-Rollen zuweisen.

Berechtigungen

Welche Berechtigungen für die einzelnen Methoden erforderlich sind, erfahren Sie in der API-Referenzdokumentation für Service Directory.

Rollen

Role Permissions

(roles/servicedirectory.admin)

Full control of all Service Directory resources and permissions.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.*

  • servicedirectory.endpoints.create
  • servicedirectory.endpoints.delete
  • servicedirectory.endpoints.get
  • servicedirectory.endpoints.getIamPolicy
  • servicedirectory.endpoints.list
  • servicedirectory.endpoints.setIamPolicy
  • servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.*

  • servicedirectory.namespaces.associatePrivateZone
  • servicedirectory.namespaces.create
  • servicedirectory.namespaces.delete
  • servicedirectory.namespaces.get
  • servicedirectory.namespaces.getIamPolicy
  • servicedirectory.namespaces.list
  • servicedirectory.namespaces.setIamPolicy
  • servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.*

  • servicedirectory.services.bind
  • servicedirectory.services.create
  • servicedirectory.services.delete
  • servicedirectory.services.get
  • servicedirectory.services.getIamPolicy
  • servicedirectory.services.list
  • servicedirectory.services.resolve
  • servicedirectory.services.setIamPolicy
  • servicedirectory.services.update

(roles/servicedirectory.editor)

Edit Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

(roles/servicedirectory.viewer)

View Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

(roles/servicedirectory.networkAttacher)

Gives access to attach VPC Networks to Service Directory Endpoints

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.attach

(roles/servicedirectory.pscAuthorizedService)

Gives access to VPC Networks via Service Directory

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.access

Service agent roles

Service agent roles should only be granted to service agents.

Role Permissions

(roles/servicedirectory.serviceAgent)

Give the Service Directory service agent access to Cloud Platform resources.

container.clusters.get

gkehub.features.get

gkehub.gateway.delete

gkehub.gateway.generateCredentials

gkehub.gateway.get

gkehub.gateway.patch

gkehub.gateway.post

gkehub.gateway.put

gkehub.locations.*

  • gkehub.locations.get
  • gkehub.locations.list

gkehub.memberships.get

gkehub.memberships.list

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

Zugriffssteuerung über die Google Cloud Console

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

So legen Sie die Zugriffssteuerung auf Projektebene fest:

Console

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

    IAM aufrufen

  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 im Drop-down-Menü die gewünschte Rolle aus: servicedirectory.admin, servicedirectory.editor oder servicedirectory.viewer.

  6. Klicken Sie auf Speichern.

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

Service Directory-Zonen setzen IAM-Einschränkungen außer Kraft

Wenn Sie einer Service Directory-Zone einen Namespace zuweisen, werden die Dienstnamen für alle Clients in allen Netzwerken sichtbar, die zum Abfragen der privaten Zone autorisiert sind. Für DNS gibt es keine IAM-Zugriffssteuerung, da das DNS-Protokoll keine Authentifizierungsfunktion bietet.

Nächste Schritte

  • Mehr zur Identitäts- und Zugriffsverwaltung in der IAM-Dokumentation erfahren
  • Eine Übersicht über Service Directory finden Sie unter Übersicht.