Impedir o acesso ao bucket do Amazon S3 entre ambientes - AWS Elastic Beanstalk

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

Impedir o acesso ao bucket do Amazon S3 entre ambientes

Este tópico explica como as políticas gerenciadas podem permitir o acesso ao bucket do S3 entre ambientes e como você pode criar políticas personalizadas para gerenciar esse tipo de acesso.

O Elastic Beanstalk fornece políticas gerenciadas para lidar com os recursos da AWS exigidos pelos ambientes do Elastic Beanstalk na sua conta da AWS. As permissões fornecidas por padrão para uma aplicação na sua conta da AWS têm acesso aos recursos do S3 que pertencem a outros aplicações na mesma conta da AWS.

Se sua conta da AWS executar várias aplicações Beanstalk, você poderá reduzir o escopo da segurança de suas políticas criando sua própria política personalizada para anexar ao seu próprio perfil de serviço ou perfil de instância para cada ambiente. É possível limitar as permissões do S3 na política personalizada para um ambiente específico.

nota

Esteja ciente de que você é responsável por manter sua política personalizada. Se uma política gerenciada do Elastic Beanstalk na qual sua política personalizada se baseia for alterada, você precisará modificar sua política personalizada com as respectivas alterações na política de base. Para obter um histórico de alterações das políticas gerenciadas do Elastic Beanstalk, consulte Atualizações do Elastic AWS Beanstalk nas políticas gerenciadas.

Exemplo de permissões com escopo reduzido

O exemplo a seguir é baseado na política gerenciada AWSElasticBeanstalkWebTier.

A política padrão inclui as seguintes linhas para permissões de buckets do S3. Essa política padrão não limita as ações do bucket do S3 a ambientes ou aplicações específicos.

{ "Sid" : "BucketAccess", "Action" : [ "s3:Get*", "s3:List*", "s3:PutObject" ], "Effect" : "Allow", "Resource" : [ "arn:aws:s3:::elasticbeanstalk-*", "arn:aws:s3:::elasticbeanstalk-*/*" ] }

É possível restringir o acesso qualificando recursos específicos para um perfil de serviço especificado como Principal. O exemplo a seguir fornece as permissões personalizadas do perfil de serviço aws-elasticbeanstalk-ec2-role-my-example-env para os buckets do S3 no ambiente com ID my-example-env-ID.

exemplo Conceder permissões apenas para os buckets do S3 de um ambiente específico
{ "Sid": "BucketAccess", "Action": [ "s3:Get*", "s3:List*", "s3:PutObject" ], "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::...:role/aws-elasticbeanstalk-ec2-role-my-example-env" }, "Resource": [ "arn:aws:s3:::elasticbeanstalk-my-region-account-id-12345", "arn:aws:s3:::elasticbeanstalk-my-region-account-id-12345/resources/environments/my-example-env-ID/*" ] }
nota

O ARN do recurso deve incluir o ID do ambiente do Elastic Beanstalk (não o nome do ambiente). É possível obter o ID do ambiente no console do Elastic Beanstalk, na página Visão geral do ambiente. Você também pode usar o comando AWS CLI describe-environments para obter essas informações.

Para obter mais informações que o ajudem a atualizar as permissões de bucket do S3 para seus ambientes Elastic Beanstalk, consulte os seguintes recursos: