Rotation von Dienstkontoschlüsseln

Dienstkontoschlüssel sind private Schlüssel, mit denen Sie sich als Dienstkonto authentifizieren können. Die Schlüsselrotation ist der Prozess, bei dem Ihre vorhandenen Schlüssel durch neue Schlüssel ersetzt und dann die ersetzten Schlüssel ungültig werden. Wir empfehlen, regelmäßig alle von Ihnen verwalteten Schlüssel zu rotieren, einschließlich der Dienstkontoschlüssel.

Durch die Rotation von Dienstkontoschlüsseln kann das Risiko von gehackten oder gestohlenen Schlüsseln verringert werden. Wenn ein Schlüssel versehentlich gehackt wurde, kann es den böswilligen Akteuren Tage oder Wochen dauern, bis er den Schlüssel erkennt. Wenn Sie Ihre Dienstkontoschlüssel regelmäßig rotieren, ist die Wahrscheinlichkeit höher, dass die gehackten Schlüssel ungültig sind, bis ein böswilliger Akteur sie erhält.

Mit einem etablierten Prozess zur Rotation von Dienstkontoschlüsseln können Sie schnell reagieren, wenn Sie vermuten, dass ein Dienstkontoschlüssel manipuliert wurde.

Wie oft sollten Schlüssel rotiert werden

Wir empfehlen, Schlüssel mindestens alle 90 Tage zu rotieren, um das Risiko von gehackten Schlüsseln zu verringern.

Wenn Sie der Meinung sind, dass ein Dienstkontoschlüssel manipuliert wurde, sollten Sie ihn sofort rotieren.

Schlüsselrotationsprozess

So rotieren Sie Dienstkontoschlüssel:

  1. Ermitteln Sie die Dienstkontoschlüssel, die rotiert werden sollen.
  2. Erstellen Sie neue Schlüssel für dieselben Dienstkonten.
  3. Ersetzen Sie die vorhandenen Schlüssel durch die neuen Schlüssel in allen Anwendungen.
  4. Deaktivieren Sie die ersetzten Schlüssel und überwachen Sie die Anwendungen, um zu prüfen, ob sie wie erwartet funktionieren.
  5. Löschen Sie die ersetzten Dienstkontoschlüssel.

Sie können diese Schritte mit einem zentralen Secret-Verwaltungsdienst oder einem benutzerdefinierten Benachrichtigungssystem ausführen.

Zentraler Secret-Verwaltungsdienst

Viele zentralisierte Secret-Verwaltungsdienste wie HashiCorp Vault bieten eine automatische Secret-Rotation. Sie können diese Dienste verwenden, um Ihre Dienstkontoschlüssel zu speichern und zu rotieren.

Es wird nicht empfohlen, Secret Manager von Google Cloud zum Speichern und Rotieren von Dienstkontoschlüsseln zu verwenden. Dies liegt daran, dass Ihre Anwendung für den Zugriff auf Secret Manager-Secrets eine Identität benötigt, die Google Cloud erkennen kann. Wenn Ihre Anwendung bereits eine Identität hat, die Google Cloud erkennen kann, kann sie sich mit dieser Identität bei Google Cloud authentifizieren, anstatt einen Dienstkontoschlüssel zu verwenden.

Dasselbe Konzept gilt für andere cloudbasierte Secret-Verwaltungsdienste wie Azure KeyVault und AWS Secret Manager. Wenn eine Anwendung bereits eine Identität hat, die diese Cloud-Anbieter erkennen können, kann sie sich mit dieser Identität bei Google Cloud authentifizieren, anstatt einen Dienstkontoschlüssel zu verwenden.

Benutzerdefiniertes Benachrichtigungssystem

Ein weiterer Ansatz für die Rotation von Dienstkontoschlüsseln besteht darin, ein System zu erstellen, das Benachrichtigungen sendet, wenn Schlüssel rotiert werden müssen. Sie können beispielsweise ein System erstellen, das Benachrichtigungen sendet, wenn Schlüssel erkannt werden, die vor mehr als 90 Tagen erstellt wurden.

Zuerst müssen Sie die Schlüssel identifizieren, die rotiert werden sollen. Um diese Schlüssel zu identifizieren, empfehlen wir die Verwendung von Cloud Asset Inventory, um nach allen Dienstkontoschlüsseln zu suchen, die vor einem bestimmten Zeitpunkt erstellt wurden.

Mit dem folgenden Befehl werden beispielsweise alle Dienstkontoschlüssel aufgelistet, die vor 2023-03-10 00:00:00 UTC in der Organisation mit der ID 123456789012 erstellt wurden:

gcloud asset search-all-resources \
    --scope="organizations/123456789012" \
    --query="createTime < 2023-03-10" \
    --asset-types="iam.googleapis.com/ServiceAccountKey" \
    --order-by="createTime"

Weitere Informationen zur Suche in Ressourcen in Cloud Asset Inventory finden Sie unter Ressourcen suchen. Nachdem Sie die Schlüssel ermittelt haben, die rotiert werden sollen, können Sie Benachrichtigungen an die entsprechenden Teams senden.

Wenn jemand benachrichtigt wird, einen Schlüssel zu rotieren, sollte er Folgendes tun:

  1. Erstellen Sie einen neuen Schlüssel für das Dienstkonto.
  2. Ersetzen Sie den vorhandenen Schlüssel in allen Anwendungen durch den neuen Schlüssel.
  3. Deaktivieren Sie den Schlüssel, den sie ersetzt haben, und überwachen Sie die Anwendungen, um zu prüfen, ob sie wie erwartet funktionieren.
  4. Nachdem sie bestätigt haben, dass die Anwendungen wie erwartet funktionieren, löschen Sie den ersetzten Schlüssel.

Ablaufende Dienstkontoschlüssel

Es wird nicht empfohlen, ablaufende Dienstkontoschlüssel für die Schlüsselrotation zu verwenden. Dies liegt daran, dass ablaufende Schlüssel zu Ausfällen führen können, wenn sie nicht ordnungsgemäß rotiert werden. Weitere Informationen zu den Anwendungsfällen für ablaufende Dienstkontoschlüssel finden Sie unter Ablaufzeiten für von Nutzern verwaltete Schlüssel.

Nächste Schritte