Permitindo que AWS OpsWorks as pilhas ajam em seu nome - AWS OpsWorks

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Permitindo que AWS OpsWorks as pilhas ajam em seu nome

Importante

O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no AWS re:POST ou por meio do Premium AWS Support.

AWS OpsWorks O Stacks precisa interagir com uma variedade de serviços da AWS em seu nome. Por exemplo, o AWS OpsWorks Stacks interage com o Amazon EC2 para criar instâncias e com a CloudWatch Amazon para obter estatísticas de monitoramento. Ao criar uma pilha, você especifica uma função do IAM, geralmente chamada de função de serviço, que concede às AWS OpsWorks pilhas as permissões apropriadas.

Lista de perfis do IAM na página Adicionar pilha.

Quando você especifica uma função de serviço nova da pilha, poderá optar por fazer o seguinte:

  • Especifique uma função de serviço padrão criada anteriormente.

    Geralmente, você pode criar um serviço padrão quando cria sua primeira pilha, e então usas essa função para todos pilhas subsequentes.

  • Especifica um perfil de serviço personalizado criado usando o console IAM ou API.

    Essa abordagem é útil se você quiser conceder às AWS OpsWorks pilhas permissões mais limitadas do que a função de serviço padrão.

nota

Para criar sua primeira pilha, você precisa ter as permissões definidas no modelo de AdministratorAccesspolítica do IAM. Essas permissões permitem que o AWS OpsWorks Stacks crie uma nova função de serviço do IAM e permitem que você importe usuários , conforme descrito anteriormente . Para todas as pilhas subsequentes, os usuários podem selecionar a função de serviço criado para a primeira pilha; eles não precisam de permissões administrativas para criar uma pilha.

A função de serviço padrão oferece as seguintes permissões:

  • Realizar todas ações Amazon EC2 (ec2:*).

  • Obtenha CloudWatch estatísticas (cloudwatch:GetMetricStatistics).

  • Use o Elastic Load Balancing para distribuir tráfego entre os servidores (elasticloadbalancing:*).

  • Use uma instância do Amazon RDS como um servidor de banco de dados (rds:*).

  • Use funções do IAM (iam:PassRole) para fornecer comunicação segura entre AWS OpsWorks Stacks e suas instâncias do Amazon EC2.

Se você criar uma função de serviço personalizada, deverá garantir que ela conceda todas as permissões que o AWS OpsWorks Stacks precisa para gerenciar sua pilha. O exemplo de JSON a seguir é a declaração de política para a função de serviço padrão. Uma função de serviço personalizada deve incluir pelo menos as permissões a seguir na declaração de política.

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

Uma função de serviço também tem uma relação de confiança. As funções de serviço criadas pelo AWS OpsWorks Stacks têm a seguinte relação de confiança.

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

A função de serviço deve ter essa relação de confiança para que a AWS OpsWorks Stacks atue em seu nome. Se você usar a função de serviço padrão, não modifique a relação de confiança. Se você estiver criando um perfil de serviço personalizado, especifique a relação de confiança fazendo uma das seguintes ações:

  • Se você estiver usando o assistente Criar perfil no console do IAM, em Escolher um caso de uso, escolha Opsworks. Esse perfil tem a relação de confiança apropriada, mas nenhuma política está implicitamente vinculada. Para conceder permissões ao AWS OpsWorks Stacks para agir em seu nome, crie uma política gerenciada pelo cliente que contenha o seguinte, e anexe-a ao novo perfil.

    { "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 você estiver usando um AWS CloudFormation modelo, poderá adicionar algo como o seguinte à seção Recursos do seu modelo.

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