Häufig gestellte Fragen

Informationen zu häufigen Problemen, die bei der Verwendung von Cloud Identity and Access Management auftreten können.

Informationen zu Google Cloud Identity and Access Management

Was ist Google Cloud Identity and Access Management (Cloud IAM)?

Mit Cloud IAM können Sie Berechtigungen für Google Cloud-Ressourcen erstellen und verwalten. Es fasst die Zugriffssteuerung für Google Cloud-Dienste in einem System zusammen und ermöglicht so einheitliche Vorgänge. Die verschiedenen Konzepte finden Sie in der IAM-Übersicht.

Wofür brauche ich Cloud IAM?

Mit Cloud IAM haben Sie die Möglichkeit, das Principle of Least Privilege (Prinzip der geringsten Berechtigung) anzuwenden, damit Sie nur den notwendigen Zugriff auf Ihre Ressourcen gewähren und den unerwünschten Zugriff auf andere Ressourcen verhindern. Sie können durch Cloud IAM sicherstellen, dass Compliance-Richtlinien zur Funktionstrennung eingehalten werden.

Welche der Google Cloud-Dienste unterstützen Cloud IAM?

Alle Google Cloud-Dienste verwenden Cloud IAM, um sicherzustellen, dass nur autorisierte Identitäten darauf zugreifen können. Darüber hinaus stellen einige Dienste dienstbasierte IAM-Rollen bereit oder unterstützen die Gewährung des Zugriffs auf Ressourcenebene. Weitere Informationen zum IAM-Support finden Sie in der Übersicht.

Wie beginne ich am besten mit der Nutzung von Cloud IAM?

Über die ersten Schritte mit Cloud IAM können Sie sich in der IAM-Kurzanleitung informieren.

Kann ich Authentifizierung und Autorisierung für meine Anwendungen mit Cloud IAM verwalten?

Verwenden Sie IAM, um die Autorisierung für Google Cloud-Ressourcen zu verwalten. Für die Verwaltung der Nutzerauthentifizierung sollten Sie die Methoden verwenden, die Sie bislang verwendet haben, zum Beispiel LDAP oder Google-Gruppen (in Google Groups). Mit IAM können Sie Zugriff auf ein Google-Konto, ein Dienstkonto, eine Google-Gruppe, eine Cloud Identity-Domain oder eine G Suite-Domain gewähren.

Rollen und Richtlinien

Wie hängen Rollen und Richtlinien zusammen?

Berechtigungen bestimmen, welche Vorgänge bei einer Ressource zugelassen sind. In IAM haben Berechtigungen die Form <service>.<resource>.<verb>, zum Beispiel compute.instances.get. Eine Rolle ist eine Sammlung von Berechtigungen. Es ist nicht möglich, dem Nutzer eine Berechtigung direkt zu gewähren; stattdessen wird ihm eine Rolle zugewiesen. Wenn Sie einem Nutzer eine Rolle zuweisen, erhält er alle mit ihr verknüpften Berechtigungen.

In IAM können Sie steuern, wer (Nutzer) welche (Rollen) Berechtigung für welche Ressourcen hat, indem Sie die IAM-Richtlinien festlegen. Eine IAM-Richtlinie in einer Ressource ist die vollständige Liste der Rollen, die den Mitgliedern für die Ressource gewährt wurden.

Mehr über Berechtigungen, Rollen und Richtlinien erfahren Sie in der IAM-Übersicht.

Was ist der Unterschied zwischen einfachen und vordefinierten Rollen?

Einfache Rollen sind die alten Rollen "Inhaber", "Bearbeiter" und "Betrachter". IAM bietet vordefinierte Rollen, die eine feiner abgestufte Zugriffssteuerung ermöglichen als einfache Rollen. Weisen Sie Identitäten nach Möglichkeit vordefinierte Rollen zu, um nur das geringste Maß an Zugriff zu gewähren, das für Ihre Ressourcen notwendig ist.

Wann verwende ich einfache Rollen?

Verwenden Sie einfache Rollen in den folgenden Fällen:

  • Wenn der Google Cloud-Dienst keine vordefinierte Rolle bereitstellt. Eine Liste der verfügbaren vordefinierten Rollen finden Sie in der Tabelle mit vordefinierten Rollen.

  • Wenn Sie umfassendere Berechtigungen für ein Projekt gewähren möchten. Dies ist oft der Fall, wenn Sie Berechtigungen in Entwicklungs- oder Testumgebungen gewähren.

  • Wenn Sie einem Mitglied die Änderung von Berechtigungen in einem Projekt erlauben müssen, sollten Sie ihm die Rolle "Inhaber" zuweisen, da nur Inhaber berechtigt sind, anderen Nutzern Zugriff für Projekte zu gewähren.

  • Wenn Sie in einem kleinen Team arbeiten, in dem für die Teammitglieder keine detaillierten Berechtigungen erforderlich sind.

Kann ich meine eigenen, individuellen Rollen festlegen?

Ja, mehr Informationen finden Sie im Artikel zu benutzerdefinierten Rollen.

Wie kann ich herausfinden, welche Rollen in einer Ressource gewährt sind?

Mithilfe der Cloud Console, der MethodegetIamPolicy() oder des gcloud-Befehlszeilentools können Sie ermitteln, welche Rollen für eine Ressource gewährt werden. Weitere Informationen.

Wie sieht eine Cloud IAM-Richtlinie aus?

Eine IAM-Richtlinie wird durch ein Richtlinienobjekt dargestellt, das aus einer Liste von Bindungen besteht. Durch eine Bindung wird eine Liste von Mitgliedern mit einer Rolle verknüpft. Dies kann wie in diesem beispielhaften Code-Snippet als Code dargestellt werden:

{
      "bindings": [
       {
         "role": "roles/owner",
         "members": [
           "user:alice@example.com",
           "group:admins@example.com",
           "domain:google.com",
           "serviceAccount:my-other-app@appspot.gserviceaccount.com"]
          },
          {
            "role": "roles/compute.networkViewer",
            "members": ["user:bob@example.com"]
          }
        ]
    }
    

Die obige Beispielrichtlinie weist alice@example.com, admins@example.com, google.com und my-other-app@appspot.gserviceaccount.com die Inhaberrolle und bob@example.com die Rolle des Netzwerkbetrachters zu.

Wie kann ich meine Cloud IAM-Richtlinien erstellen und verwalten?

IAM-Richtlinien können mit der Google Cloud Console, mit dem gcloud-Tool und mit den IAM-Methoden erstellt und verwaltet werden. Weitere Informationen.

Wie kann ich die Cloud IAM-Richtlinie meines Projekts ermitteln?

Sie können die IAM-Richtlinie eines Projekts mithilfe der Cloud Console, der Methode project.getIamPolicy() oder des gcloud-Tools ermitteln. Weitere Informationen.

Wie kann ich meine Richtlinie auf Organisationsebene ermitteln?

Sie finden die Richtlinie auf Organisationsebene mithilfe der Cloud Console, der Methode organization.getIamPolicy() oder des gcloud-Tools. Unter Zugriffskontrolle für Organisationen erhalten Sie weitere Informationen darüber, wie Sie Richtlinien auf Organisationsebene finden können.

Wie wird eine Richtlinie aktualisiert?

Sie können eine Richtlinie mithilfe der Cloud Console, der REST API oder des gcloud-Tools aktualisieren. Weitere Informationen.

Ist die Anzahl der Mitglieder, die ich in eine Richtlinie aufnehmen kann, beschränkt?

Ja, die Anzahl der Mitglieder in einer Richtlinie ist begrenzt. Weitere Informationen finden Sie unter Kontingente und Limits für Cloud IAM.

Wie kann ich Fehler in meinen Richtlinien beheben?

Mit der Methode testIamPermissions() können Sie prüfen, welche Berechtigungen der Aufrufer für die angegebene Ressource hat. Diese Methode nimmt einen Ressourcennamen und eine Reihe von Berechtigungen als Parameter und gibt den Teil davon zurück, der den Berechtigungen des Aufrufers entspricht.

Sie können den Effekt einer IAM-Rolle überprüfen. Ein Nutzer kann beispielsweise nicht auf die Cloud Console-Seite zugreifen, für die ihm kein Zugriff gewährt wurde. Wenn Sie einem Nutzer zum Beispiel nur die Rolle "Log-Betrachter" zugewiesen haben, sieht er die folgende Fehlermeldung, wenn er versucht, auf die App Engine-Seite zuzugreifen:

Sie sind nicht dazu berechtigt, die Aktion für die ausgewählte Ressource durchzuführen.

Identitäten

Welchen Identitäten kann ich Cloud IAM-Rollen zuweisen?

Mit Cloud IAM können Sie den folgenden Identitäten Zugriff gewähren:

  • Google-Konto
  • Dienstkonto
  • Google-Gruppe (in Google Groups)
  • G Suite- oder Cloud Identity-Domain

Kann ich Google Groups mit Cloud IAM verwenden?

Normalerweise ja. Eine Ausnahme ist die Inhaberrolle. Die Inhaberrolle für ein Projekt kann einer Gruppe nur zugewiesen werden, wenn die Gruppe und das Projekt Teil derselben Organisation sind. Gruppen können für Projekte ohne Organisation nicht als Inhaber fungieren und Projekten in anderen Organisationen nicht als Inhaber zugewiesen werden.

Weisen Sie Rollen andernfalls nach Möglichkeit einer Gruppe in Google Groups anstatt einzelnen Nutzern zu. Es ist einfacher, Mitglieder zu einer Google-Gruppe hinzuzufügen oder aus ihr zu entfernen, als mehrere Cloud IAM-Richtlinien zu aktualisieren, um Nutzer hinzuzufügen oder zu entfernen. Wenn Sie mehrere Rollen zuweisen müssen, um eine bestimmte Aufgabe zu erledigen, erstellen Sie eine Gruppe in Google Groups, weisen Sie dieser Gruppe die Rollen zu und fügen Sie ihr anschließend Nutzer oder andere Gruppen hinzu.

Jede Cloud IAM-Richtlinie kann bis zu 250 Google-Gruppen enthalten.

Kann ich meine Nutzer mit Cloud IAM erstellen und verwalten?

Nein. Für die Erstellung und Verwaltung von Nutzern verwenden Sie Cloud Identity oder die G Suite. Sie können Ihre Nutzer auch mit Ihren aktuellen Methoden, wie z. B. LDAP oder Google Groups, verwalten. Wenn Sie Ihre Nutzer mit LDAP verwalten, müssen Sie Google Cloud Directory Sync verwenden, um die Daten in Ihrer Google-Domain zu synchronisieren. Unabhängig von der Methode, die Sie zum Verwalten Ihrer Nutzer verwenden, müssen Sie Nutzer mit einer Rolle in einer IAM-Richtlinie verknüpfen, um ihnen den Zugriff auf Ressourcen zu gewähren. Verwenden Sie hierfür vorzugsweise Google Groups.

Wie kann ich den Zugriff eines Nutzers auf Cloud IAM-Ressourcen deaktivieren?

Wenn Sie dem Nutzer über eine Gruppe in Google Groups eine IAM-Rolle zugewiesen haben, können Sie ihn aus der Gruppe entfernen. Er verfügt dann nicht mehr über die Zugriffsrechte, die Sie der Gruppe gewährt haben. Wenn Sie keine Gruppe verwendet haben, müssen Sie die Richtlinien überprüfen und diejenige ermitteln, in der Sie dem einzelnen Nutzer Zugriff gewährt haben. Entfernen Sie ihn aus der Richtlinie und aktualisieren Sie diese. Es ist einfacher, Zugriff über Google Groups zu gewähren, da Sie dann nicht alle Ihre Richtlinien aktualisieren müssen, um die Zugriffsrechte eines einzelnen Nutzers zu widerrufen. Mehr erfahren

.

Warum kann ein Nutzer kurz, nachdem der Zugriff auf Ressourcen gewährt wurde, noch nicht darauf zugreifen oder weiter auf Ressourcen zugreifen, nachdem die Berechtigung dazu entfernt wurde?

In der Regel dauert es weniger als 60 Sekunden, bis der Zugriff eines Mitglieds gewährt oder widerrufen wurde. Unter bestimmten Umständen kann es jedoch bis zu sieben Minuten dauern, bis sich die Änderungen vollständig im System ausgebreitet haben.

Wie weise ich einem Nutzer Berechtigungen für Ressourcen in meinem Projekt zu, der kein Mitglied meiner Organisationen ist?

Mit Google Groups können Sie Nutzer zu einer Gruppe hinzufügen, die zu keiner Ihrer Organisationen gehören, und diese Gruppe mit der Rolle verbinden. Beachten Sie, dass Google-Gruppen keine Anmeldedaten haben und Sie Google-Gruppen nicht verwenden können, um eine Identität nachzuweisen, wie es für eine Anfrage zum Zugriff auf eine Ressource erforderlich ist.

Sie haben darüber hinaus die Möglichkeit, den Nutzer direkt zur IAM-Richtlinie hinzuzufügen. Dies gilt auch dann, wenn er nicht zu Ihrer Organisation gehört. Sie sollten sich allerdings bei Ihrem Administrator darüber informieren, ob dieser Vorgang Ihren Unternehmensrichtlinien entspricht.

Wie kann ich den Zugriff auf meine Instanzen einschränken?

Verwenden Sie Google-Gruppen, um Identitäten mit Rollen zu verbinden und den Zugriff auf Instanzen einzuschränken. Diese Bindung wird im Rahmen einer Richtlinie angezeigt, die auf der Projektebene angewendet wird, auf der die Instanzen gestartet werden. Wenn ein Nutzer, der durch sein Google-Konto identifiziert wird, zum Beispiel ihr-nutzer@yourdomain.com, kein Mitglied der Gruppe ist, die an die IAM-Richtlinie gebunden ist, kann er auch nicht auf die Ressource zugreifen, in der die Richtlinie angewendet wird.

Wie kann ich die Multi-Faktor-Authentifizierung (MFA) mit Cloud IAM verwenden?

Wenn einzelne Nutzer MFA verwenden, werden die von ihnen authentifizierten Methoden berücksichtigt. Dies bedeutet, dass Ihr eigenes Identitätssystem MFA unterstützen muss. Bei G Suite-Konten muss dies vom Nutzer aktiviert werden. MFA kann für Anmeldedaten, die über G Suite verwaltet werden, mit G Suite-Tools aktiviert werden.

Wie unterscheidet sich ein Dienstkonto von einem Nutzer, der Cloud IAM verwendet?

Ein Dienstkonto ist ein spezielles Google-Konto, das von Anwendungen genutzt werden kann, um programmatisch auf Google-Dienste zuzugreifen. Dieses Konto gehört nicht zu einem einzelnen Endnutzer, sondern zu Ihrer Anwendung oder einer virtuellen Maschine (VM). Ihre Anwendung ruft mithilfe des Dienstkontos die Google API eines Dienstes auf, sodass die Nutzer nicht direkt beteiligt sind.

Dienstkonten

Wie viele Dienstkonten kann mein Projekt maximal haben?

Standardmäßig können Sie in einem Projekt bis zu 100 Dienstkonten erstellen. Wenn Sie in einem Projekt zusätzliche Dienstkonten erstellen müssen, können Sie eine Erhöhung des Kontingents beantragen.

Wie kann ich bei der Verwendung von Cloud IAM die Dienstkontoschlüssel rotieren?

Die von GCP verwalteten Schlüssel werden täglich rotiert. Um die von Nutzern verwalteten Schlüssel zu rotieren, verwenden Sie die IAM-Dienstkonto-API, um Ihre Dienstkontoschlüssel automatisch zu rotieren. Sie können einen Schlüssel rotieren, indem Sie zuerst einen neuen Schlüssel erstellen, dann die Anwendungen auf den neuen Schlüssel umstellen und anschließend den alten Schlüssel löschen. Verwenden Sie die Methoden serviceAccount.keys().create() und serviceAccount.keys().delete() zusammen, um die Rotation zu automatisieren.

Wie kann ich steuern, wer in meinem Projekt ein Dienstkonto erstellen darf?

Die Rollen "Inhaber" und "Bearbeiter" sind berechtigt, Dienstkonten in einem Projekt zu erstellen. Wenn Sie einem Nutzer die Berechtigung gewähren möchten, ein Dienstkonto zu erstellen, weisen Sie ihm die Rolle "Inhaber" oder "Bearbeiter" zu.

Kann ich ein Dienstkonto unter einer Organisation erstellen?

Momentan können Sie Dienstkonten nur unter einem Projekt erstellen. Die Erstellung eines Dienstkontos direkt unter einer Organisation ist nicht möglich. Wenn Sie jedoch IAM-Berechtigungen auf Organisationsebene gewähren, werden die Berechtigungen von Projekten unter der Organisation sowie anschließend von Dienstkonten unter den Projekten übernommen.

Ich verfüge über ein spezielles Team für die Verwaltung von Netzwerk- und Firewallregeln. Wie kann ich diese Aufgabentrennung beibehalten, damit meine Entwicklerteams zwar Instanzen verwalten, aber keine Änderungen an Netzwerken und Firewalls vornehmen können?

Weisen Sie zuerst den Netzwerkadministratoren die Rolle Compute-Netzwerkadministrator auf Organisations- oder Projektebene zu. Weisen Sie dann den Entwicklern die Rolle Compute-Instanzadministrator zu. Durch diese Aufgabentrennung können Entwickler Aktionen für Instanzen ausführen und Sie verhindern gleichzeitig, dass Entwickler Änderungen an den Netzwerkressourcen vornehmen, die mit dem Projekt verknüpft sind.

Ich muss sicherstellen, dass die Teams in meiner Organisation nicht auf die Instanz des jeweils anderen Teams zugreifen können. Wie kann ich das tun?

Erstellen Sie für jedes Team ein Projekt, also insgesamt zwei Projekte. Erstellen Sie dann separate Richtlinien für jedes Projekt, um zu bestimmen, welche Teams auf welches Projekt und zugehörige Instanzen zugreifen können. Alternativ haben Sie die Möglichkeit, Dienstkonten mit unterschiedlichen Rollen zu verwenden.

Kann ich das Dienstkonto ändern, das ich zum Starten meiner Instanz verwende?

Ja. Das Dienstkonto für eine ausgeführte Compute Engine-Instanz kann allerdings nicht geändert werden. Die Instanz muss dazu vorübergehend beendet werden. Weisen Sie in diesem Fall nach dem Beenden der Instanz ein neues Dienstkonto zu und starten Sie die Instanz neu. Weitere Informationen finden Sie in der Compute Engine-Dokumentation.

In welchen Fällen wird die Rolle "Dienstkontonutzer" verwendet?

Die Rolle "Dienstkontonutzer" (Service Account Actor) ist veraltet. Wenn Sie Vorgänge mit einem Dienstkonto ausführen müssen, verwenden Sie die Rolle Dienstkontonutzer.

In welchen Fällen wird die Rolle "Dienstkontonutzer" verwendet?

Mit der Rolle Dienstkontonutzer werden die Berechtigungen zum Ausführen von Vorgängen als Dienstkonto gewährt. Wenn die Rolle iam.serviceAccountUser zusammen mit der Rolle compute.instanceAdmin zugewiesen wird, können Nutzer Compute Engine-Instanzen erstellen und verwalten, die ein Dienstkonto verwenden. Nutzer mit serviceAccountUsers als Dienstkonto können auf alle Ressourcen zugreifen, auf die das Dienstkonto Zugriff hat.

Audit

Wie kann ich meine Cloud IAM-Richtlinien überprüfen?

Sie können Cloud-Audit-Logs verwenden, um Änderungen an Ihren IAM-Richtlinien regelmäßig zu überprüfen. Je nach Typ des Audit-Logs werden sie entweder 30 Tage (Datenzugriffslogs) oder 400 Tage (Administratoraktivitätslogs und Systemereignislogs) aufbewahrt.

Was wird in den Audit-Logs aufgezeichnet?

Audit-Logs für Administrator-Aktivitäten enthalten einen Eintrag für jeden API-Aufruf oder jede administrative Aktion, die die Konfiguration oder die Metadaten eines Dienstes oder Projekts ändert. Audit-Logs für Datenzugriffe enthalten einen Eintrag für die folgenden Ereignisse:

  • API-Aufrufe oder administrative Aktionen, die die Konfiguration oder die Metadaten eines Dienstes oder Projekts lesen.

  • API-Aufrufe oder administrative Aktionen, die vom Nutzer bereitgestellte Daten, die von einem Dienst verwaltet werden, erstellen, ändern oder lesen, zum Beispiel in einem Datenbankdienst gespeicherte Daten.

  • Die Methode setIamPolicy() auf Projektebene wird aufgezeichnet.

  • Dienstkonten und Dienstkontoschlüssel werden protokolliert.

Wie kann ich steuern, wer auf meine Audit-Logs zugreifen kann?

Sie können den Zugriff auf Logs mit Cloud Logging-Rollen einschränken.

Wie kann ich meine Audit-Logs aufbewahren?

Die einzelnen Audit-Logeinträge werden für einen bestimmten Zeitraum gespeichert und danach gelöscht. In der Kontingentrichtlinie für Cloud Logging ist angegeben, wie lange Logeinträge aufbewahrt werden. Wenn Sie Ihre Logeinträge länger aufbewahren möchten, als es gemäß der Kontingentrichtlinie zulässig ist, exportieren Sie Ihre Logs von Cloud Logging in einen Cloud Storage-Bucket oder nach BigQuery.