

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Bewährte Methoden zur Verschlüsselung für Amazon EKS
<a name="eks"></a>

Mit [Amazon Elastic Kubernetes Service (Amazon EKS)](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) können Sie Kubernetes ausführen, AWS ohne dass Sie Ihre eigene Kubernetes-Steuerebene oder Knoten installieren oder verwalten müssen. In Kubernetes helfen *Geheimnisse* bei der Verwaltung sensibler Informationen wie Benutzerzertifikaten, Kennwörtern oder API-Schlüssel. Standardmäßig werden diese Geheimnisse unverschlüsselt im dem API-Server zugrunde liegenden Datenspeicher gespeichert, der als [etcd](https://etcd.io/docs/v3.5/faq/) bezeichnet wird. Auf Amazon EKS werden die Amazon Elastic Block Store (Amazon EBS) -Volumes für `etcd` Knoten mit [Amazon EBS-Verschlüsselung](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) verschlüsselt. Jeder Benutzer mit API-Zugriff oder Zugriff auf `etcd` kann ein Geheimnis abrufen oder ändern. Darüber hinaus kann jeder, der berechtigt ist, einen Pod in einem Namespace zu erstellen, diesen Zugriff verwenden, um jedes Geheimnis in diesem Namespace zu lesen. Sie können diese gespeicherten Geheimnisse in Amazon EKS verschlüsseln AWS KMS keys, indem Sie entweder AWS verwaltete Schlüssel oder vom Kunden verwaltete Schlüssel verwenden. Ein alternativer Ansatz zur Verwendung `etcd` ist die Verwendung von [AWS Secrets and Config Provider (ASCP)](https://github.com/aws/secrets-store-csi-driver-provider-aws) (GitHub Repository). ASCP lässt sich mit IAM und ressourcenbasierten Richtlinien integrieren, um den Zugriff auf Geheimnisse nur innerhalb bestimmter Kubernetes-Pods innerhalb eines Clusters zu beschränken und einzuschränken.

Sie können die folgenden AWS Speicherdienste mit Kubernetes verwenden:
+ Für Amazon EBS können Sie den In-Tree-Speichertreiber oder den [Amazon EBS](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) CSI-Treiber verwenden. Beide beinhalten Parameter für die Verschlüsselung von Volumes und die Bereitstellung eines vom Kunden verwalteten Schlüssels.
+ Für Amazon Elastic File System (Amazon EFS) können Sie den [Amazon-EFS-CSI-Treiber](https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html) mit Unterstützung für dynamische und statische Bereitstellung verwenden.

Bedenken Sie die folgenden bewährten Verschlüsselungsmethoden für diesen Service:
+ Wenn Sie `etcd` verwenden, in dem geheime Objekte standardmäßig unverschlüsselt gespeichert werden, gehen Sie wie folgt vor, um Geheimnisse zu schützen:
  + [Verschlüsseln Sie geheime Daten im Ruhezustand](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/) (Kubernetes-Dokumentation).
  + Wird AWS KMS für die Envelope-Verschlüsselung von Kubernetes-Geheimnissen verwendet. Auf diese Weise können Sie Ihre Geheimnisse mit einem eindeutigen Datenschlüssel verschlüsseln. Sie können einen AWS KMS Schlüsselverschlüsselungsschlüssel verwenden, um den Datenschlüssel zu verschlüsseln. Sie können den Verschlüsselungsschlüssel nach einem wiederkehrenden Zeitplan automatisch rotieren lassen. Mit dem AWS KMS Plugin für Kubernetes werden alle Kubernetes-Geheimnisse in Chiffretext gespeichert. `etcd` Sie können nur vom Kubernetes-API-Server entschlüsselt werden. Weitere Informationen finden Sie unter [Verwenden der Unterstützung des Amazon EKS-Verschlüsselungsanbieters zur Verteidigung und Verschlüsseln von](https://aws.amazon.com/blogs/containers/using-eks-encryption-provider-support-for-defense-in-depth/) [Kubernetes-Geheimnissen mit AWS KMS auf](https://docs.aws.amazon.com/eks/latest/userguide/enable-kms.html) vorhandenen Clustern.
  + Aktivieren oder konfigurieren Sie die Autorisierung durch rollenbasierte Zugriffskontrollregeln (RBAC), welche das Lesen und Schreiben des Geheimnisses einschränken. Schränken Sie die Berechtigungen ein, um neue Geheimnisse zu erstellen oder bestehende zu ersetzen. Weitere Informationen finden Sie unter [Autorisierungsübersicht](https://kubernetes.io/docs/reference/access-authn-authz/authorization/) (Kubernetes-Dokumentation).
  + Wenn Sie mehrere Container in einem Pod definieren und nur einer dieser Container Zugriff auf ein Geheimnis benötigt, definieren Sie den Volume-Mount so, dass die anderen Container keinen Zugriff auf dieses Geheimnis haben. Geheimnisse, die als Volumes bereitgestellt werden, werden instanziiert als `tmpfs`-Volumes und werden automatisch vom Knoten entfernt, wenn der Pod gelöscht wird. Sie könnten auch Umgebungsvariablen verwenden, aber wir empfehlen diesen Ansatz nicht, da die Werte von Umgebungsvariablen in Protokollen erscheinen können. Weitere Informationen dazu finden Sie unter [Geheimnisse](https://kubernetes.io/docs/concepts/configuration/secret/) (Kubernetes-Dokumentation).
  + Vermeiden Sie nach Möglichkeit die Gewährung von Zugriff auf `watch`- und `list`-Anforderungen auf Geheimnisse innerhalb eines Namespaces. In der Kubernetes-API sind diese Anfragen mächtig, da sie es dem Client ermöglichen, die Werte jedes Geheimnisses in diesem Namespace zu überprüfen.
  + Erlauben Sie nur Clusteradministratoren den Zugriff auf `etcd`, einschließlich Lesezugriff.
  + Wenn es mehrere `etcd`-Instances gibt, stellen Sie sicher, dass `etcd` TLS für die Kommunikation zwischen `etcd`-Peers verwendet.
+ Wenn Sie ASCP verwenden, gehen Sie wie folgt vor, um Geheimnisse zu schützen:
  + Verwenden [IAM-Rollen für Servicekonten](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html), um den Geheimniszugriff auf autorisierte Pods zu beschränken.
  + Aktivieren Sie die Verschlüsselung von Kubernetes-Geheimnissen, indem Sie den [AWS Encryption Provider](https://github.com/kubernetes-sigs/aws-encryption-provider) (GitHub Repository) verwenden, um die Envelope-Verschlüsselung mit einem vom Kunden verwalteten KMS-Schlüssel zu implementieren.
+ Um das Risiko von Datenlecks durch Umgebungsvariablen zu verringern, empfehlen wir Ihnen, den [AWS Secrets Manager and Config Provider for Secret Store CSI Driver](https://github.com/aws/secrets-store-csi-driver-provider-aws) (GitHub) zu verwenden. Mit diesem Treiber können Sie festlegen, dass im Secrets Manager gespeicherte Geheimnisse und im Parameter Store gespeicherte Parameter als in Kubernetes-Pods gemountete Dateien angezeigt werden.
**Anmerkung**  
AWS Fargate wird nicht unterstützt.
+ Erstellen Sie einen CloudWatch Amazon-Metrikfilter und einen Alarm, um Benachrichtigungen für vom Administrator festgelegte Vorgänge zu senden, z. B. das Löschen von Geheimnissen oder die Verwendung einer geheimen Version während der Wartezeit auf das Löschen. Weitere Informationen finden Sie unter [Erstellen eines Alarms basierend auf Anomalieerkennung](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create_Anomaly_Detection_Alarm.html).