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 für die Verwaltung von Geheimnissen in Amazon ECS
Secrets, wie API-Schlüssel und Datenbankanmeldeinformationen, werden häufig von Anwendungen verwendet, um auf andere Systeme zuzugreifen. Sie bestehen häufig aus einem Benutzernamen und einem Passwort, einem Zertifikat oder einem API-Schlüssel. Der Zugriff auf diese Secrets sollte auf bestimmte IAM-Prinzipale beschränkt werden, die IAM verwenden und zur Laufzeit in Container eingespeist werden.
Secrets können nahtlos aus AWS Secrets Manager einem Amazon EC2 Systems Manager Parameter Store in Container eingefügt werden. Auf diese Secrets kann in Ihrer Aufgabe wie folgt verwiesen werden.
-
Sie werden als Umgebungsvariablen referenziert, die den
secrets
-Container-Definitionsparameter verwenden. -
Sie werden als
secretOptions
bezeichnet, wenn Ihre Protokollierungsplattform eine Authentifizierung erfordert. Weitere Informationen finden Sie unter Konfigurationsoptionen für die Protokollierung. -
Sie werden als Secrets bezeichnet, die von Images abgerufen werden, die den
repositoryCredentials
-Container-Definitionsparameter verwenden, wenn die Registrierung, aus der der Container abgerufen wird, eine Authentifizierung erfordert. Verwenden Sie diese Methode, wenn Sie Images aus Amazon ECR Public Gallery abrufen. Weitere Informationen finden Sie unter Private Registrierungsauthentifizierung für Aufgaben.
Empfehlungen zu Geheimnissen
Wir empfehlen Ihnen, bei der Einrichtung der Verwaltung von Secrets wie folgt vorzugehen.
Verwenden Sie AWS Secrets Manager unseren Amazon EC2 Systems Manager Parameter Store zum Speichern geheimer Materialien
Sie sollten API-Schlüssel, Datenbankanmeldedaten und andere geheime Materialien sicher in AWS Secrets Manager oder als verschlüsselte Parameter im Amazon EC2 Systems Manager Parameter Store speichern. Diese Dienste ähneln sich, da es sich bei beiden um verwaltete Schlüsselwertspeicher handelt, die AWS KMS zur Verschlüsselung sensibler Daten verwendet werden. AWS Secrets Manager beinhaltet jedoch auch die Möglichkeit, Geheimnisse automatisch zu rotieren, zufällige Geheimnisse zu generieren und Geheimnisse zwischen Konten auszutauschen. AWS Wenn Sie diese Features als wichtig einstufen, verwenden Sie AWS Secrets Manager , ansonsten verwenden Sie verschlüsselte Parameter.
Anmerkung
Aufgaben, die auf ein Geheimnis aus AWS Secrets Manager oder dem Amazon EC2 Systems Manager Parameter Store verweisen, erfordern eine Aufgabenausführungsrolle mit einer Richtlinie, die Amazon ECS Zugriff auf das gewünschte Geheimnis und, falls zutreffend, auf den AWS KMS Schlüssel gewährt, der zum Verschlüsseln und Entschlüsseln dieses Geheimnisses verwendet wird.
Wichtig
Secrets, auf die in Aufgaben verwiesen wird, werden nicht automatisch rotiert. Wenn sich Ihr Secret ändert, müssen Sie eine neue Bereitstellung erzwingen oder eine neue Aufgabe starten, um den neuesten Secret-Wert abzurufen. Weitere Informationen finden Sie unter den folgenden Themen:
Daten aus einem verschlüsselten Amazon S3 S3-Bucket abrufen
Da der Wert von Umgebungsvariablen versehentlich in Protokollen nach außen dringen kann und bei der Ausführung von docker inspect
aufgedeckt wird, sollten Sie Secrets in einem verschlüsselten Amazon-S3-Bucket speichern und Aufgabenrollen verwenden, um den Zugriff auf diese Secrets zu beschränken. Wenn Sie dies tun, muss Ihre Anwendung so geschrieben werden, dass sie das Secret aus dem Amazon-S3-Bucket liest. Anweisungen dazu finden Sie unter Festlegen des standardmäßigen serverseitigen Verschlüsselungsverhaltens für Amazon-S3-Buckets.
Das Secret mit Hilfe eines Beiwagen-Containers in ein Volume mounten
Da bei Umgebungsvariablen ein erhöhtes Risiko von Datenlecks besteht, sollten Sie einen Sidecar-Container verwenden, der Ihre Secrets ausliest AWS Secrets Manager und auf ein gemeinsam genutztes Volume schreibt. Dieser Container kann vor dem Anwendungscontainer ausgeführt und beendet werden, indem Sie Amazon-ECS-Container-Anordnungen verwenden. Wenn Sie dies tun, mountet der Anwendungscontainer anschließend das Volume, auf dem das Secret geschrieben wurde. Wie bei der Amazon-S3-Bucket-Methode muss Ihre Anwendung so geschrieben werden, dass sie das Secret aus dem gemeinsam genutzten Volume liest. Da das Volume auf die Aufgabe beschränkt ist, wird das Volume nach dem Beenden der Aufgabe automatisch gelöscht. Ein Beispiel für einen Beiwagen-Container finden Sie im Projekt aws-secret-sidecar-injector
Anmerkung
In Amazon EC2 kann das Volume, auf welches das Secret geschrieben wird, mit einem vom Kunden verwalteten AWS KMS -Schlüssel verschlüsselt werden. Bei aktivierter AWS Fargate Option wird der Datenträgerspeicher automatisch mithilfe eines vom Service verwalteten Schlüssels verschlüsselt.
Weitere Ressourcen
-
Weitergabe von Secrets an Container in einer Amazon-ECS-Aufgabe
-
Chamber
ist ein Wrapper zum Speichern von Secrets im Amazon EC2 Systems Manager Parameter Store