Private Registrierungsauthentifizierung für Aufgaben - 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.

Private Registrierungsauthentifizierung für Aufgaben

Verwenden Sie die private Registrierung, um Ihre Anmeldeinformationen in zu speichern AWS Secrets Manager, und verweisen Sie dann in Ihrer Aufgabendefinition auf sie. Auf diese Weise können Sie auf Container-Images verweisen, die in privaten Registrierungen außerhalb von vorhanden sind AWS und in Ihren Aufgabendefinitionen eine Authentifizierung erfordern. Dieses Feature wird durch Aufgaben unterstützt, die auf Fargate, Amazon-EC2-Instances und externen Instances mit Amazon ECS Anywhere gehostet werden.

Wichtig

Wenn Ihre Aufgabendefinition auf ein im Amazon ECR gespeichertes Image verweist, trifft dieses Thema nicht zu. Weitere Informationen finden Sie unter Amazon ECR-Images mit Amazon ECS im Amazon Elastic Container-Registry-Benutzerhandbuch.

Für Aufgaben, die auf Amazon-EC2-Instances gehostet werden, erfordert dieses Feature Version 1.19.0 oder höher des Container-Agenten. Wir empfehlen jedoch, die neueste Container-Agent-Version zu verwenden. Informationen zum Überprüfen Ihrer Agenten-Version und zum Aktualisieren auf die neueste Version finden Sie unter Überprüfen des Amazon-ECS-Container-Agenten.

Für Aufgaben, die auf Fargate gehostet werden, erfordert dieses Feature die Plattformversion 1.2.0 oder höher. Weitere Informationen finden Sie unter Fargate-Linux-Plattformversionen.

Geben Sie in Ihrer Containerdefinition das Objekt repositoryCredentials mit den Details des von Ihnen erstellten Geheimnisses an. Das Secret, auf das Sie verweisen, kann von einem anderen AWS-Region oder einem anderen Konto stammen als die Aufgabe, die es verwendet.

Anmerkung

Wenn Sie die Amazon-ECS-API AWS CLI oder das AWS -SDK verwenden und sich das Secret in derselben befindet AWS-Region wie die Aufgabe, die Sie starten, können Sie entweder den vollständigen ARN oder den Namen des Secrets verwenden. Wenn das Geheimnis in einem anderen Konto vorhanden ist, muss der vollständige ARN des Geheimnisses angegeben werden. Bei Verwendung der muss AWS Management Console immer der vollständige ARN des Secrets angegeben werden.

Im Folgenden finden Sie einen Ausschnitt einer Aufgabendefinition, welche die erforderlichen Parameter zeigt:

Ersetzen Sie privates Repo durch den Hostnamen des privaten Repositorys und privates Image durch den Image-Namen.

"containerDefinitions": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name" } } ]
Anmerkung

Eine weitere Methode zur Aktivierung der privaten Registrierungsauthentifikation verwendet Umgebungsvariablen von Amazon-ECS-Container-Agenten für die Authentifizierung bei privaten Registrierungen. Diese Methode wird nur für Aufgaben unterstützt, die auf Amazon-EC2-Instances gehostet werden. Weitere Informationen finden Sie unter Private Registrierungsauthentifizierung für Container-Instances.

So verwenden Sie eine private Registrierung
  1. Die Amazon-ECS-Aufgabenausführungsrolle ist erforderlich, um dieses Feature zu verwenden. Auf diese Weise kann der Container-Agent das Container-Image abrufen. Weitere Informationen finden Sie unter IAM-Rolle für die Amazon-ECS-Aufgabenausführung.

    Um Zugriff auf die Secrets zu gewähren, die Sie erstellen, müssen Sie die folgenden Berechtigungen als eingebundene Richtlinie zur Aufgabendefinitionsrolle hinzufügen. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von IAM-Richtlinien.

    • secretsmanager:GetSecretValue

    • kms:Decrypt: Nur erforderlich, wenn Ihr Schlüssel einen benutzerdefinierten KMS-Schlüssel verwendet und nicht den Standard-Schlüssel. Der Amazon-Ressourcenname (ARN) für Ihren benutzerdefinierten Schlüssel muss als Ressource hinzugefügt werden.

    Das folgende Beispiel einer Inline-Richtlinie fügt die Berechtigungen hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:secret_name", "arn:aws:kms:<region>:<aws_account_id>:key/key_id" ] } ] }
  2. Verwenden Sie AWS Secrets Manager , um ein Secret für Ihre privaten Registrierungsanmeldeinformationen zu erstellen. Informationen zum Erstellen eines Secrets finden Sie unter Erstellen eines AWS Secrets Manager -Secrets im AWS Secrets Manager -Benutzerhandbuch.

    Geben Sie Ihre privaten Registrierungsanmeldeinformationen im folgenden Format ein:

    { "username" : "privateRegistryUsername", "password" : "privateRegistryPassword" }
  3. Eine Aufgabendefinition registrieren. Weitere Informationen finden Sie unter Erstellen einer Aufgabendefinition mit der Konsole.