Übersicht
GKE on AWS verwendet vom Kunden verwaltete symmetrische Schlüssel (AWS Key Management Service (KMS) zum Verschlüsseln:
- Kubernetes-Statusdaten in etcd
- Nutzerdaten der EC2-Instanz
- EBS-Volumes zur Verschlüsselung inaktiver Daten der Steuerungsebene und der Knotenpooldaten
Für Produktionsumgebungen empfehlen wir die Verwendung unterschiedlicher Schlüssel für die Konfiguration und die Volume-Verschlüsselung. Um das Risiko weiter zu minimieren, wenn ein Schlüssel manipuliert ist, können Sie auch für jeden der folgenden Schlüssel unterschiedliche Schlüssel erstellen:
- Konfiguration der Cluster-Steuerungsebene
- Datenbank der Cluster-Steuerungsebene
- Haupt-Volume der Cluster-Steuerungsebene
- Root-Volume der Cluster-Steuerungsebene
- Knotenpoolkonfiguration
- Root-Volume des Knotenpools
Für zusätzliche Sicherheit können Sie eine AWS-KMS-Schlüsselrichtlinie erstellen, die nur den minimal erforderlichen Satz von Berechtigungen zuweist. Weitere Informationen finden Sie unter KMS-Schlüssel mit bestimmten Berechtigungen erstellen.
AWS KMS-Schlüssel erstellen
Führen Sie den folgenden Befehl aus, um einen Schlüssel zu erstellen:
aws --region AWS_REGION kms create-key \
--description "KEY_DESC"
Dabei gilt:
AWS_REGION
ist der Name Ihrer AWS-Region.KEY_DESC
ist eine Textbeschreibung Ihres Schlüssels.
Speichern Sie für jeden erstellten Schlüssel den Wert KeyMetadata.Arn
in der Ausgabe dieses Befehls zur späteren Verwendung.
KMS-Schlüssel mit bestimmten Berechtigungen erstellen
Wenn Sie separate Schlüssel für verschiedene Funktionen erstellen, müssen Sie für jeden Schlüssel, der die entsprechenden Berechtigungen gewährt, eine KMS-Schlüsselrichtlinie bereitstellen. Wenn Sie beim Erstellen eines Schlüssels keine Schlüsselrichtlinie angeben, erstellt AWS KMS eine Standardschlüsselrichtlinie, die allen Principals im zugehörigen Konto unbegrenzten Zugriff auf alle Vorgänge für den Schlüssel gewährt.
Wenn Sie eine Schlüsselrichtlinie erstellen, müssen Sie einer AWS IAM-Richtlinie Zugriff auf die Schlüsselrichtlinie gewähren. Die Schlüsselrichtlinie muss auch Ihrem Konto die Berechtigung zur Verwendung von IAM-Richtlinien erteilen. Ohne Berechtigung aus der Schlüsselrichtlinie haben IAM-Richtlinien, die Berechtigungen zulassen, keine Auswirkungen. Weitere Informationen finden Sie unter Schlüsselrichtlinien in AWS KMS.
In der folgenden Tabelle werden die Berechtigungen für jeden der von GKE on AWS verwendeten AWS-IAM-Rollen beschrieben.
Rolle „GKE Multi-Cloud API-Dienst-Agent“ | Rolle der Steuerungsebene | Knotenpoolrolle | AWS-Dienstrolle für AutoScaling | |
---|---|---|---|---|
Verschlüsselung der Konfiguration der Clustersteuerungsebene | kms:Encrypt | kms:Decrypt | – | – |
Datenbankverschlüsselung der Cluster-Steuerungsebene | – | kms:Encrypt kms:Decrypt |
– | – |
Verschlüsselung des Haupt-Volumes der Cluster-Steuerungsebene | kms:GenerateDataKeyWithoutPlaintext | KMS:CreateGrant | – | – |
Verschlüsselung des Root-Volumes der Cluster-Steuerungsebene | – | – | – | Siehe Abschnitte zu den Schlüsselrichtlinien, die den Zugriff auf den vom Kunden verwalteten Schlüssel ermöglichen |
Verschlüsselung des Knotenpools | kms:Encrypt | – | kms:Decrypt | – |
Verschlüsselung von Root-Volume-Knotenpools | – | – | – | Siehe Abschnitte zu den Schlüsselrichtlinien, die den Zugriff auf den vom Kunden verwalteten Schlüssel ermöglichen |
Weitere Anforderungen | kms:DescribeKey | – | – | – |