FAQ

Hier finden Sie Informationen zu häufigen Problemen, die bei der Verwendung von Identity and Access Management (IAM) auftreten können.

Informationen zu IAM

Was ist IAM?

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

Warum benötige ich IAM?

Mit IAM haben Sie die Möglichkeit, das Sicherheitsprinzip der geringsten Berechtigung anzuwenden, damit Sie nur den notwendigen Zugriff auf Ihre Ressourcen gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern. Sie können durch IAM sicherstellen, dass Richtlinien zur Funktionstrennung eingehalten werden.

Welche der Google Cloud-Dienste unterstützen IAM?

Alle Google Cloud-Dienste verwenden IAM, um zu gewährleisten, 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.

Erste Schritte mit IAM

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

Kann ich die Authentifizierung und Autorisierung für meine Anwendungen mit 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.

Mit IAM steuern Sie, welche Nutzer welche Rollen haben und somit berechtigt sind, auf welche Ressourcen zuzugreifen, indem Sie 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 umfassenden 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 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:jiwoo@example.com",
       "group:admins@example.com",
       "domain:google.com",
       "serviceAccount:my-other-app@appspot.gserviceaccount.com"]
      },
      {
        "role": "roles/compute.networkViewer",
        "members": ["user:luis@example.com"]
      }
    ]
}

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

Wie kann ich meine 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 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 IAM.

Wie kann ich Fehler in meinen Richtlinien beheben?

Mit der Methode testIamPermissions() können Sie überprü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 der Berechtigungen des Aufrufers zurück.

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.

Warum erhalte ich die Fehlermeldung "Gleichzeitige Richtlinienänderungen", wenn ich versuche, eine Richtlinie zu aktualisieren?

Damit verhindert wird, dass sich gleichzeitige Richtlinienänderungen gegenseitig überschreiben, enthält jede IAM-Richtlinie das Feld etag, das sich bei jeder Aktualisierung der Richtlinie ändert. Wenn Sie versuchen, eine aktualisierte Richtlinie zu schreiben, und das etag in Ihrer Anfrage nicht mit der vorhandenen Richtlinie übereinstimmt, erhalten Sie die folgende Fehlermeldung:

Es wurden gleichzeitige Richtlinienänderungen vorgenommen. Wiederholen Sie den gesamten Read-Modify-Write-Zyklus mit exponentiellem Backoff.

Weitere Informationen zu diesem Problem finden Sie unter ETags in einer Richtlinie verwenden.

Identitäten

Welchen Identitäten kann ich IAM-Rollen zuweisen?

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

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

Kann ich Google Groups mit 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 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 dieser Gruppe die Rollen zu und fügen ihr anschließend Nutzer oder andere Gruppen hinzu.

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

Kann ich meine Nutzer mit 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 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 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 nicht über Zugangsdaten verfügen 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 zu der 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 verwalten?

Wenn Sie festlegen möchten, wer Zugriff auf Ihre Instanzen hat, können Sie mithilfe von Google-Gruppen die Identitäten an Rollen binden. Diese Bindung wird im Rahmen einer Richtlinie angezeigt, die auf der Projektebene angewendet wird, auf der die Instanzen gestartet werden. Wenn ein Nutzer, identifiziert durch sein Google-Konto wie z. B. mein-nutzer@beispiel.com, kein Mitglied der Gruppe ist, die an eine Rolle gebunden ist, hat er keinen Zugriff auf die Ressource, auf die die Richtlinie angewendet wird.

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

Wenn einzelne Nutzer MFA verwenden, werden die von ihnen zur Authentifizierung verwendeten 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 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 IAM die Dienstkontoschlüssel rotieren?

Die von Google Cloud 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. Zum Rotieren eines Schlüssels gehen Sie so vor: Erstellen Sie zuerst einen neuen Schlüssel, wechseln Sie dann die Anwendungen, um den neuen Schlüssel anzuwenden, und löschen Sie anschließend den alten Schlüssel. Verwenden Sie die Methode serviceAccount.keys().create() und die Methode serviceAccount.keys().delete() gemeinsam, 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" (Service Account Actor) verwendet?

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

In welchen Fällen wird die Rolle "Dienstkontonutzer" (Service Account User) verwendet?

Mit der Rolle Dienstkontonutzer (Service Account User) 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 IAM-Richtlinien überprüfen?

Änderungen an Ihrer IAM-Richtlinie können Sie mit Cloud-Audit-Logs regelmäßig ü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 Administratoraktivitäten enthalten einen Eintrag für jeden API-Aufruf oder für 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 steuern.

Wie kann ich meine Audit-Logs dauerhaft aufbewahren?

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