IAM sicher verwenden

Einführung

Auf dieser Seite werden Best Practices zur Sicherheit empfohlen, die Sie berücksichtigen sollten, wenn Sie IAM nutzen.

Diese Seite richtet sich an Nutzer, die mit IAM vertraut sind. Wenn Sie IAM erst seit Kurzem nutzen, erfahren Sie in dieser Anleitung nicht, wie Sie IAM verwenden. Neue Nutzer sollten stattdessen mit der IAM-Kurzanleitung beginnen.

Geringste Berechtigung

❑  
Einfache Rollen umfassen Tausende von Berechtigungen für alle Google Cloud-Dienste. In Produktionsumgebungen sollten Sie einfache Rollen nur zuweisen, wenn es keine Alternative gibt. Gewähren Sie stattdessen vordefinierte Rollen mit den größten Einschränkungen oder benutzerdefinierte Rollen, die Ihren Anforderungen entsprechen.

Wenn Sie eine einfache Rolle ersetzen müssen, können Sie Rollenempfehlungen verwenden, um zu bestimmen, welche Rollen stattdessen zugewiesen werden sollen. Sie können auch den Richtliniensimulator verwenden, um sicherzustellen, dass sich eine Änderung der Rolle nicht auf den Zugriff des Hauptkontos auswirkt.

In den folgenden Fällen kann es sinnvoll sein, einfache Rollen zuzuweisen:

  • Wenn der Google Cloud-Dienst keine vordefinierte Rolle bereitstellt. Die Tabelle mit den vordefinierten Rollen enthält eine Liste der verfügbaren 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 in einem kleinen Team arbeiten, in dem für die Teammitglieder keine umfassenden Berechtigungen erforderlich sind.
❑  
Betrachten Sie jede Komponente Ihrer Anwendung als separate Vertrauensgrenze. Wenn Sie mehrere Dienste haben, für die unterschiedliche Berechtigungen erforderlich sind, erstellen Sie ein separates Dienstkonto für jeden Dienst und gewähren Sie dann jedem Dienstkonto nur die erforderlichen Berechtigungen.
❑  
Beachten Sie, dass die Zulassungsrichtlinien für untergeordnete Ressourcen die Zulassungsrichtlinien für ihre übergeordneten Ressourcen übernehmen. Wenn beispielsweise die Zulassungsrichtlinie für ein Projekt einem Nutzer die Berechtigung erteilt, Compute Engine-VM-Instanzen zu verwalten, kann der Nutzer jede Compute Engine-VM in diesem Projekt unabhängig von der Zulassungsrichtlinie verwalten, die Sie für jede VM festgelegt haben.
❑  
Weisen Sie Rollen im kleinstmöglichen Bereich zu. Wenn ein Nutzer beispielsweise nur Zugriff zum Veröffentlichen von Pub/Sub-Themen benötigt, weisen Sie ihm die Rolle Publisher für dieses Thema zu.
❑  
Geben Sie an, welche Hauptkonten als Dienstkonten fungieren können. Nutzer mit der Rolle „Dienstkontonutzer” für ein Dienstkonto können auf alle Ressourcen zugreifen, auf die das Dienstkonto Zugriff hat. Seien Sie deshalb vorsichtig, wenn Sie einem Nutzer die Rolle „Dienstkontonutzer” zuweisen.
❑  
Geben Sie an, wer in Ihrem Projekt Dienstkonten erstellen und verwalten darf.
❑  
Durch Zuweisen der vordefinierten Rollen Projekt-IAM-Administrator und Ordner-IAM-Administrator wird der Zugriff auf Änderungen an Zulassungsrichtlinien ermöglicht, ohne zu direktem Lese-, Schreib- und Administratorzugriff auf alle Ressourcen zu berechtigen.

Die Zuweisung der Inhaberrolle (roles/owner) zu einem Hauptkonto ermöglicht es ihm, auf fast alle Ressourcen zuzugreifen und sie zu ändern. Dazu gehört auch, dass das Hauptkonto Zulassungsrichtlinien ändern kann. Dieses Ausmaß an Privilegien ist potenziell riskant. Weisen Sie die Inhaberrolle nur dann zu, wenn ein (fast) vollständiger Zugriff erforderlich ist.

Dienstkonten und Dienstkontoschlüssel

❑  
Rotieren Sie die Dienstkontoschlüssel mit der IAM Service Account API. Sie können einen Schlüssel rotieren, indem Sie zuerst einen neuen Schlüssel erstellen, dann die Anwendungen auf den neuen Schlüssel umstellen, den alten Schlüssel deaktivieren und anschließend den alten Schlüssel löschen, wenn Sie sicher sind, dass er nicht mehr benötigt wird.
❑  
Implementieren Sie Prozesse zum Verwalten der vom Nutzer verwalteten Dienstkontoschlüssel.
❑  
Verwechseln Sie die Verschlüsselungsschlüssel nicht mit den Dienstkontoschlüsseln. Verschlüsselungsschlüssel werden in der Regel zum Verschlüsseln von Daten verwendet und Dienstkontoschlüssel werden für den sicheren Zugriff auf Google Cloud APIs verwendet.
❑  
Löschen Sie keine Dienstkonten, die von aktiven Instanzen verwendet werden. Dies kann dazu führen, dass alle oder Teile Ihrer Anwendung nicht funktionieren, wenn Sie nicht zuerst dazu übergegangen sind, ein alternatives Dienstkonto zu verwenden.
❑  
Verwenden Sie den Anzeigenamen eines Dienstkontos, um zu verfolgen, wofür sie verwendet werden und welche Berechtigungen sie haben sollten.
❑  
Nehmen Sie die Dienstkontoschlüssel nicht in den Quellcode auf und belassen Sie sie nicht im Downloadverzeichnis.

Audit

❑  
Mit Logs aus Cloud-Audit-Logs können Sie regelmäßig Änderungen an Ihrer Zulassungsrichtlinie prüfen.
❑  
Exportieren Sie Audit-Logs in den Cloud-Speicher, um Ihre Logs über einen längeren Zeitraum zu speichern.
❑  
Prüfen Sie, wer die Möglichkeit hat, Ihre Zulassungsrichtlinien in Ihren Projekten zu ändern.
❑  
Schränken Sie den Zugriff auf Logs mit Logging-Rollen ein.
❑  
Wenden Sie auf die Google Cloud-Ressource dieselben Zugriffsrichtlinien an, die Sie auch für das Routing von Logs aus dem Log-Explorer verwenden.
❑  
Prüfen Sie mit Logs aus Cloud-Audit-Logs regelmäßig den Zugriff auf Dienstkontoschlüssel.

Richtlinienverwaltung

❑  
Wenn ein Hauptkonto Zugriff auf alle Projekte in Ihrer Organisation benötigt, weisen Sie dem Hauptkonto Rollen auf Organisationsebene zu.
❑  
Weisen Sie Rollen nach Möglichkeit einer Google-Gruppe (in Google Groups) anstelle von einzelnen Nutzern zu. Es ist einfacher, Mitglieder zu einer Google-Gruppe hinzuzufügen und aus dieser zu entfernen, als Zulassungsrichtlinien so zu ändern, dass Nutzer hinzugefügt oder entfernt werden.
❑  
Wenn Sie mehrere Rollen zuweisen müssen, um eine bestimmte Aufgabe zu ermöglichen, erstellen Sie eine Google-Gruppe, weisen dieser Gruppe die Rollen zu und fügen ihr anschließend Nutzer hinzu.