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à.
Profilo delle istanze gestite da Amazon ECS
Un profilo dell'istanza è un container IAM che contiene esattamente un ruolo IAM e permette alle istanze gestite da Amazon ECS di assumere tale ruolo in modo sicuro. Il profilo dell'istanza contiene un ruolo dell'istanza che l'agente ECS assume per registrare le istanze nei cluster e comunicare con il servizio ECS.
Importante
Se utilizzi Amazon ECS Managed Instances con la policy AmazonECSInfrastructureRolePolicyForManagedInstances gestita, il nome del ruolo dell'istanza deve iniziare con. ecsInstanceRole L'ambito della policy è valido iam:PassRolearn:aws:iam::*:role/ecsInstanceRole*, quindi un nome non corrispondente causa un errore di autorizzazione all'avvio dell'attività. Questo è comune CloudFormation quando si ometteRoleName, perché CloudFormation genera automaticamente nomi come. MyStack-InstanceRole-ABC123
Se invece utilizzi una policy personalizzata per il ruolo dell'infrastruttura, il ruolo dell'istanza può avere qualsiasi nome purché la policy includa una iam:PassRole concessione destinata all'ARN del ruolo dell'istanza.
Crea il ruolo con la policy di attendibilità
Sostituisci tutto user input con le tue informazioni.
-
Crea un file denominato
ecsInstanceRole-trust-policy.jsoncontenente la policy di attendibilità da utilizzare per il ruolo IAM. Il file deve contenere il testo seguente: -
Utilizzate il AWS CLI comando seguente per creare un ruolo denominato
ecsInstanceRoleutilizzando la politica di fiducia creata nel passaggio precedente.aws iam create-role \ --role-name ecsInstanceRole \ --assume-role-policy-document file://ecsInstanceRole-trust-policy.json -
Allega la
AmazonECSInstanceRolePolicyForManagedInstancespolitica AWS gestita alecsInstanceRoleruolo.aws iam attach-role-policy \ --role-name ecsInstanceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonECSInstanceRolePolicyForManagedInstancesNota
Se scegli di applicare le autorizzazioni con privilegi minimi e di specificare invece le tue autorizzazioni, puoi aggiungere le seguenti autorizzazioni per aiutarti a risolvere i problemi relativi alle attività con Amazon ECS Managed Instances:
ecs:StartTelemetrySessionecs:PutSystemLogEvents
Puoi inoltre usare il flusso di lavoro della policy di attendibilità della console IAM per creare il ruolo. Per ulteriori informazioni, consulta Creazione di un ruolo utilizzando criteri di attendibilità personalizzati (console) nella Guida per l'utente di IAM.
Dopo aver creato il file, è necessario concedere all'utente l'autorizzazione a trasferire il ruolo ad Amazon ECS.
Crea il profilo dell'istanza utilizzando AWS CLI
Dopo aver creato il ruolo, crea il profilo dell'istanza usando la AWS CLI:
aws iam create-instance-profile --instance-profile-name ecsInstanceRole
Aggiungi il ruolo al profilo dell'istanza:
aws iam add-role-to-instance-profile \ --instance-profile-name ecsInstanceRole \ --role-name ecsInstanceRole
Verificare che il profilo sia stato creato correttamente:
aws iam get-instance-profile --instance-profile-name ecsInstanceRole
Crea il profilo dell'istanza utilizzando CloudFormation
È possibile utilizzare AWS CloudFormation per creare il ruolo e il profilo dell'istanza. Scegli una delle seguenti opzioni a seconda che utilizzi la politica AWS di infrastruttura gestita o una politica personalizzata.
Opzione 1: utilizza la convenzione di ecsInstanceRole denominazione (consigliata)
Quando si utilizza la politica AWS di infrastruttura gestita, è necessario RoleName impostarla in modo esplicito su un valore che inizia con. ecsInstanceRole Se omettiRoleName, CloudFormation
genera automaticamente un nome che non corrisponde alla iam:PassRole condizione della policy gestita e le attività non vengono avviate.
Resources: EcsInstanceRole: Type: AWS::IAM::Role Properties: RoleName: ecsInstanceRole AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: ec2.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonECSInstanceRolePolicyForManagedInstances EcsInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: InstanceProfileName: ecsInstanceRole Roles: - !Ref EcsInstanceRole
Opzione 2: utilizza un nome di ruolo personalizzato
Se preferisci lasciare che venga CloudFormation generato il nome del ruolo o utilizzi un nome personalizzato che non inizi conecsInstanceRole, devi aggiungere una policy in linea al tuo ruolo di infrastruttura che iam:PassRole conceda il ruolo dell'istanza.
Resources: EcsInstanceRole: Type: AWS::IAM::Role Properties: # No RoleName — CFN auto-generates AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: ec2.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonECSInstanceRolePolicyForManagedInstances EcsInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: Roles: - !Ref EcsInstanceRole EcsInfrastructureRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: ecs.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonECSInfrastructureRolePolicyForManagedInstances Policies: - PolicyName: PassInstanceRoleToEC2 PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Action: iam:PassRole Resource: !GetAtt EcsInstanceRole.Arn Condition: StringLike: iam:PassedToService: "ec2.*"
Risoluzione dei problemi
Le attività falliscono con iam: PassRole errore di autorizzazione
Se le tue attività falliscono con una ResourceInitializationError menzioneiam:PassRole, verifica che il nome del ruolo dell'istanza inizi conecsInstanceRole. Puoi controllare il nome generato automaticamente nella CloudFormation console nella scheda Risorse del tuo stack. Se il nome non corrisponde, puoi anche:
-
Aggiungi
RoleName: ecsInstanceRolealla tuaAWS::IAM::Rolerisorsa. -
Aggiungi una policy in
iam:PassRolelinea esplicita al tuo ruolo di infrastruttura. Per ulteriori informazioni, consulta Opzione 2: utilizza un nome di ruolo personalizzato.