Gerenciar perfis de instância do Elastic Beanstalk - AWS Elastic Beanstalk

Gerenciar perfis de instância do Elastic Beanstalk

Um perfil da instância é um contêiner para uma função do AWS Identity and Access Management (IAM) que pode ser usada para passar informações da função para uma instância do Amazon EC2 quando a instância é iniciada.

Se a sua conta da AWS não tiver um perfil de instância do EC2, você deverá criar um usando o serviço IAM. Depois, você poderá atribuir o perfil de instância do EC2 aos novos ambientes que criar. As etapas de Criação do ambiente no console do Elastic Beanstalk fornecem acesso ao console do IAM, para que você possa criar um perfil de instância do EC2 com as permissões necessárias.

nota

Anteriormente, o Elastic Beanstalk criava um perfil de instância padrão do EC2 denominado aws-elasticbeanstalk-ec2-role a primeira vez que uma conta da AWS criava um ambiente. Esse perfil de instância incluía as políticas gerenciadas padrão. Se sua conta já tiver esse perfil de instância, ele permanecerá disponível para você atribuí-lo aos seus ambientes.

Porém, as diretrizes de segurança recentes da AWS não permitem que um serviço da AWS crie automaticamente perfis com políticas de confiança para outros serviços da AWS, neste caso o EC2. Por causa dessas diretrizes de segurança, o Elastic Beanstalk não cria mais um perfil de instância padrão aws-elasticbeanstalk-ec2-role.

Políticas gerenciadas

O Elastic Beanstalk fornece várias políticas gerenciadas para permitir que seu ambiente atenda a diferentes casos de uso. Para atender aos casos de uso padrão de um ambiente, essas políticas devem ser anexadas ao perfil de instância do EC2.

  • AWSElasticBeanstalkWebTier: concede permissões para a aplicação carregar os logs no Amazon S3 e informações de depuração no AWS X-Ray. Para visualizar o conteúdo da política gerenciada, consulte a página AWSElasticBeanstalkWebTier no Guia de referência de políticas gerenciadas da AWS.

  • AWSElasticBeanstalkWorkerTier: concede permissões para tarefas de uploads de logs, depuração, publicação de métricas e instância de operador, incluindo gerenciamento de filas, eleição de líder e tarefas periódicas. Para visualizar o conteúdo da política gerenciada, consulte a página AWSElasticBeanstalkWorkerTier no Guia de referência de políticas gerenciadas da AWS.

  • AWSElasticBeanstalkMulticontainerDocker: concede permissões para o Amazon Elastic Container Service coordenar tarefas de cluster em ambientes do Docker. Para visualizar o conteúdo da política gerenciada, consulte a página AWSElasticBeanstalkMulticontainerDocker no Guia de referência de políticas gerenciadas da AWS.

Importante

As políticas gerenciadas do Elastic Beanstalk não fornecem permissões granulares, elas concedem todas as permissões que são potencialmente necessárias para trabalhar com aplicações Elastic Beanstalk. Em alguns casos, talvez você queira restringir ainda mais as permissões das nossas políticas gerenciadas. Para um exemplo de um caso de uso, consulte Impedir o acesso ao bucket do Amazon S3 entre ambientes.

Nossas políticas gerenciadas também não abrangem permissões para recursos personalizados que você pode adicionar à sua solução e que não são gerenciados pelo Elastic Beanstalk. Para implementar permissões mais granulares, permissões mínimas necessárias ou permissões de recursos personalizadas, use políticas personalizadas.

Política de relacionamento de confiança para o EC2

Para permitir que as instâncias do EC2 do ambiente assumam o perfil necessário, o perfil de instância especifica o Amazon EC2 como uma entidade confiável na política de relacionamento de confiança, como se segue.

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

Para personalizar as permissões, você pode adicionar políticas à função anexada ao perfil da instância padrão ou criar seu próprio perfil de instância com um conjunto restrito de permissões.

Criar um perfil da instância

Perfil da instância é um wrapper em torno de uma função padrão do IAM que permite a uma instância do EC2 assumir a função. Você pode criar um perfil de instância com as políticas gerenciadas padrão do Elastic Beanstalk. Você também pode criar perfis de instância adicionais para personalizar permissões para diferentes aplicações. Ou você pode criar um perfil de instância que não inclua as duas políticas gerenciadas que concedem permissões para o nível de trabalho ou ambientes Docker gerenciados pelo ECS, caso não utilize esses recursos.

Para criar um perfil de instância com as políticas gerenciadas padrão
  1. Abra a página Roles (Funções) no console do IAM.

  2. Selecione Create role (Criar função).

  3. Em Tipo de entidade confiável, escolha Serviços da AWS.

  4. Para Serviço ou caso de uso, escolha Elastic Beanstalk.

  5. Para Caso de uso, escolha Elastic Beanstalk — Computação.

  6. Escolha Próximo.

  7. Insira um nome em Nome da função.

    Você pode inserir o nome do perfil padrão sugerido pelo console do Elastic Beanstalk.: aws-elasticbeanstalk-ec2-role.

  8. Verifique se as Políticas de permissões incluem o seguinte e escolha Avançar:

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. Selecione Criar perfil.

Para criar um perfil de instância com sua escolha específica de políticas gerenciadas
  1. Abra a página Roles (Funções) no console do IAM.

  2. Selecione Create role (Criar função).

  3. Em Tipo de entidade confiável, selecione Serviço da AWS.

  4. Em Use case (Caso de uso), selecione EC2.

  5. Escolha Avançar.

  6. Associe as políticas gerenciadas adequadas disponibilizadas pelo Elastic Beanstalk e quaisquer políticas adicionais que fornecem as permissões necessárias à sua aplicação.

  7. Escolha Próximo.

  8. Insira um nome para a função.

  9. (Opcional) Adicione tags à função.

  10. Selecione Criar perfil.

Adicionar permissões ao perfil da instância padrão

Se a sua aplicação acessa APIs ou recursos da AWS aos quais não foram concedidas permissões no perfil da instância padrão, adicione políticas que concedem permissões no console do IAM.

Para adicionar políticas à função anexadas ao perfil de instância padrão
  1. Abra a página Roles (Funções) no console do IAM.

  2. Escolha a função atribuída como seu perfil de instância do EC2.

  3. Na guia Permissions (Permissões), escolha Attach policies (Anexar políticas).

  4. Selecione a política gerenciada para os serviços adicionais que o seu aplicativo utiliza. Por exemplo, AmazonS3FullAccess ou AmazonDynamoDBFullAccess.

  5. Escolha Anexar política.

Verificar as permissões atribuídas ao perfil de instância

As permissões atribuídas ao seu perfil da instância padrão pode variar de acordo com a data de criação, a última vez em que você iniciou um ambiente e qual cliente você usou. É possível verificar as permissões do perfil da instância padrão no console do IAM.

Para verificar as permissões do perfil da instância padrão
  1. Abra a página Roles (Funções) no console do IAM.

  2. Escolha a função atribuída como seu perfil de instância do EC2.

  3. Na guia Permissions, (Permissões) revise a lista de políticas associadas à função.

  4. Para ver as permissões que uma política concede, selecione a política.

Atualizar um perfil da instância padrão desatualizado

Se o perfil de instância padrão não tiver as permissões necessárias, você poderá adicionar manualmente as políticas ao perfil atribuído como seu perfil de instância do EC2.

Para adicionar políticas gerenciadas à função anexadas ao perfil de instância padrão
  1. Abra a página Roles (Funções) no console do IAM.

  2. Escolha a função atribuída como seu perfil de instância do EC2.

  3. Na guia Permissions (Permissões), escolha Attach policies (Anexar políticas).

  4. Digite AWSElasticBeanstalk para filtrar as políticas.

  5. Selecione as seguintes políticas e selecione Attach policy (Associar política):

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker