Método 2: uso de IAM a fin de configurar roles para Automation - AWS Systems Manager

Método 2: uso de IAM a fin de configurar roles para Automation

Si necesita crear un rol de servicio para Automation, una capacidad de AWS Systems Manager, complete las siguientes tareas. Para obtener más información acerca de cuándo se necesita un rol de servicio para Automation, consulte Configuración de Automation.

Tarea 1: crear un rol de servicio para Automation

Siga este procedimiento a fin de crear un rol de servicio (o rol de asunción) para Systems Manager Automation.

nota

También puede utilizar este rol en manuales de procedimientos, como AWS-CreateManagedLinuxInstance. La utilización de este rol o del nombre de recurso de Amazon (ARN) de un rol de AWS Identity and Access Management (IAM) en los manuales de procedimientos permite a Automation realizar acciones en su entorno, como lanzar instancias nuevas y realizar acciones en su nombre.

Para crear una función de IAM y permitir que Automation la asuma

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Roles y luego seleccione Create role.

  3. En Select type of trusted entity (Seleccionar tipo de entidad de confianza), elija AWS service (Servicio de AWS).

  4. En la sección Elija un caso de uso, elija Systems Manager y, a continuación, elija Next: Permissions (Siguiente: Permisos).

  5. En la página Attached permissions policy (Política de permisos adjunta), busque la política AmazonSSMAutomationRole, elíjala y, después, seleccione Next: Review (Siguiente: Revisión).

  6. En la página Review (Revisar), ingrese un nombre en el cuadro Role name (Nombre de rol) y, a continuación, escriba una descripción.

  7. Elija Create role. El sistema le devuelve a la página Roles.

  8. En la página Roles, elija el rol que acaba de crear para abrir la página Summary (Resumen). Anote los valores de Role Name (Nombre de rol) y Role ARN (ARN de rol). Especificará el ARN de rol al asociar la política iam:PassRole a su cuenta de IAM en el procedimiento siguiente. También puede especificar el nombre del rol y el ARN en los manuales de procedimientos.

nota

La política AmazonSSMAutomationRole asigna al rol de Automation permiso para acceder a un subconjunto de funciones de AWS Lambda en su cuenta. Estas funciones comienzan por "Automation". Si piensa utilizar Automation con funciones de Lambda, el ARN de Lambda debe utilizar el siguiente formato:

"arn:aws:lambda:*:*:function:Automation*"

Si dispone de funciones de Lambda cuyos ARN no utilizan este formato, también debe adjuntar una política de Lambda adicional al rol de automatización, como la política AWSLambdaRole. La política o el rol adicionales deben proporcionar un acceso más amplio a las funciones de Lambda en la Cuenta de AWS.

Después de crear su rol de servicio, le recomendamos que modifique la política de confianza para ayudar a evitar el problema del suplente confuso entre servicios. El problema de la sustitución confusa es una cuestión de seguridad en la que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación entre servicios puede dar lugar al problema del suplente confuso. La suplantación entre servicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta.

Le recomendamos que utilice las claves de contexto de condición global aws:SourceArn y aws:SourceAccount en las políticas de recursos a fin de limitar los permisos que Automation le concede a otro servicio para el recurso. Si el valor de aws:SourceArn no contiene el ID de cuenta, como un ARN de bucket de Amazon S3, debe utilizar ambas claves de contexto de condición global para limitar los permisos. Si utiliza claves de contexto de condición global y el valor de aws:SourceArn contiene el ID de cuenta, el valor de aws:SourceAccount y la cuenta en el valor de aws:SourceArn deben utilizar el mismo ID de cuenta cuando se utiliza en la misma instrucción de política. Utilice aws:SourceArn si desea que solo se asocie un recurso al acceso entre servicios. Utilice aws:SourceAccount si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios. El valor de aws:SourceArn debe ser el ARN para las ejecuciones de automatización. Si no conoce el ARN completo del recurso o si especifica varios recursos, utilice la clave de condición de contexto global aws:SourceArn con comodines (*) para las partes desconocidas del ARN. Por ejemplo, arn:aws:ssm:*:123456789012:automation-execution/*.

En el ejemplo siguiente, se muestra cómo se pueden utilizar las claves de contexto de condición global aws:SourceArn y aws:SourceAccount para Automation para evitar el problema del suplente confuso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:123456789012:automation-execution/*" } } } ] }

Para modificar una política de confianza de rol

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Seleccione Roles (Roles) en el panel de navegación.

  3. En la lista de roles de su cuenta, elija el nombre del rol de servicio de Automation.

  4. Elija la pestaña Trust relationships (Relaciones de confianza) y, a continuación, Edit trust relationship (Editar relación de confianza).

  5. Edite la política de confianza mediante las claves de contexto de condición global aws:SourceArn y aws:SourceAccount para Automation a fin de evitar el problema de la sustitución confusa.

  6. Para guardar los cambios, elija Update Trust Policy (Actualizar política de confianza).

(Opcional) Agregar una política insertada de Automation para invocar otros servicios de AWS

Si ejecuta una automatización que invoca otros servicios de AWS mediante un rol de servicio de IAM, el rol de servicio debe configurarse con el permiso necesario para invocar dichos servicios. Este requisito se aplica a todos los manuales de procedimientos de Automation de AWS (manuales de AWS-*), como los manuales de procedimientos AWS-ConfigureS3BucketLogging, AWS-CreateDynamoDBBackup y AWS-RestartEC2Instance, por nombrar algunos. Este requisito también se aplica a cualquier manual de procedimientos personalizado que cree para invocar otros servicios de AWS mediante acciones que llaman a otros servicios. Por ejemplo, si utiliza las acciones aws:executeAwsApi, aws:CreateStack o aws:copyImage, entre otras, debe configurar el rol de servicio con el permiso necesario para invocar dichos servicios. Puede conceder permisos a otros servicios de AWS mediante la incorporación de una política insertada de IAM al rol.

Para integrar una política insertada de un rol de servicio (consola de IAM)

  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Seleccione Roles (Roles) en el panel de navegación.

  3. En la lista, seleccione el nombre del rol que desee editar.

  4. Elija la pestaña Permissions (Permisos).

  5. Elija Add inline policy (Agregar política insertada).

  6. Seleccione la pestaña JSON.

  7. Ingrese un documento de política JSON para los servicios de AWS que desee invocar. A continuación, se muestran dos documentos de política JSON a modo de ejemplo.

    Ejemplo de PutObject y GetObject de Amazon S3

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

    Ejemplo de CreateSnapshot y DescribeSnapShots de Amazon EC2

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:DescribeSnapshots", "Resource":"*" } ] }

    Para obtener información acerca del lenguaje de la política de IAM, consulte Referencia de políticas JSON de IAM en la Guía del usuario de IAM.

  8. Cuando haya terminado, elija Review policy (Revisar política). El validador de políticas notifica los errores de sintaxis.

  9. En la página Review policy (Revisar política), complete el campo Name (Nombre) de la política que está creando. Revise el Summary (Resumen) de la política para ver los permisos concedidos por su política. A continuación, elija Create policy (Crear política) para guardar su trabajo.

  10. Una vez que cree una política insertada, se integra de manera automática a su rol.

Tarea 2: asociar la política iam:PassRole al rol de Automation

Siga este procedimiento para asociar la política iam:PassRole al rol de servicio de Automation. Esto permite al servicio de Automation transferir el rol a otros servicios o capacidades de Systems Manager a la hora de ejecutar las automatizaciones.

Para asociar la política iam:PassRole al rol de Automation

  1. En la página Summary del rol que acaba de crear, elija la pestaña Permissions.

  2. Elija Add inline policy (Agregar política insertada).

  3. En la página Create policy (Crear política), elija la pestaña Visual editor (Editor visual).

  4. Elija Service (Servicio) y, a continuación, IAM.

  5. Elija Select actions (Seleccionar acciones).

  6. En el cuadro de texto Filter actions (Filtrar acciones), escriba PassRole y, a continuación, elija la opción PassRole.

  7. Elija Resources (Recursos). Compruebe que esté seleccionado Specific (Específicos) y elija Add ARN (Añadir ARN).

  8. En el campo Specify ARN for role (Especificar el ARN del rol), pegue el ARN del rol de Automation que copió al final de la tarea 1. El sistema rellena los campos Account (Cuenta) y Role name with path (Nombre del rol con ruta).

    nota

    Si desea que el rol de servicio de Automation adjunte un rol de perfil de instancia de IAM a una instancia de EC2, debe agregar el ARN del rol de perfil de instancia de IAM. Esto permite que el rol de servicio de Automation transfiera el rol de perfil de instancia de IAM a la instancia de EC2 de destino.

  9. Elija Add (Agregar).

  10. Elija Review policy (Revisar política).

  11. En la página Review Policy (Revisar política), ingrese un nombre y, a continuación, elija Create policy (Crear la política).

Tarea 3: configurar el acceso del usuario a Automation

Si su cuenta de usuario, grupo o rol de AWS Identity and Access Management (IAM) tiene asignados permisos de administrador, entonces tendrá acceso a Systems Manager Automation. Si no tiene permisos de administrador, un administrador debe concederle permiso mediante la asignación de la política administrada AmazonSSMFullAccess o de una política que proporcione permisos comparables a su cuenta, grupo o rol de IAM.

Utilice el siguiente procedimiento para configurar una cuenta de usuario para utilizar Automation. La cuenta de usuario que elija tendrá permiso para configurar y ejecutar Automation. Si necesita crear una cuenta de usuario nueva, consulte Creación de un usuario de IAM en su Cuenta de AWS en la Guía del usuario de IAM.

Para configurar el acceso de los usuarios y adjuntar la política iam:PassRole a una cuenta de usuario

  1. En el panel de navegación de IAM, elija Users (Usuarios) y, a continuación, seleccione la cuenta de usuario que desea configurar.

  2. En la pestaña Permissions (Permisos), en la lista de políticas, verifique que aparece la política AmazonSSMFullAccess o que hay una política equivalente que conceda a la cuenta los permisos necesarios para acceder a Systems Manager.

  3. Elija Add inline policy (Agregar política insertada).

  4. En la página Create policy (Crear política), elija Visual Editor (Editor visual) y, a continuación, elija Choose a service (Elegir un servicio).

  5. En el cuadro de búsqueda, ingrese IAM o desplácese hasta encontrar IAM en la parte inferior de la página y elija IAM.

  6. Para Actions (Acciones), ingrese PassRole en el cuadro de búsqueda y elija PassRole.

  7. En la sección Resources (Recursos), elija Add ARN (Agreagr ARN), pegue el ARN para la función de servicio de automatización que copió al final de la Tarea 1 y, a continuación, elija Add (Agregar).

  8. Elija Review policy (Revisar política).

  9. En la página Review Policy (Revisar política) proporcione un Name (Nombre) para la política y, a continuación, elija Create policy (Crear política).

Ha terminado de configurar los roles obligatorios para Automation. Ahora, puede utilizar el ARN del rol de servicio de Automation en sus manuales de procedimientos.