Übergeben Sie sensible Daten an einen ECS Amazon-Container - Amazon Elastic Container Service

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.

Übergeben Sie sensible Daten an einen ECS Amazon-Container

Sie können vertrauliche Daten, wie z. B. Anmeldeinformationen für eine Datenbank, sicher in Ihren Container übergeben.

Geheimnisse wie API Schlüssel und Datenbankanmeldedaten 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 Geheimnisse sollte auf bestimmte IAM Prinzipale beschränkt werden, die Container zur Laufzeit verwenden IAM und in sie injizieren.

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.

  1. Sie werden als Umgebungsvariablen referenziert, die den secrets-Container-Definitionsparameter verwenden.

  2. Sie werden als secretOptions bezeichnet, wenn Ihre Protokollierungsplattform eine Authentifizierung erfordert. Weitere Informationen finden Sie unter Konfigurationsoptionen für die Protokollierung.

  3. 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 Bilder aus der Amazon ECR Public Gallery abrufen. Weitere Informationen finden Sie unter Private Registrierungsauthentifizierung für Aufgaben.

Wir empfehlen Ihnen, bei der Einrichtung der Verwaltung von Secrets wie folgt vorzugehen.

Verwenden Sie AWS Secrets Manager oder AWS Systems Manager Parameter Store zum Speichern geheimer Materialien

Sie sollten API Schlüssel, Datenbankanmeldedaten und andere geheime Materialien sicher in Secrets Manager oder als verschlüsselten Parameter im 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. Secrets Manager bietet jedoch auch die Möglichkeit, Geheimnisse automatisch zu rotieren, zufällige Geheimnisse zu generieren und Geheimnisse zwischen Konten zu teilen. Verwenden Sie bei diesen wichtigen Funktionen Secrets Manager, andernfalls verwenden Sie verschlüsselte Parameter.

Wichtig

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

Sie sollten Geheimnisse in einem verschlüsselten Amazon S3 S3-Bucket speichern und mithilfe von Aufgabenrollen den Zugriff auf diese Geheimnisse einschränken. Dadurch wird verhindert, dass die Werte von Umgebungsvariablen versehentlich in die Protokolle gelangen und bei der Ausführung aufgedeckt werden. docker inspect 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 Amazon ECS Container Ordering verwendet. 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 aws-secret-sidecar-injectorProjekt.

Bei Amazon EC2 kann das Volume, auf das das Geheimnis geschrieben wird, mit einem vom AWS KMS Kunden verwalteten Schlüssel verschlüsselt werden. Bei Aktivierung AWS Fargate wird der Datenträgerspeicher automatisch mit einem vom Service verwalteten Schlüssel verschlüsselt.