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à.
Fase 2: Creare un ruolo di servizio per CodeDeploy
Nel AWS, i ruoli di servizio vengono utilizzati per concedere le autorizzazioni a un AWS servizio in modo che possa accedere alle AWS risorse. Le policy che colleghi al ruolo del servizio determinano le risorse a cui il servizio può accedere e le azioni che può eseguire.
Al ruolo di servizio per cui crei CodeDeploy devono essere concesse le autorizzazioni richieste per la tua piattaforma di elaborazione. Se esegui la distribuzione su più di una piattaforma di elaborazione, crea un ruolo di servizio per ciascuna. Per aggiungere autorizzazioni, allega una o più delle seguenti politiche fornite: AWS
Per le distribuzioni EC2/on-premise, allega la policy. AWSCodeDeployRole
Fornisce le autorizzazioni necessarie al ruolo del servizio per:
-
Leggi i tag sulle tue istanze o identifica le tue istanze Amazon EC2 tramite i nomi dei gruppi di Amazon EC2 Auto Scaling.
-
Leggi, crea, aggiorna ed elimina i gruppi, gli hook del ciclo di vita e le politiche di scalabilità di Amazon EC2 Auto Scaling.
-
Pubblica informazioni su argomenti di Amazon SNS.
-
Recupera informazioni sugli CloudWatch allarmi.
-
Leggi e aggiorna Elastic Load Balancing.
Nota
Se crei il tuo gruppo Auto Scaling con un modello di avvio, devi aggiungere le seguenti autorizzazioni:
-
ec2:RunInstances
-
ec2:CreateTags
-
iam:PassRole
Per ulteriori informazioniFase 2: Creare un ruolo di servizio, consulta Creazione di un modello di lancio per un gruppo Auto Scaling e Supporto dei modelli di avvio nella Guida per l'utente di Amazon EC2 Auto Scaling.
-
Per le implementazioni di Amazon ECS, se desideri l'accesso completo ai servizi di supporto, allega la policy. AWSCodeDeployRoleForECS
Fornisce le autorizzazioni necessarie al ruolo del servizio per:
-
Leggi, aggiorna ed elimina i set di attività di Amazon ECS.
-
Aggiorna i gruppi target, gli ascoltatori e le regole di Elastic Load Balancing.
-
Invoca funzioni AWS Lambda .
-
Accedi ai file di revisione nei bucket Amazon S3.
-
Recupera informazioni sugli allarmi. CloudWatch
-
Pubblica informazioni su argomenti di Amazon SNS.
Per le implementazioni di Amazon ECS, se desideri un accesso limitato ai servizi di supporto, allega la policy. AWSCodeDeployRoleForECSLimited
Fornisce le autorizzazioni necessarie al ruolo del servizio per:
-
Leggi, aggiorna ed elimina i set di attività di Amazon ECS.
-
Recupera informazioni sugli CloudWatch allarmi.
-
Pubblica informazioni su argomenti di Amazon SNS.
Per le distribuzioni AWS Lambda, se desideri consentire la pubblicazione su Amazon SNS, allega la policy. AWSCodeDeployRoleForLambda
Fornisce le autorizzazioni necessarie al ruolo del servizio per:
-
Leggi, aggiorna e richiama AWS Lambda funzioni e alias.
-
Accedi ai file di revisione nei bucket Amazon S3.
-
Recupera informazioni sugli allarmi. CloudWatch
-
Pubblica informazioni su argomenti di Amazon SNS.
Per le implementazioni AWS Lambda, se desideri limitare l'accesso ad Amazon SNS, allega la policy. AWSCodeDeployRoleForLambdaLimited
Fornisce le autorizzazioni necessarie al ruolo del servizio per:
-
Leggi, aggiorna e richiama AWS Lambda funzioni e alias.
-
Accedi ai file di revisione nei bucket Amazon S3.
-
Recupera informazioni sugli allarmi. CloudWatch
Nell'ambito dell'impostazione del ruolo del servizio, si aggiorna anche il suo rapporto di fiducia per specificare gli endpoint a cui si desidera concedere l'accesso.
Puoi creare un ruolo di servizio con la console IAM AWS CLI, o le API IAM.
Argomenti
Crea un ruolo di servizio (console)
Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. Nel riquadro di navigazione, scegli Ruoli e quindi Crea ruolo.
-
Scegli AWS servizio e, in Caso d'uso, dall'elenco a discesa, scegli. CodeDeploy
-
Scegli il tuo caso d'uso:
-
Per le implementazioni EC2/on-premise, scegli. CodeDeploy
-
Per le implementazioni AWS Lambda, scegli Lambda. CodeDeploy
-
Per le implementazioni di Amazon ECS, scegli CodeDeploy - ECS.
-
Seleziona Successivo.
-
Nella pagina Aggiungi autorizzazioni, viene visualizzata la politica di autorizzazione corretta per il caso d'uso. Seleziona Successivo.
-
Nella pagina Nome, revisione e creazione, in Nome ruolo, inserisci un nome per il ruolo di servizio (ad esempio,
CodeDeployServiceRole
), quindi scegli Crea ruolo.Puoi anche inserire una descrizione per questo ruolo di servizio nella descrizione del ruolo.
-
Se si intende concedere a questo ruolo del servizio l'autorizzazione per accedere a tutti gli endpoint attualmente supportati, la procedura è terminata.
Per limitare l'accesso di questo ruolo di servizio ad alcuni endpoint, continua con i passaggi rimanenti di questa procedura.
Nell'elenco dei ruoli, cerca e scegli il ruolo che hai appena creato (
CodeDeployServiceRole
).-
Seleziona la scheda Relazioni di attendibilità
Seleziona Modifica policy di attendibilità.
Dovrebbero essere visualizzate le seguenti policy, che offrono al ruolo del servizio l'autorizzazione per accedere a tutti gli endpoint supportati:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codedeploy.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Per concedere al ruolo di servizio l'accesso solo ad alcuni endpoint supportati, sostituisci il contenuto della casella di testo della politica di fiducia con la seguente politica. Rimuovi le righe relative agli endpoint a cui vuoi impedire l'accesso, quindi scegli Aggiorna policy.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codedeploy.us-east-1.amazonaws.com", "codedeploy.us-east-2.amazonaws.com", "codedeploy.us-west-1.amazonaws.com", "codedeploy.us-west-2.amazonaws.com", "codedeploy.ca-central-1.amazonaws.com", "codedeploy.ap-east-1.amazonaws.com", "codedeploy.ap-northeast-1.amazonaws.com", "codedeploy.ap-northeast-2.amazonaws.com", "codedeploy.ap-northeast-3.amazonaws.com", "codedeploy.ap-southeast-1.amazonaws.com", "codedeploy.ap-southeast-2.amazonaws.com", "codedeploy.ap-southeast-3.amazonaws.com", "codedeploy.ap-southeast-4.amazonaws.com", "codedeploy.ap-south-1.amazonaws.com", "codedeploy.ap-south-2.amazonaws.com", "codedeploy.ca-central-1.amazonaws.com", "codedeploy.eu-west-1.amazonaws.com", "codedeploy.eu-west-2.amazonaws.com", "codedeploy.eu-west-3.amazonaws.com", "codedeploy.eu-central-1.amazonaws.com", "codedeploy.eu-central-2.amazonaws.com", "codedeploy.eu-north-1.amazonaws.com", "codedeploy.eu-south-1.amazonaws.com", "codedeploy.eu-south-2.amazonaws.com", "codedeploy.il-central-1.amazonaws.com", "codedeploy.me-central-1.amazonaws.com", "codedeploy.me-south-1.amazonaws.com", "codedeploy.sa-east-1.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Per ulteriori informazioni sulla creazione di ruoli di servizio, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'utente IAM.
Creare un ruolo di servizio (CLI)
-
Nel computer di sviluppo creare un file di testo denominato, ad esempio
CodeDeployDemo-Trust.json
. Questo file viene utilizzato per consentire di CodeDeploy lavorare per tuo conto.Esegui una di queste operazioni:
-
Per concedere l'accesso a tutte le AWS regioni supportate, salva il seguente contenuto nel file:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codedeploy.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Per concedere l'accesso solo ad alcune regioni supportate, digitare il seguente contenuto nel file e rimuovere le righe corrispondenti alle regioni alle quali non si desidera consentire l'accesso:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codedeploy.us-east-1.amazonaws.com", "codedeploy.us-east-2.amazonaws.com", "codedeploy.us-west-1.amazonaws.com", "codedeploy.us-west-2.amazonaws.com", "codedeploy.ca-central-1.amazonaws.com", "codedeploy.ap-east-1.amazonaws.com", "codedeploy.ap-northeast-1.amazonaws.com", "codedeploy.ap-northeast-2.amazonaws.com", "codedeploy.ap-northeast-3.amazonaws.com", "codedeploy.ap-southeast-1.amazonaws.com", "codedeploy.ap-southeast-2.amazonaws.com", "codedeploy.ap-southeast-3.amazonaws.com", "codedeploy.ap-southeast-4.amazonaws.com", "codedeploy.ap-south-1.amazonaws.com", "codedeploy.ap-south-2.amazonaws.com", "codedeploy.ca-central-1.amazonaws.com", "codedeploy.eu-west-1.amazonaws.com", "codedeploy.eu-west-2.amazonaws.com", "codedeploy.eu-west-3.amazonaws.com", "codedeploy.eu-central-1.amazonaws.com", "codedeploy.eu-central-2.amazonaws.com", "codedeploy.eu-north-1.amazonaws.com", "codedeploy.eu-south-1.amazonaws.com", "codedeploy.eu-south-2.amazonaws.com", "codedeploy.il-central-1.amazonaws.com", "codedeploy.me-central-1.amazonaws.com", "codedeploy.me-south-1.amazonaws.com", "codedeploy.sa-east-1.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Nota
Non inserire la virgola dopo l'ultimo endpoint dell'elenco.
-
-
Dalla stessa directory, chiama il comando create-role per creare un ruolo del servizio denominato
CodeDeployServiceRole
in base alle informazioni del file di testo appena creato:aws iam create-role --role-name CodeDeployServiceRole --assume-role-policy-document file://CodeDeployDemo-Trust.json
Importante
Assicurarsi di includere
file://
prima del nome del file. Questo è obbligatorio in questo comando.Nell'output del comando prendere nota del valore della voce
Arn
sotto l'oggettoRole
. Servirà successivamente al momento della creazione dei gruppi di distribuzione. Se si dimentica il valore, attenersi alle istruzioni in Ottieni il ruolo di servizio ARN (CLI) . -
La policy gestita utilizzata dipende dalla piattaforma di elaborazione.
-
Se la distribuzione è su una piattaforma di elaborazione EC2/on-premise:
Chiama il attach-role-policy comando per assegnare al ruolo di servizio denominato le autorizzazioni in base
CodeDeployServiceRole
alla policy gestita IAM denominata.AWSCodeDeployRole
Per esempio:aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole
-
Se la distribuzione è su una piattaforma di elaborazione AWS Lambda:
Chiama il attach-role-policy comando per assegnare al ruolo di servizio denominato
CodeDeployServiceRole
le autorizzazioni in base alla policy gestita IAM denominata o.AWSCodeDeployRoleForLambda
AWSCodeDeployRoleForLambdaLimited
Per esempio:aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRoleForLambda
-
Se la distribuzione è su una piattaforma di calcolo Amazon ECS:
Chiama il attach-role-policy comando per assegnare al ruolo di servizio denominato
CodeDeployServiceRole
le autorizzazioni in base alla policy gestita IAM denominata or.AWSCodeDeployRoleForECS
AWSCodeDeployRoleForECSLimited
Per esempio:aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECS
-
Per ulteriori informazioni sulla creazione di ruoli di servizio, consulta Creating a role for an AWS service nella IAM User Guide.
Ottieni il ruolo di servizio ARN (console)
Per utilizzare la console IAM per ottenere l'ARN del ruolo di servizio:
Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione, seleziona Ruoli.
-
Nella casella Filter (Filtro) digitare
CodeDeployServiceRole
e premere Invio. -
Scegli CodeDeployServiceRole.
-
Prendere nota del valore del campo Role ARN (ARN ruolo).
Ottieni il ruolo di servizio ARN (CLI)
Per utilizzare il AWS CLI per ottenere l'ARN del ruolo di servizio, chiama il get-role comando sul ruolo di servizio denominato: CodeDeployServiceRole
aws iam get-role --role-name CodeDeployServiceRole --query "Role.Arn" --output text
Il valore restituito è l'ARN del ruolo del servizio.