Consentire a AWS OpsWorks Stacks di agire per tuo conto - AWS OpsWorks

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à.

Consentire a AWS OpsWorks Stacks di agire per tuo conto

Importante

Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Team su AWS re:post o tramite Premium AWS Support.

AWS OpsWorks Stacks deve interagire con una varietà di servizi AWS per tuo conto. Ad esempio, AWS OpsWorks Stacks interagisce con Amazon EC2 per creare istanze e con CloudWatch Amazon per ottenere statistiche di monitoraggio. Quando crei uno stack, specifichi un ruolo IAM, di solito chiamato ruolo di servizio, che concede AWS OpsWorks a Stacks le autorizzazioni appropriate.

Quando specifichi il ruolo di servizio per un nuovo stack, puoi procedere in uno dei seguenti modi:

  • Specificare un ruolo di servizio standard creato in precedenza.

    In genere, puoi creare un ruolo di servizio standard quando crei il tuo primo stack e quindi utilizzare tale ruolo per tutti gli stack successivi.

  • Specificate un ruolo di servizio personalizzato creato utilizzando la console o l'API IAM.

    Questo approccio è utile se desideri concedere a AWS OpsWorks Stacks autorizzazioni più limitate rispetto al ruolo di servizio standard.

Nota

Per creare il tuo primo stack, devi disporre delle autorizzazioni definite nel modello di policy IAM. AdministratorAccess Tali autorizzazioni consentono a AWS OpsWorks Stacks di creare un nuovo ruolo di servizio IAM e ti permettono di importare utenti, come descritto in precedenza. Per tutti gli stack successivi, gli utenti possono selezionare il ruolo di servizio creato per il primo stack. Non sono necessarie autorizzazioni amministrative complete per creare uno stack.

Il ruolo di servizio standard assegna le autorizzazioni seguenti:

  • Esegui tutte le azioni di Amazon EC2 ()ec2:*.

  • Ottieni CloudWatch statistiche (cloudwatch:GetMetricStatistics).

  • Usa Elastic Load Balancing per distribuire il traffico ai server ()elasticloadbalancing:*.

  • Usa un'istanza Amazon RDS come server di database (rds:*).

  • Usa IAM roles (iam:PassRole) per fornire comunicazioni sicure tra AWS OpsWorks Stacks e le tue istanze Amazon EC2.

Se crei un ruolo di servizio personalizzato, devi assicurarti che conceda tutte le autorizzazioni necessarie a AWS OpsWorks Stacks per gestire il tuo stack. Il seguente esempio JSON è l'istruzione della policy per il ruolo di servizio standard. Un ruolo di servizio personalizzato deve includere almeno le seguenti autorizzazioni nell'istruzione della policy.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "ecs:*", "elasticloadbalancing:*", "rds:*" ], "Effect": "Allow", "Resource": [ "*" ], "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }

Un ruolo di servizio ha inoltre una relazione di trust. I ruoli di servizio creati da AWS OpsWorks Stacks hanno la seguente relazione di fiducia.

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

Il ruolo di servizio deve avere questa relazione di fiducia affinché AWS OpsWorks Stacks agisca per tuo conto. Se utilizzi il ruolo di servizio predefinito, non modificare la relazione di trust. Se stai creando un ruolo di servizio personalizzato, specifica la relazione di fiducia effettuando una delle seguenti operazioni:

  • Se stai utilizzando la procedura guidata Create role nella console IAM, in Scegli un caso d'uso, scegli Opsworks. Questo ruolo ha la relazione di fiducia appropriata, ma nessuna policy è associata implicitamente. Per concedere a AWS OpsWorks Stacks le autorizzazioni ad agire per tuo conto, crea una policy gestita dal cliente che contenga quanto segue e allegala al nuovo ruolo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricStatistics", "ec2:*", "ecs:*", "elasticloadbalancing:*", "iam:GetRolePolicy", "iam:ListInstanceProfiles", "iam:ListRoles", "iam:ListUsers", "rds:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }
  • Se utilizzi un AWS CloudFormation modello, puoi aggiungere qualcosa di simile a quanto segue alla sezione Risorse del modello.

    "Resources": { "OpsWorksServiceRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "opsworks.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "Policies": [ { "PolicyName": "opsworks-service", "PolicyDocument": { ... } ] } }, } }