IAM sicher verwenden

Einführung

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

Diese Seite richtet sich an Nutzer, die Erfahrung mit Cloud IAM haben. Wenn Sie gerade erst mit IAM beginnen, erfahren Sie in dieser Anleitung nicht, wie damit gearbeitet wird. Neue Nutzer sollten mit der Kurzanleitung zu Cloud IAM beginnen.

Geringste Berechtigung

❑  
Vermeiden Sie bei sicherheitsrelevanten Ressourcen einfache Rollen wie z. B. roles/owner, roles/editor und roles/viewer. Weisen Sie stattdessen vordefinierte Rollen zu, um den Zugriff mit den jeweils geringsten Berechtigungen zu gewähren.
❑  
Weisen Sie in den folgenden Fällen einfache Rollen zu:
  • 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 in einem kleinen Team arbeiten, in dem für die Teammitglieder keine detaillierten 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.
❑  
Denken Sie daran, dass eine Richtlinie, die für eine untergeordnete Ressource festgelegt ist, den Zugriff auf ihre übergeordnete Ressourcen nicht einschränken kann. Prüfen Sie die Richtlinien, die den einzelnen Ressourcen zugewiesen sind, und achten Sie darauf, dass Sie das Konzept der hierarchischen Übernahme verstanden haben.
❑  
Weisen Sie Rollen im kleinstmöglichen Bereich zu. Wenn ein Nutzer beispielsweise nur Zugriff auf die Veröffentlichung eines Pub/Sub-Themas haben muss, weisen Sie ihm für dieses Thema die Rolle Publisher zu.
❑  
Schränken Sie ein, wer als Dienstkonto fungieren kann. Nutzer, denen die Rolle "Dienstkontonutzer" für ein Dienstkonto zugewiesen ist, können auf alle Ressourcen zugreifen, auf die das Konto Zugriff hat. Seien Sie deshalb vorsichtig, wenn Sie einem Nutzer die Rolle "Dienstkontonutzer" zuweisen.
❑  
Schränken Sie ein, wer Zugriff zum Erstellen und Verwalten von Dienstkonten in einem Projekt hat.
❑  
Durch Zuweisen der vordefinierten Rollen Projekt-IAM-Administrator und Ordner-IAM-Administrator wird der Zugriff auf Änderungen an Cloud IAM-Richtlinien ermöglicht, ohne zu direktem Lese-, Schreib- und Administratorzugriff auf alle Ressourcen zu berechtigen.

Wird einem Mitglied die Inhaberrolle (roles/owner) zugewiesen, kann dieses auf fast alle Ressourcen zugreifen und sie ändern, einschließlich der Änderung von Cloud IAM-Richtlinien. Dieses Ausmaß an Privilegien ist potenziell riskant. Weisen Sie die Inhaberrolle (roles/owner) nur dann zu, wenn ein (fast) vollständiger Zugriff erforderlich ist.

Dienstkonten und Dienstkontoschlüssel

❑  
Rotieren Sie die Dienstkontoschlüssel mithilfe der Cloud 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 und anschließend den alten Schlüssel löschen. Verwenden Sie die Methode serviceAccount.keys.create() und die Methode serviceAccount.keys.delete() zusammen, um die Rotation zu automatisieren.
❑  
Implementieren Sie Prozesse zum Verwalten von Dienstkontoschlüsseln, die von Nutzern verwaltet werden.
❑  
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 Ihre gesamte Anwendung oder Teile davon 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 es verwendet wird und welche Berechtigungen es haben sollte.
❑  
Nehmen Sie die Dienstkontoschlüssel nicht in den Quellcode auf und belassen Sie sie nicht im Downloadverzeichnis.

Audit

❑  
Verwenden Sie Logs von Cloud-Audit-Logs, um Änderungen an Ihren IAM-Richtlinien regelmäßig zu prüfen.
❑  
Exportieren Sie Audit-Logs nach Cloud Storage, um Ihre Logs über einen längeren Zeitraum zu speichern.
❑  
Prüfen Sie, wer die Möglichkeit hat, die Cloud IAM-Richtlinien in Ihren Projekten zu ändern.
❑  
Schränken Sie den Zugriff auf Logs mithilfe von Logging-Rollen ein.
❑  
Wenden Sie auf die Google Cloud-Ressource dieselben Zugriffsrichtlinien an, die Sie auch zum Exportieren von Logs aus der Loganzeige verwenden.
❑  
Prüfen Sie mit Logs von Cloud-Audit-Logs regelmäßig den Zugriff auf Dienstkontoschlüssel.

Richtlinienverwaltung

❑  
Definieren Sie IAM-Richtlinien auf Organisationsebene so, dass Zugriff auf alle Projekte in Ihrer Organisation gewährt wird.
❑  
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 Cloud IAM-Richtlinien so zu aktualisieren, 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.