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.
IAM-Rolle für die Amazon-ECS-Aufgabenausführung
Die Aufgabenausführungsrolle erteilt dem Amazon-ECS-Container- und Fargate-Agenten die Berechtigung, AWS -API-Aufrufe in Ihrem Namen durchzuführen. Die IAM-Rolle für die Aufgabenausführung ist je nach den Anforderungen Ihrer Aufgabe erforderlich. Sie können mehrere Aufgabenausführungsrollen für verschiedene Zwecke und Dienste haben, die Ihrem Konto zugeordnet sind. Informationen zu den IAM-Berechtigungen, die Ihre Anwendung zur Ausführung benötigt, finden Sie unter IAM-Rolle für Aufgabe.
Im Folgenden sind häufige Anwendungsfälle für eine IAM-Rolle für die Aufgabenausführung aufgeführt:
-
Ihre Aufgabe wird auf AWS Fargate oder auf einer externen Instance gehostet und:
-
ruft ein Container-Image aus einem privaten Amazon ECR-Repository ab.
-
ruft ein Container-Image aus einem privaten Amazon ECR-Repository ab, das sich von dem Konto unterscheidet, das die Aufgabe ausführt.
-
sendet Container-Protokolle mithilfe des -
awslogs
Protokolltreibers an CloudWatch -Protokolle. Weitere Informationen finden Sie unter Verwenden des awslogs-Protokolltreibers.
-
-
Ihre Aufgaben werden entweder auf AWS Fargate oder Amazon EC2 gehostet und...
-
verwenden private Registrierungsauthentifizierung. Weitere Informationen finden Sie unter Erforderliche IAM-Berechtigungen für die private Registrierungsauthentifizierung.
-
verwendet Laufzeit-Überwachung.
-
die Aufgabendefinition verweist auf sensible Daten mithilfe von Secrets manager-Secrets oder AWS -Systems Manager-Parameterspeicher-Parametern. Weitere Informationen finden Sie unter Erforderliche IAM-Berechtigungen für Amazon-ECS-Secrets.
-
Anmerkung
Die Aufgabenausführungsrolle wird von Amazon-ECS-Container-Agent Version 1.16.0 und höher unterstützt.
Amazon ECS bietet die verwaltete Richtlinie AmazonECSTaskExecutionRolePolicy
. Diese enthält die Berechtigungen, die für die oben beschriebenen häufigen Anwendungsfälle benötigt werden. Es kann erforderlich sein, für spezielle Anwendungsfälle, die unten beschrieben werden, eingebundene Richtlinien zu Ihrer Aufgabenausführungsrolle hinzuzufügen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" } ] }
Die Amazon-ECS-Aufgabenausführungsrolle kann für Sie in der Amazon-ECS-Konsole erstellt werden. Allerdings sollten Sie die verwaltete IAM-Richtlinie für Aufgaben manuell anfügen, damit Amazon ECS Berechtigungen für zukünftige Features und Erweiterungen bei deren Einführung hinzufügen kann. Sie können die IAM-Konsolensuche verwenden, um nach zu suchen ecsTaskExecutionRole
und zu sehen, ob Ihr Konto bereits über die Aufgabenausführungsrolle verfügt. Weitere Informationen finden Sie unter IAM-Konsolensuche im IAM-Benutzerhandbuch.
Erstellen der ecsTaskExecutionRole
-Aufgabenausführungsrolle
Wenn Ihr Konto noch keine Aufgabenausführungsrolle hat, führen Sie die folgenden Schritte aus, um die Rolle zu erstellen.
Erforderliche IAM-Berechtigungen für die private Registrierungsauthentifizierung
Die Amazon-ECS-Aufgabenausführungsrolle ist erforderlich, um dieses Feature zu verwenden. Auf diese Weise kann der Container-Agent das Container-Image abrufen.
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" ] } ] }
Erforderliche IAM-Berechtigungen für Amazon-ECS-Secrets
Zum Verwenden des Features der Amazon-ECS-Secrets benötigen Sie die Amazon-ECS-Aufgabenausführungsrolle und müssen in Ihrer Aufgabendefinition auf sie verweisen. Auf diese Weise kann der Container-Agent die erforderlichen - AWS Systems Manager oder Secrets-Manager-Ressourcen abrufen. Weitere Informationen finden Sie unter Sensible Daten an einen Container übergeben.
Verwenden von Secrets Manager
Um Zugriff auf die Secrets-Manager-Geheimnisse zu gewähren, die Sie erstellen, müssen Sie die folgenden Berechtigungen manuell zur Aufgabendefinitionsrolle hinzufügen. Informationen zum Verwalten von Berechtigungen finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im IAM-Benutzerhandbuch.
-
secretsmanager:GetSecretValue
– Erforderlich, wenn Sie auf ein Secrets Manager-Geheimnis verweisen. Fügt die Berechtigung zum Abrufen des Secrets von Secrets Manager hinzu.
Das folgende Beispiel einer Richtlinie fügt die erforderlichen Berechtigungen hinzu.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:
region
:aws_account_id
:secret:secret_name
" ] } ] }
Verwenden von Systems Manager
Wichtig
Für Aufgaben, die den Starttyp EC2 verwenden, müssen Sie die ECS-Agent-Konfigurationsvariable ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE=true
verwenden, um dieses Feature verwenden zu können. Sie können sie während der Erstellung der Container-Instance zur Datei ./etc/ecs/ecs.config
hinzufügen oder sie zu einer vorhandenen Instance hinzufügen und dann den ECS-Agenten neu starten. Weitere Informationen finden Sie unter Konfiguration des Amazon-ECS-Container-Agenten.
Um Zugriff auf die von Ihnen erstellten Systems-Manager-Parameter-Store-Parameter zu erhalten, fügen Sie der Aufgabenausführungsrolle manuell die folgenden Berechtigungen als Inline Richtlinie hinzu. Informationen zum Verwalten von Berechtigungen finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im IAM-Benutzerhandbuch.
-
ssm:GetParameters
– Erforderlich, wenn in einer Aufgabendefinition auf einen Parameter-Store-Parameter von Systems Manager verwiesen wird. Fügt die Berechtigung zum Abrufen von Systems-Manager-Parametern hinzu. -
secretsmanager:GetSecretValue
– Erforderlich, wenn Sie direkt auf ein Secrets-Manager-Geheimnis verweisen oder wenn der Parameter Systems Manager Parameter Store in einer Aufgabendefinition auf ein Secrets-Manager-Geheimnis verweist. Fügt die Berechtigung zum Abrufen des Secrets von Secrets Manager hinzu. -
kms:Decrypt
– Nur erforderlich, wenn Ihr Geheimnis einen kundenverwalteten Schlüssel verwendet und nicht den Standardschlüssel. Der ARN für Ihren benutzerdefinierten Schlüssel sollte als Ressource hinzugefügt werden. Fügt die Berechtigung zum Entschlüsseln des vom Kunden verwalteten Schlüssels hinzu.
Das folgende Beispiel einer Richtlinie fügt die erforderlichen Berechtigungen hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters", "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:ssm:
region
:aws_account_id
:parameter/parameter_name
", "arn:aws:secretsmanager:region
:aws_account_id
:secret:secret_name
", "arn:aws:kms:region
:aws_account_id
:key/key_id
" ] } ] }
Optionale IAM-Berechtigungen für Fargate-Aufgaben, die Amazon ECR-Images über Schnittstellen-Endpunkte abrufen
Beim Starten von Aufgaben, die den Starttyp Fargate verwenden und Images aus Amazon ECR abrufen, wenn Amazon ECR für die Verwendung eines Schnittstellen-VPC-Endpunkts konfiguriert ist, können Sie den Aufgabenzugriff auf eine bestimmte VPC oder einen bestimmten VPC-Endpunkt beschränken. Dazu erstellen Sie eine Aufgabenausführungsrolle für die zu verwendenden Aufgaben, die IAM-Bedingungsschlüssel nutzen.
Verwenden Sie die folgenden globalen IAM-Bedingungsschlüssel zum Einschränken des Zugriffs auf eine bestimmte VPC oder einen bestimmten VPC-Endpunkt. Weitere Informationen finden Sie unter Globale AWS -Bedingungskontextschlüssel.
-
aws:SourceVpc
: Beschränkt den Zugriff auf eine bestimmte VPC. -
aws:SourceVpce
: Beschränkt den Zugriff auf einen bestimmten VPC-Endpunkt.
Die folgenden Richtlinie einer Aufgabenausführungsrolle stellt ein Beispiel für das Hinzufügen von Bedingungsschlüsseln bereit:
Wichtig
Auf die ecr:GetAuthorizationToken
API-Aktion können nicht die aws:sourceVpce
Bedingungsschlüssel aws:sourceVpc
oder angewendet werden, da der GetAuthorizationToken API-Aufruf über die Elastic-Network-Schnittstelle erfolgt, die AWS Fargate gehört, und nicht über die Elastic-Network-Schnittstelle der Aufgabe.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*", "Condition": { "StringEquals": { "aws:sourceVpce": "
vpce-xxxxxx
", "aws:sourceVpc": "vpc-xxxxx
" } } } ] }