Ruolo CodeDeploy IAM di Amazon ECS - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ruolo CodeDeploy IAM di Amazon ECS

Prima di poter utilizzare il tipo di distribuzione CodeDeploy blu/verde con Amazon ECS, il CodeDeploy servizio necessita delle autorizzazioni per aggiornare il servizio Amazon ECS per tuo conto. Queste autorizzazioni sono fornite dal ruolo IAM (). CodeDeploy ecsCodeDeployRole

Nota

Gli utenti richiedono inoltre le autorizzazioni per l'uso CodeDeploy; queste autorizzazioni sono descritte in. Autorizzazioni IAM richieste

Sono disponibili due policy gestite. Per ulteriori informazioni, consulta una delle seguenti voci nella AWS Managed Policy Reference Guide:

Creare il ruolo CodeDeploy

Puoi utilizzare le seguenti procedure per creare un CodeDeploy ruolo per Amazon ECS

AWS Management Console
Per creare il ruolo di servizio per CodeDeploy (console IAM)
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione della console IAM, scegliere Ruoli e quindi Crea ruolo.

  3. Per Trusted entity type (Tipo di entità attendibile), scegli Servizio AWS.

  4. Per Servizio o caso d'uso, scegli CodeDeploy, quindi scegli il caso d'uso CodeDeploy - ECS.

  5. Scegli Next (Successivo).

  6. Nella sezione Allega criteri di autorizzazione, assicurati che sia selezionata la politica AWSCodeDeployRoleForECS.

  7. Scegli Next (Successivo).

  8. Per Nome ruolo, inserisci ecsCodeDeploy Ruolo.

  9. Verificare il ruolo e quindi scegliere Create role (Crea ruolo).

AWS CLI

Sostituisci tutto user input con le tue informazioni.

  1. Crea un file denominato codedeploy-trust-policy.json che contenga la policy di fiducia da utilizzare per il ruolo CodeDeploy IAM.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": ["codedeploy.amazonaws.com"] }, "Action": "sts:AssumeRole" } ] }
  2. Crea un ruolo IAM denominato ecsCodedeployRole utilizzando la policy di attendibilità creata nel passaggio precedente.

    aws iam create-role \ --role-name ecsCodedeployRole \ --assume-role-policy-document file://codedeploy-trust-policy.json
  3. Allega la policy AWSCodeDeployRoleForECS o la policy AWSCodeDeployRoleForECSLimited gestita al ecsTaskRole ruolo.

    aws iam attach-role-policy \ --role-name ecsCodedeployRole \ --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECS
    aws iam attach-role-policy \ --role-name ecsCodedeployRole \ --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECSLimited

Quando le attività del tuo servizio richiedono un ruolo di esecuzione dell'attività, devi aggiungere al ruolo l'iam:PassRoleautorizzazione per ogni ruolo di esecuzione dell'attività o sostituzione del ruolo dell'attività al CodeDeploy ruolo come politica.

Autorizzazioni relative al ruolo di esecuzione delle attività

Quando le attività del tuo servizio richiedono un ruolo di esecuzione dell'attività, devi aggiungere al ruolo l'iam:PassRoleautorizzazione per ogni ruolo di esecuzione dell'attività o sovrascrittura del ruolo dell'attività al CodeDeploy ruolo come politica. Per ulteriori informazioni, consultare Ruolo IAM di esecuzione di attività Amazon ECS e Ruolo IAM dell'attività Amazon ECS. Quindi, si allega tale politica al ruolo CodeDeploy

Creare la policy

AWS Management Console
Come utilizzare l'editor di policy JSON per creare una policy
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione a sinistra, seleziona Policies (Policy).

    Se è la prima volta che selezioni Policy, verrà visualizzata la pagina Benvenuto nelle policy gestite. Seleziona Inizia.

  3. Nella parte superiore della pagina, scegli Crea policy.

  4. Nella sezione Editor di policy, scegli l'opzione JSON.

  5. Inserisci il documento di policy JSON seguente:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsCodeDeployRole>"] } ] }
  6. Scegli Next (Successivo).

    Nota

    È possibile alternare le opzioni dell'editor Visivo e JSON in qualsiasi momento. Se tuttavia si apportano modifiche o si seleziona Successivo nell'editor Visivo, IAM potrebbe ristrutturare la policy in modo da ottimizzarla per l'editor visivo. Per ulteriori informazioni, consulta Modifica della struttura delle policy nella Guida per l'utente di IAM.

  7. Nella pagina Rivedi e crea, inserisci un valore in Nome policy e Descrizione (facoltativo) per la policy in fase di creazione. Rivedi Autorizzazioni definite in questa policy per visualizzare le autorizzazioni concesse dalla policy.

  8. Seleziona Crea policy per salvare la nuova policy.

Dopo aver creato la policy, associa la policy al CodeDeploy ruolo. Per informazioni su come allegare la politica al ruolo, consulta Aggiornare le autorizzazioni per un ruolo nella Guida per l'AWS Identity and Access Management utente.

AWS CLI

Sostituisci tutto user input con le tue informazioni.

  1. Crea un file denominato blue-green-iam-passrole.json, con il seguente contenuto:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsCodeDeployRole>"] } ] }
  2. Usa il seguente comando per creare la policy IAM utilizzando il file di documento della policy JSON.

    aws iam create-policy \ --policy-name cdTaskExecutionPolicy \ --policy-document file://blue-green-iam-passrole.json
  3. Recupera l'ARN della policy IAM che hai creato utilizzando il seguente comando.

    aws iam list-policies --scope Local --query 'Policies[?PolicyName==`cdTaskExecutionPolicy`].Arn'
  4. Usa il comando seguente per collegare la policy al ruolo CodeDeploy IAM.

    aws iam attach-role-policy \ --role-name ecsCodedeployRole \ --policy-arn arn:aws:iam:111122223333:aws:policy/cdTaskExecutionPolicy