Permitir que AWS OpsWorks Stacks actúe en tu nombre - AWS OpsWorks

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.

Permitir que AWS OpsWorks Stacks actúe en tu nombre

importante

El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post o a través de Premium AWS Support.

AWS OpsWorks Stacks necesita interactuar con una variedad de servicios de AWS en su nombre. Por ejemplo, AWS OpsWorks Stacks interactúa con Amazon EC2 para crear instancias y con CloudWatch Amazon para obtener estadísticas de monitoreo. Al crear una pila, se especifica una función de IAM, normalmente denominada función de servicio, que concede a AWS OpsWorks Stacks los permisos adecuados.

Lista de roles de IAM en la página Agregar pila.

Cuando especifique un rol de servicio nuevo de la pila, puede hacer una de las acciones siguientes:

  • Especifique un rol de servicio estándar creado anteriormente.

    Generalmente puede crear un rol de servicio estándar al crear la primera pila y, a continuación, utilizar dicho rol para todas las pilas subsiguientes.

  • Especifique un rol de servicio personalizado que haya creado mediante la consola o la API de IAM.

    Este enfoque resulta útil si quieres conceder a AWS OpsWorks Stacks permisos más limitados que el rol de servicio estándar.

nota

Para crear tu primera pila, debes tener los permisos definidos en la plantilla de AdministratorAccesspolítica de IAM. Estos permisos permiten a AWS OpsWorks Stacks crear un nuevo rol de servicio de IAM y le permiten a usted importar usuarios, tal y como se ha descrito anteriormente. Para todas las pilas siguientes, los usuarios pueden seleccionar el rol de servicio creado para la primera pila; no requieren todos los permisos administrativos para crear una pila.

El rol de servicio estándar concede los siguientes permisos:

  • Ejecute todas las acciones de Amazon EC2 (ec2:*).

  • Obtenga CloudWatch estadísticas (cloudwatch:GetMetricStatistics).

  • Utilice Elastic Load Balancing para distribuir el tráfico entre los servidores (elasticloadbalancing:*).

  • Utilice una instancia de Amazon RDS como servidor de bases de datos (rds:*)

  • Utilice las funciones de IAM (iam:PassRole) para proporcionar una comunicación segura entre AWS OpsWorks Stacks y sus instancias de Amazon EC2.

Si creas un rol de servicio personalizado, debes asegurarte de que otorgue todos los permisos que AWS OpsWorks Stacks necesita para administrar tu stack. El siguiente ejemplo JSON la instrucción de política del rol de servicio estándar; un rol de servicio personalizado debe incluir al menos los siguientes permisos en su instrucción de política.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "ecs:*", "elasticloadbalancing:*", "rds:*" ], "Effect": "Allow", "Resource": [ "*" ], "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }

Un rol de servicio también tiene una relación de confianza. Los roles de servicio creados por AWS OpsWorks Stacks tienen la siguiente relación de confianza.

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

El rol de servicio debe tener esta relación de confianza para que AWS OpsWorks Stacks actúe en tu nombre. Si utiliza el rol de servicio predeterminado, no modifique la relación de confianza. Si crea un rol de servicio personalizado, especifique la relación de confianza mediante una de las opciones siguientes:

  • Si utiliza el asistente Crear rol de la consola de IAM, en Elegir caso de uso, seleccione Opsworks. Este rol tiene la relación de confianza adecuada, pero no incluye ninguna política implícita. Para conceder a AWS OpsWorks Stacks permisos para que actúe en su nombre, cree una política administrada por el cliente que contenga lo siguiente y asóciela al nuevo rol.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricStatistics", "ec2:*", "ecs:*", "elasticloadbalancing:*", "iam:GetRolePolicy", "iam:ListInstanceProfiles", "iam:ListRoles", "iam:ListUsers", "rds:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }
  • Si utilizas una AWS CloudFormation plantilla, puedes añadir algo como lo siguiente a la sección de recursos de la plantilla.

    "Resources": { "OpsWorksServiceRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "opsworks.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "Policies": [ { "PolicyName": "opsworks-service", "PolicyDocument": { ... } ] } }, } }