Administración de políticas de usuario de Elastic Beanstalk - 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.

Administración de políticas de usuario de Elastic Beanstalk

AWS Elastic Beanstalk proporciona dos políticas administradas que le permiten asignar acceso total o acceso de solo lectura a todos los recursos que administra Elastic Beanstalk. Puede adjuntar las políticas a AWS Identity and Access Management (IAM) usuarios o grupos, o a las funciones que asuman sus usuarios.

Políticas de usuario administradas
  • AdministratorAccess- AWSElasticBeanstalk — Otorga al usuario todos los permisos administrativos para crear, modificar y eliminar las aplicaciones, las versiones de las aplicaciones, los ajustes de configuración, los entornos y sus recursos subyacentes de Elastic Beanstalk. Para ver el contenido de las políticas administradas, consulte la AWSElasticBeanstalk página AdministratorAccess- de la Guía de referencia de políticas AWS administradas.

  • AWSElasticBeanstalkReadOnly— Permite al usuario ver las aplicaciones y los entornos, pero no realizar operaciones que los modifiquen. Proporciona acceso de solo lectura a todos los recursos de Elastic Beanstalk y a otros recursos AWS que recupera la consola de Elastic Beanstalk. Tenga en cuenta que el acceso de solo lectura no permite realizar acciones como descargar archivos registro de Elastic Beanstalk para poder consultarlos. Esto se debe a que los registros se almacenan en el bucket de Amazon S3, donde Elastic Beanstalk requeriría permiso de escritura. Consulte el ejemplo al final de este tema para obtener información sobre cómo habilitar el acceso a los logs de Elastic Beanstalk. Para ver el contenido de las políticas administradas, consulte la página de la Guía de referencia de políticas administradas. AWSElasticBeanstalkReadOnlyAWS

importante

Las políticas administradas de Elastic Beanstalk no proporcionan permisos granulares, ya que otorgan todos los permisos potencialmente necesarios para trabajar con aplicaciones de Elastic Beanstalk. En algunos casos, es posible que desee restringir aún más los permisos de nuestras políticas administradas. Para ver un ejemplo de un caso de uso, consulte Prohibición del acceso al bucket de Amazon S3 en distintos entornos.

Nuestras políticas administradas tampoco incluyen los permisos para recursos personalizados que puede agregar a su solución y que no son administrados por Elastic Beanstalk. Para implementar permisos más granulares, permisos mínimos requeridos o permisos personalizados a nivel de recursos, utilice políticas personalizadas.

Políticas obsoletas administradas por

Anteriormente, Elastic Beanstalk admitía otras dos políticas de usuarios administrados y. AWSElasticBeanstalkFullAccessAWSElasticBeanstalkReadOnlyAccess Planeamos retirar estas políticas anteriores. Es posible que aún pueda verlas y usarlas en la consola. IAM No obstante, se recomienda que realice la transición al uso de las nuevas políticas de usuario administradas y agregue políticas personalizadas para conceder permisos a recursos personalizados, si tiene alguno.

Políticas para la integración con otros servicios

También ofrecemos políticas más detalladas que le permiten integrar su entorno con otros servicios, si prefiere utilizarlos.

  • AWSElasticBeanstalkRoleCWL— Permite que un entorno gestione los grupos de CloudWatch registros de Amazon Logs.

  • AWSElasticBeanstalkRoleRDS— Permite que un entorno integre una RDS instancia de Amazon.

  • AWSElasticBeanstalkRoleWorkerTier— Permite a un nivel de entorno de trabajo crear una tabla de Amazon DynamoDB y una cola de Amazon. SQS

  • AWSElasticBeanstalkRoleECS— Permite que un entorno Docker multicontenedor gestione los clústeres de AmazonECS.

  • AWSElasticBeanstalkRoleCore— Permite las operaciones principales de un entorno de servicios web.

  • AWSElasticBeanstalkRoleSNS— Permite un entorno que permita la integración de SNS temas de Amazon.

Para ver el JSON origen de una política gestionada específica, consulta la Guía de referencia de políticas AWS gestionadas.

Control del acceso con políticas administradas

Puede usar políticas administradas para conceder acceso completo o acceso de solo lectura a Elastic Beanstalk. Elastic Beanstalk actualiza estas políticas automáticamente cuando se necesitan permisos adicionales para tener acceso a nuevas características.

Para aplicar una política administrada a usuarios o grupos de IAM
  1. Abra la página Policies (Políticas) en la consola de IAM.

  2. Escriba AWSElasticBeanstalk en el cuadro de búsqueda para filtrar las políticas.

  3. En la lista de políticas, seleccione la casilla de verificación situada junto a AWSElasticBeanstalkReadOnlyo AdministratorAccess- AWSElasticBeanstalk.

  4. Seleccione Policy actions (Acciones de la política) y, a continuación, Attach (Adjuntar).

  5. Seleccione uno o varios usuarios y grupos a los que asociar la política. Puede utilizar el menú Filter (Filtro) y el cuadro de búsqueda para filtrar la lista entidades principales.

  6. Elija Asociar política.

Creación de una política de usuario personalizada

Puede crear su propia IAM política para permitir o denegar acciones específicas de Elastic Beanstalk en recursos específicos de API Elastic Beanstalk y para controlar el acceso a los recursos personalizados que Elastic Beanstalk no administra. Para obtener más información sobre cómo adjuntar una política a un usuario o grupo, consulte Trabajar con políticas en la Guía del usuario. IAM Para obtener más información sobre la creación de una política personalizada, consulte Creación de IAM políticas en la Guía del IAM usuario.

nota

Si bien puede restringir la forma en que un usuario interactúa con APIs Elastic Beanstalk, actualmente no existe una forma eficaz de impedir que los usuarios que tienen permiso para crear los recursos subyacentes necesarios creen otros recursos en Amazon y otros servicios. EC2

Piense en estas políticas como un medio eficaz de distribuir las responsabilidades de Elastic Beanstalk, no como una forma de proteger todos los recursos subyacentes.

importante

Si tiene políticas personalizadas asignadas a un rol de servicio de Elastic Beanstalk, es importante que le asigne los permisos adecuados para las plantillas de lanzamiento. De lo contrario, es posible que no tenga los permisos necesarios para actualizar un entorno o lanzar uno nuevo. Para obtener más información, consulte Permisos necesarios para las plantillas de lanzamiento de .

Una política de IAM contiene instrucciones de política que describen los permisos que desea conceder. Cuando cree una instrucción de política de Elastic Beanstalk, debe saber cómo usar las cuatro partes siguientes de una instrucción de política:

  • El efecto especifica si se permiten o deniegan las acciones de la instrucción.

  • La acción especifica APIlas operaciones que desea controlar. Por ejemplo, utilice elasticbeanstalk:CreateEnvironment para especificar la operación CreateEnvironment. Algunas operaciones, como la creación de un entorno, requieren permisos adicionales. Para obtener más información, consulte Recursos y condiciones para las acciones de Elastic Beanstalk.

    nota

    Para usar la UpdateTagsForResourceAPIoperación, especifique una de las dos acciones virtuales siguientes (o ambas) en lugar del nombre de la API operación:

    elasticbeanstalk:AddTags

    Controla los permisos para llamar a UpdateTagsForResource y pasar una lista de etiquetas para añadir en el parámetro TagsToAdd.

    elasticbeanstalk:RemoveTags

    Controla el permiso para llamar a UpdateTagsForResource y pasar una lista de claves de etiquetas para eliminar del parámetro TagsToRemove.

  • El recurso especifica los recursos cuyo acceso desea controlar. Para especificar los recursos de Elastic Beanstalk, indique el ARN nombre de recurso de Amazon () de cada recurso.

  • (opcional) La condición especifica las restricciones sobre los permisos concedidos en la instrucción. Para obtener más información, consulte Recursos y condiciones para las acciones de Elastic Beanstalk.

En las siguientes secciones se muestran algunos casos en los que puede considerar el uso de una política de usuario personalizada.

Habilitar la creación del entorno limitado de Elastic Beanstalk

La política del siguiente ejemplo permite al usuario llamar a la acción CreateEnvironment para crear un entorno cuyo nombre comience por Test con la aplicación y versión de la aplicación especificadas.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"CreateEnvironmentPerm", "Action": [ "elasticbeanstalk:CreateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My First Elastic Beanstalk Application/Test*" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My First Elastic Beanstalk Application"], "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My First Elastic Beanstalk Application/First Release"] } } }, { "Sid":"AllNonResourceCalls", "Action":[ "elasticbeanstalk:CheckDNSAvailability", "elasticbeanstalk:CreateStorageLocation" ], "Effect":"Allow", "Resource":[ "*" ] } ] }

La política anterior muestra cómo conceder acceso limitado a las operaciones de Elastic Beanstalk. Para poder lanzar realmente un entorno, el usuario debe tener permiso para crear también los AWS recursos que impulsan el entorno. Por ejemplo, la siguiente política concede acceso al conjunto predeterminado de recursos para un entorno de servidor web:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "ecs:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "sqs:*" ], "Resource": "*" } ] }

Habilitar el acceso a los registros de Elastic Beanstalk almacenados en Amazon S3

La política del siguiente ejemplo permite a un usuario extraer registros de Elastic Beanstalk, almacenarlos en un escenario en Amazon S3 y recuperarlos.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:DeleteObject", "s3:GetObjectAcl", "s3:PutObjectAcl" ], "Effect": "Allow", "Resource": "arn:aws:s3:::elasticbeanstalk-*" } ] }
nota

Para restringir estos permisos únicamente a la ruta de registros, utilice el siguiente formato de recursos.

"arn:aws:s3:::elasticbeanstalk-us-east-2-123456789012/resources/environments/logs/*"

Habilitación de la administración de una aplicación específica de Elastic Beanstalk

La política del siguiente ejemplo permite a un usuario administrar entornos y otros recursos en una aplicación de Elastic Beanstalk específica. La política niega las acciones de Elastic Beanstalk en recursos de otras aplicaciones, y también niega la creación y eliminación de aplicaciones de Elastic Beanstalk.

nota

La política no deniega el acceso a los recursos a través de otros servicios. Demuestra una forma eficaz de distribuir responsabilidades para administrar las aplicaciones de Elastic Beanstalk entre diferentes usuarios, no como una forma de proteger los recursos subyacentes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "elasticbeanstalk:CreateApplication", "elasticbeanstalk:DeleteApplication" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": [ "elasticbeanstalk:CreateApplicationVersion", "elasticbeanstalk:CreateConfigurationTemplate", "elasticbeanstalk:CreateEnvironment", "elasticbeanstalk:DeleteApplicationVersion", "elasticbeanstalk:DeleteConfigurationTemplate", "elasticbeanstalk:DeleteEnvironmentConfiguration", "elasticbeanstalk:DescribeApplicationVersions", "elasticbeanstalk:DescribeConfigurationOptions", "elasticbeanstalk:DescribeConfigurationSettings", "elasticbeanstalk:DescribeEnvironmentResources", "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:DescribeEvents", "elasticbeanstalk:DeleteEnvironmentConfiguration", "elasticbeanstalk:RebuildEnvironment", "elasticbeanstalk:RequestEnvironmentInfo", "elasticbeanstalk:RestartAppServer", "elasticbeanstalk:RetrieveEnvironmentInfo", "elasticbeanstalk:SwapEnvironmentCNAMEs", "elasticbeanstalk:TerminateEnvironment", "elasticbeanstalk:UpdateApplicationVersion", "elasticbeanstalk:UpdateConfigurationTemplate", "elasticbeanstalk:UpdateEnvironment", "elasticbeanstalk:RetrieveEnvironmentInfo", "elasticbeanstalk:ValidateConfigurationSettings" ], "Resource": [ "*" ], "Condition": { "StringNotEquals": { "elasticbeanstalk:InApplication": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/myapplication" ] } } } ] }