Amazon ECS esecuzione di attività IAM ruolo - Amazon Elastic Container Service

Se forniamo una traduzione della versione in lingua inglese della guida, la versione in lingua inglese della guida prevarrà in caso di conflitto. La traduzione è fornita utilizzando la traduzione automatica.

Amazon ECS esecuzione di attività IAM ruolo

Il ruolo di esecuzione dell'attività concede il Amazon ECS e agli agenti Fargate per rendere AWS L'API chiama per tuo conto. Esecuzione dell'attività IAM è necessario a seconda del ruolo requisiti dell'attività. Puoi avere più ruoli di esecuzione delle attività per scopi diversi e i servizi associati al tuo account.

I seguenti sono casi d'uso comuni per l'esecuzione di un'attività IAM ruolo:

Nota

Il ruolo di esecuzione dell'attività è supportato da Amazon ECS Agente container versione 1.16.0 e più avanti.

Amazon ECS fornisce la policy gestita denominata AmazonECSTaskExecutionRolePolicy che contiene le autorizzazioni che i casi d'uso comuni descritti sopra richiedono. Potrebbe essere necessari per aggiungere policy inline al ruolo di esecuzione delle attività per casi d'uso speciali che sono come descritto di seguito.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" } ] }

Un Amazon ECS Il ruolo di esecuzione delle attività viene creato automaticamente nella Amazon ECS console esperienza di prima esecuzione; tuttavia, è necessario allegare manualmente IAM policy per le attività per consentire Amazon ECS per aggiungere autorizzazioni per funzionalità e miglioramenti futuri ha introdotto. Puoi utilizzare la seguente procedura per verificare se il tuo account dispone già di il Amazon ECS ruolo di esecuzione dell'attività e per collegare IAM se necessario.

Per controllare la ecsTaskExecutionRole nella IAM console

  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, scegliere Ruoli.

  3. Cerca nell'elenco dei ruoli per ecsTaskExecutionRole. Se il ruolo non esiste, vedere Creazione dell'esecuzione dell'attività IAM ruolo. Se il ruolo esiste, selezionare il pulsante per visualizzare le policy collegate.

  4. Nella pagina Autorizzazioni , assicurarsi che il PolicyRoleEsecuzioneEsecuzione AmazonECSTask la policy gestita è collegata al ruolo. Se la policy è collegata, Amazon ECS il ruolo di esecuzione dell'attività è corretto configurato. In caso contrario, segui i passaggi secondari riportati di seguito per collegare la policy.

    1. Scegli Collegare le policy.

    2. Per restringere le policy disponibili da collegare, per Filtro, tipo PolicyRoleEsecuzioneEsecuzione AmazonECSTask.

    3. Selezionare la casella a sinistra del PolicyRoleEsecuzioneEsecuzione AmazonECSTask e scegliere Collega policy.

  5. Scegli Relazioni di fiducia, Modifica attendibilità relazione.

  6. Verificare che la relazione di trust contenga la seguente policy. Se la fiducia corrisponde alla policy riportata di seguito, scegliere Annulla. Se il relazione di trust non corrisponde, copiare la policy nella Politica Documento e scegliere Aggiorna attendibilità Politica.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ecs-tasks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Creazione dell'esecuzione dell'attività IAM ruolo

Se l'account non dispone già di un ruolo di esecuzione delle attività, utilizzare la procedura seguente per creare il ruolo.

Per creare il ecsTaskExecutionRole IAM ruolo

  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, scegliere Ruoli, Crea ruolo.

  3. Nella finestra Seleziona tipo di entità attendibile scegliere Servizio container elastico.

  4. Per Seleziona il tuo caso d'uso, scegli Elastico Attività di servizio container, quindi scegliere Successivo: Autorizzazioni.

  5. Nella finestra Collega policy di autorizzazione cercare la sezione PolicyRoleEsecuzioneEsecuzione AmazonECSTask, selezionare la policy, e quindi scegliere Successivo: Revisione.

  6. Per Nome ruolo, tipo ecsTaskExecutionRole e scegli Crea ruolo.

Richiesto IAM autorizzazioni per privato autenticazione del registro

Il Amazon ECS Il ruolo di esecuzione attività è obbligatorio per utilizzare l'autenticazione del registro privato funzione. Ciò consente all'agente del container di estrarre l'immagine del container. Per ulteriori informazioni informazioni, vedere Autenticazione del registro privato per le attività.

Per fornire l'accesso ai segreti creati, aggiungere manualmente quanto segue autorizzazioni come policy inline per il ruolo di esecuzione dell'attività. Per ulteriori informazioni, consulta Aggiunta di e Rimozione delle policy IAM.

  • secretsmanager:GetSecretValue

  • kms:Decrypt—Richiesto solo se la chiave utilizza un KMS personalizzato e non la chiave predefinita. L'ARN per la chiave personalizzata deve essere aggiunto come risorsa.

Di seguito è riportato un esempio di policy inline che aggiunge le autorizzazioni.

{ "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" ] } ] }

Richiesto IAM autorizzazioni per Amazon ECS segreti

Per utilizzare Amazon ECS segreto, è necessario avere Amazon ECS ruolo di esecuzione attività e nella definizione dell'attività. Ciò consente all'agente del container di estrarre necessario AWS Systems Manager o Secrets Manager risorse. Per ulteriori informazioni, consulta Specificazione di dati sensibili.

Per fornire l'accesso a AWS Systems Manager Parametri dell'Archivio parametri creati dall'utente, aggiungere manualmente le seguenti autorizzazioni come policy inline al ruolo di esecuzione dell'attività. Per ulteriori informazioni, consulta Aggiunta e rimozione Policy IAM.

  • ssm:GetParameters—Richiesto se si fa riferimento a un Systems Manager Parametro Parameter Store in una definizione di attività.

  • secretsmanager:GetSecretValue—Richiesto se si è facendo riferimento a un Secrets Manager direttamente o se il tuo Systems Manager Archivio parametri si sta facendo riferimento a un Secrets Manager segreto in una definizione di attività.

  • kms:Decrypt—Richiesto solo se il segreto utilizza un KMS personalizzato e non la chiave predefinita. L'ARN per la chiave personalizzata deve essere aggiunto come risorsa.

La seguente policy inline di esempio aggiunge le autorizzazioni necessarie:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key_id>" ] } ] }

Opzionale IAM autorizzazioni per Fargate attività di estrazione Amazon ECR immagini su endpoint di interfaccia

Quando si avviano attività che utilizzano Fargate tipo di lancio che richiama le immagini da Amazon ECR quando Amazon ECR è configurato per utilizzare un endpoint VPC di interfaccia, è possibile limitare le attività accedono a un VPC o endpoint VPC specifico. A tale scopo, creare un'esecuzione di attività per le attività da utilizzare che utilizzano IAM chiavi di condizione.

Utilizzare quanto segue IAM chiavi di condizione globali per limitare l'accesso a un VPC specifico o Endpoint VPC. Per ulteriori informazioni, consulta Condizione globale AWS Chiavi di contesto.

  • aws:SourceVpc—Limita l'accesso a un VPC specifico.

  • aws:SourceVpce—Limita l'accesso a un VPC specifico dell'endpoint.

La seguente policy del ruolo di esecuzione attività fornisce un esempio per l'aggiunta di una condizione tasti:

Importante

Il ecr:GetAuthorizationToken L'operazione API non può avere aws:sourceVpc o aws:sourceVpce chiavi di condizione applicate perché la chiamata API GetAuthorizationToken passa attraverso la rete elastica interfaccia di proprietà di AWS Fargate piuttosto che l'interfaccia di rete elastica del attività.

{ "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" } } } ] }