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á.
Impedindo o acesso entre ambientes cruzados ao bucket do Amazon S3
Este tópico explica como as políticas gerenciadas podem permitir o acesso entre ambientes ao bucket do S3 e como você pode criar políticas personalizadas para gerenciar esse tipo de acesso.
O Elastic Beanstalk fornece políticas gerenciadas para AWS lidar com os recursos exigidos pelos ambientes do Elastic Beanstalk em sua conta. AWS As permissões fornecidas por padrão para um aplicativo em sua AWS conta têm acesso aos recursos do S3 que pertencem a outros aplicativos na mesma AWS conta.
Se sua AWS conta executa vários aplicativos Beanstalk, você pode definir a segurança de suas políticas criando sua própria política personalizada para anexar à sua própria função de serviço ou perfil de instância para cada ambiente. Em seguida, você pode limitar as permissões do S3 em sua política personalizada a 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 mudar, você precisará modificar sua política personalizada com as respectivas alterações na política base. Para obter um histórico de mudanças nas 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 AWSElasticBeanstalkWebTiergerenciada.
A política padrão inclui as seguintes linhas de permissões para buckets do S3. Essa política padrão não limita as ações do bucket do S3 a ambientes ou aplicativos específicos.
{
"Sid" : "BucketAccess",
"Action" : [
"s3:Get*",
"s3:List*",
"s3:PutObject"
],
"Effect" : "Allow",
"Resource" : [
"arn:aws:s3:::elasticbeanstalk-*",
"arn:aws:s3:::elasticbeanstalk-*/*"
]
}
Você pode restringir o acesso qualificando recursos específicos para uma função de serviço especificada como a. Principal
O exemplo a seguir fornece as aws-elasticbeanstalk-ec2-role-my-example-env
permissões personalizadas da função de serviço para buckets do S3 no ambiente com id. my-example-env-ID
exemplo Conceda permissões somente aos buckets 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 recurso ARN deve incluir o ID do ambiente do Elastic Beanstalk (não o nome do ambiente). Você pode obter o ID do ambiente no console do Elastic Beanstalk na página de 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 para ajudá-lo a atualizar as permissões do bucket do S3 para seus ambientes do Elastic Beanstalk, consulte os seguintes recursos:
-
Usar o Elastic Beanstalk com o Amazon S3 neste guia
-
Tipos de recursos definidos pelo Amazon S3 no guia de referência de autorização de serviço
-
ARNformato no Guia do IAM usuário