Prohibición del acceso al bucket de Amazon S3 en distintos entornos - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prohibición del acceso al bucket de Amazon S3 en distintos entornos

En este tema se explica cómo las políticas administradas pueden permitir el acceso a los buckets de S3 entre entornos y cómo se pueden crear políticas personalizadas para administrar este tipo de acceso.

Elastic Beanstalk proporciona políticas administradas para gestionar los recursos de AWS que requieren los entornos de Elastic Beanstalk de su cuenta de AWS. Los permisos proporcionados de forma predeterminada a una aplicación de su cuenta de AWS tienen acceso a los recursos de S3 que pertenecen a otras aplicaciones de la misma cuenta de AWS.

Si su cuenta de AWS ejecuta varias aplicaciones de Beanstalk, puede reducir la seguridad de sus políticas creando su propia política personalizada para adjuntarla a su propio rol de servicio o perfil de instancia en cada entorno. A continuación, puede limitar los permisos de S3 de su política personalizada a un entorno específico.

nota

Tenga en cuenta que es responsable de mantener su política personalizada. Si cambia una política gestionada por Elastic Beanstalk en la que se basa la política personalizada, tendrá que modificar la política personalizada con los cambios correspondientes en la política base. Para obtener un historial de cambios de las políticas administradas de Elastic Beanstalk, consulte Elastic Beanstalk actualiza las políticas administradas de AWS.

Ejemplo de permisos restringidos

El siguiente ejemplo se basa en la política administrada AWSElasticBeanstalkWebTier.

La política predeterminada incluye las siguientes líneas para los permisos en buckets de S3. Esta política predeterminada no limita las acciones del bucket de S3 a entornos o aplicaciones específicos.

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

Puede limitar el acceso calificando recursos específicos para un rol de servicio especificado como Principal. En el siguiente ejemplo, se proporcionan los permisos aws-elasticbeanstalk-ec2-role-my-example-env del rol de servicio personalizado para los buckets de S3 del entorno con ID my-example-env-ID.

ejemplo Otorgue permisos solo a los buckets de S3 de un entorno 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

El ARN del recurso debe incluir el ID del entorno de Elastic Beanstalk (no el nombre del entorno). Puede obtener el identificador del entorno en la consola de Elastic Beanstalk en la página Información general del entorno. También puede usar el comando de AWS CLI describe-environments para obtener esta información.

Para obtener más información que le ayude a actualizar los permisos de los bucket de S3 para sus entornos de Elastic Beanstalk, consulte los siguientes recursos: