Utilice la consola para configurar permisos para periodos de mantenimiento - AWS Systems Manager

Utilice la consola para configurar permisos para periodos de mantenimiento

Los siguientes procedimientos describen cómo usar la consola de AWS Systems Manager para crear los roles y los permisos necesarios para periodos de mantenimiento.

Tarea 1: Crear una política para el rol de servicio de periodo de mantenimiento personalizado

Puede utilizar la siguiente política en formato JSON para crear la política que se debe utilizar con el rol de periodo de mantenimiento. Más tarde adjuntará esta política al rol que cree en Tarea 2 (opcional): Crear un rol de servicio personalizado para periodos de mantenimiento (consola).

importante

En función de las tareas y los tipos de tareas que ejecuten los periodos de mantenimiento, es posible que no necesite todos los permisos de esta política, o que tenga que incluir permisos adicionales.

Para crear una política para el rol de servicio de periodo de mantenimiento personalizado
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies y, a continuación, seleccione Create Policy.

  3. Seleccione la pestaña JSON.

  4. Reemplace el contenido predeterminado con lo siguiente:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:SendCommand", "ssm:CancelCommand", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetCommandInvocation", "ssm:GetAutomationExecution", "ssm:StartAutomationExecution", "ssm:ListTagsForResource", "ssm:GetParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StartExecution" ], "Resource": [ "arn:aws:states:*:*:execution:*:*", "arn:aws:states:*:*:stateMachine:*" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:*:function:*" ] }, { "Effect": "Allow", "Action": [ "resource-groups:ListGroups", "resource-groups:ListGroupResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "ssm.amazonaws.com" ] } } } ] }
  5. Modifique el contenido JSON de acuerdo con lo que necesiten las tareas de mantenimiento que ejecute en la cuenta. Los cambios que realice son específicos de las operaciones planificadas.

    Por ejemplo:

    • Puede proporcionar nombres de recursos de Amazon (ARN) para funciones y máquinas de estado específicas en lugar de utilizar calificadores comodín (*).

    • Si no tiene previsto ejecutar tareas de AWS Step Functions, puede quitar los permisos y ARN de states.

    • Si no tiene previsto ejecutar tareas de AWS Lambda, puede quitar los permisos y ARN de lambda.

    • Si no tiene previsto ejecutar tareas de automatización, puede quitar los permisos ssm:GetAutomationExecution y ssm:StartAutomationExecution.

    • Agregue permisos adicionales que puedan ser necesarios para que se ejecuten las tareas. Por ejemplo, algunas acciones de Automation trabajan con pilas de AWS CloudFormation. Por lo tanto, los permisos cloudformation:CreateStack, cloudformation:DescribeStacks y cloudformation:DeleteStack son obligatorios.

      Otro ejemplo es el manual de procedimientos de Automation AWS-CopySnapshot, que requiere permisos para crear una instantánea de Amazon Elastic Block Store (Amazon EBS). Por lo tanto, el rol de servicio necesita los permisos ec2:CreateSnapshot.

      Para obtener información acerca de los permisos de rol que necesitan los manuales de procedimientos de automatización, consulte las descripciones de documentos en la Referencia de manuales de procedimientos de AWS Systems Manager automatización.

  6. Cuando haya completado las revisiones de la política, elija Next: Tags (Siguiente: Etiquetas).

  7. (Opcional) Agregue uno o varios pares de valor etiqueta-clave para organizar, realizar un seguimiento o controlar el acceso a esta política y, a continuación, elija Next: Review (Siguiente: Revisar).

  8. En Name (Nombre), ingrese un nombre que identifique esta como la política que utilizará el rol de servicio de Maintenance Windows que va a crear. Por ejemplo: my-maintenance-window-role-policy.

  9. Elija Create policy (Crear política) y anote el nombre que haya especificado para la política. Hará referencia a él en el siguiente procedimiento, Tarea 2 (opcional): Crear un rol de servicio personalizado para periodos de mantenimiento (consola).

Tarea 2 (opcional): Crear un rol de servicio personalizado para periodos de mantenimiento (consola)

Utilice el siguiente procedimiento para crear un rol de servicio personalizado para Maintenance Windows, de modo que Systems Manager pueda ejecutar tareas de Maintenance Windows en su nombre. Adjuntará la política que ha creado en la tarea anterior al rol de servicio personalizado que cree.

importante

Antes, la consola de Systems Manager ofrecía la posibilidad de elegir el rol vinculado a servicio de IAM AWSServiceRoleForAmazonSSM administrado de AWS que utilizar como rol de mantenimiento para las tareas. Ya no se recomienda utilizar este rol y su política asociada, AmazonSSMServiceRolePolicy, para tareas de periodo de mantenimiento. Si está utilizando actualmente este rol para tareas de periodo de mantenimiento, le recomendamos que deje de hacerlo. En su lugar, cree su propio rol de IAM que permita la comunicación entre Systems Manager y otros Servicios de AWS cuando se ejecuten las tareas de periodo de mantenimiento.

Para crear un rol de servicio personalizado (consola)
  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 Crear rol.

  3. En Select trusted entity (Seleccionar entidad de confianza), realice las siguientes elecciones:

    1. En Trusted entity type (Tipo de entidad de confianza), elija AWS service (Servicio de )

    2. En Use cases for other AWS services (Casos de uso de otros servicios de ), elija Systems Manager

    3. Elija Systems Manager, como aparece en la siguiente imagen.

      Captura de pantalla que muestra la opción de Systems Manager seleccionada como caso de uso.
  4. Elija Siguiente.

  5. En el cuadro de búsqueda, ingrese el nombre de la política que ha creado en Tarea 1: Crear una política para el rol de servicio de periodo de mantenimiento personalizado, seleccione la casilla situada junto a su nombre y, a continuación, elija Next (Siguiente).

  6. En el campo Role name (Nombre del rol), ingrese un nombre que identifique a este rol como un rol de Maintenance Windows. Por ejemplo: my-maintenance-window-role.

  7. (Opcional) Puede cambiar la descripción predeterminada del rol para que refleje su finalidad. Por ejemplo: Performs maintenance window tasks on your behalf.

  8. (Opcional) Añada uno o varios pares de clave de etiqueta-valor para organizar, realizar un seguimiento o controlar el acceso a este rol y, a continuación, elija Next: Review (Siguiente: Revisar).

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

  10. Elija el nombre del rol que acaba de crear.

  11. Elija la pestaña Trust relationships (Relaciones de confianza), y luego verifique que aparezca la siguiente política en el cuadro Trusted entities (Entidades de confianza).

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  12. Copie o anote el nombre del rol y el valor del ARN del área Summary (Resumen). Los usuarios de la cuenta tendrán que especificar esta información cuando creen periodos de mantenimiento.

Tarea 3: Configurar permisos para usuarios que tengan autorización para registrar tareas de periodo de mantenimiento (consola)

Cuando registra una tarea en un periodo de mantenimiento, debe especificar un rol de servicio personalizado o un rol vinculado al servicio de Systems Manager para ejecutar las operaciones de la tarea real. Este es el rol que el servicio asume cuando ejecuta las tareas en su nombre. Antes de eso, para registrar la tarea en sí, asigne la política de IAM PassRole a una entidad de IAM (como un usuario o un grupo). Esto permite que la entidad de IAM (usuario o grupo) especifique, como parte del registro de esas tareas con el periodo de mantenimiento, el rol que se debe usar al ejecutar tareas. Para obtener más información, consulte Concesión de permisos a un usuario para transferir un rol a un Servicio de AWS en la Guía del usuario de IAM.

Para configurar permisos para usuarios que pueden registrar tareas de periodo de mantenimiento

Si una entidad de IAM (usuario, rol o grupo) está configurada con permisos de administrador, el usuario o el rol tendrá acceso a los periodos de mantenimiento. Para las entidades de IAM sin permisos de administrador, el administrador debe conceder los siguientes permisos a la entidad de IAM. Estos son los permisos mínimos necesarios para registrar tareas con un periodo de mantenimiento:

  • La política administrada AmazonSSMFullAccess, o una política que proporcione permisos comparables.

  • Los siguientes permisos iam:PassRole y iam:ListRoles.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/my-maintenance-window-role" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/" } ] }

    my-maintenance-window-role representa el nombre del rol de la ventana de mantenimiento personalizada que ha creado antes.

    account-id representa el ID de su Cuenta de AWS. Al agregar este permiso para el recurso arn:aws:iam::account-id:role/ se permite al usuario ver y elegir entre los roles de cliente en la consola cuando crea una tarea del periodo de mantenimiento. La adición de este permiso para arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ permite al usuario elegir el rol vinculado al servicio de Systems Manager en la consola cuando se crea una tarea del periodo de mantenimiento.

    Para dar acceso, agregue permisos a los usuarios, grupos o roles:

Para configurar permisos para grupos con autorización para registrar tareas del periodo de mantenimiento (consola)
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija User groups (Grupos de usuarios).

  3. En la lista de grupos, seleccione el nombre del grupo al que desea asignar el permiso iam:PassRole.

  4. En la pestaña Permissions (Permisos), elija Add permissions, Create Inline Policy (Agregar permisos, Crear política insertada) y, luego, elija la pestaña JSON.

  5. Sustituya los contenidos predeterminados del cuadro por lo siguiente.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/my-maintenance-window-role" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/" } ] }

    my-maintenance-window-role representa el nombre del rol de la ventana de mantenimiento personalizada que ha creado antes.

    account-id representa el ID de su Cuenta de AWS. Al agregar este permiso para el recurso arn:aws:iam::account-id:role/ se permite al usuario ver y elegir entre los roles de cliente en la consola cuando crea una tarea del periodo de mantenimiento. La adición de este permiso para arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ permite al usuario elegir el rol vinculado al servicio de Systems Manager en la consola cuando se crea una tarea del periodo de mantenimiento.

  6. Elija Revisar política.

  7. En la página Review policy (Revisar política), ingrese un nombre en el cuadro Name (Nombre) para identificar la política PassRole, como por ejemplo my-group-iam-passrole-policy, y luego, elija Create policy (Crear política).

Tarea 4: configurar permisos para usuarios sin autorización para registrar tareas de periodo de mantenimiento

En función de si el permiso ssm:RegisterTaskWithMaintenanceWindow se deniega a un usuario individual o a un grupo, utilice uno de los siguientes procedimientos para evitar que los usuarios registren tareas con un periodo de mantenimiento.

Para configurar permisos para usuarios que no pueden registrar tareas de periodo de mantenimiento
  • Un administrador debe agregar las siguientes restricciones a la entidad IAM.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
Para configurar permisos para grupos sin autorización para registrar tareas del periodo de mantenimiento (consola)
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija User groups (Grupos de usuarios).

  3. En la lista de grupos, seleccione el nombre del grupo al que desea denegar el permiso ssm:RegisterTaskWithMaintenanceWindow.

  4. En la pestaña Permissions (Permisos), elija Add permissions, Create Inline Policy (Agregar permisos, Crear política insertada).

  5. Elija la pestaña JSON y, luego, reemplace los contenidos predeterminados del cuadro con lo siguiente.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
  6. Elija Revisar política.

  7. En la página Review policy (Revisar política), ingrese un nombre en el cuadro Name (Nombre) para identificar esta política, como por ejemplo my-groups-deny-mw-tasks-policy y, luego, elija Create policy (Crear política).