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.
Temas
- Tarea 1: Crear una política para el rol de servicio de periodo de mantenimiento personalizado
- Tarea 2 (opcional): Crear un rol de servicio personalizado para periodos de mantenimiento (consola)
- Tarea 3: Configurar permisos para usuarios que tengan autorización para registrar tareas de periodo de mantenimiento (consola)
- Tarea 4: configurar permisos para usuarios sin autorización para registrar tareas de periodo 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
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, seleccione Policies y, a continuación, seleccione Create Policy.
-
Seleccione la pestaña JSON.
-
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" ] } } } ] }
-
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
yssm: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
ycloudformation: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 permisosec2: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.
-
-
Cuando haya completado las revisiones de la política, elija Next: Tags (Siguiente: Etiquetas).
-
(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).
-
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
. -
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)
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, seleccione Roles y luego seleccione Crear rol.
-
En Select trusted entity (Seleccionar entidad de confianza), realice las siguientes elecciones:
-
En Trusted entity type (Tipo de entidad de confianza), elija AWS service (Servicio de )
-
En Use cases for other AWS services (Casos de uso de otros servicios de ), elija Systems Manager
-
Elija Systems Manager, como aparece en la siguiente imagen.
-
-
Elija Siguiente.
-
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).
-
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
. -
(Opcional) Puede cambiar la descripción predeterminada del rol para que refleje su finalidad. Por ejemplo:
Performs maintenance window tasks on your behalf
. -
(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).
-
Elija Create role. El sistema le devuelve a la página Roles.
-
Elija el nombre del rol que acaba de crear.
-
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" } ] }
-
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
yiam: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 recursoarn:aws:iam::
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 paraaccount-id
:role/arn:aws:iam::
permite al usuario elegir el rol vinculado al servicio de Systems Manager en la consola cuando se crea una tarea del periodo de mantenimiento.account-id
:role/aws-service-role/ssm.amazonaws.com/Para dar acceso, agregue permisos a los usuarios, grupos o roles:
-
Usuarios y grupos en AWS IAM Identity Center:
Cree un conjunto de permisos. Siga las instrucciones descritas en Crear un conjunto de permisos en la Guía del usuario de AWS IAM Identity Center.
-
Usuarios administrados en IAM a través de un proveedor de identidades:
Cree un rol para la federación de identidades. Siga las instrucciones descritas en Creación de un rol para un proveedor de identidad de terceros (federación) en la Guía del usuario de IAM.
-
Usuarios de IAM:
-
Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en Creación de un rol para un usuario de IAM en la Guía del usuario de IAM.
-
(No recomendado) Adjunte una política directamente a un usuario o añada un usuario a un grupo de usuarios. Siga las instrucciones descritas en Adición de permisos a un usuario (consola) de la Guía del usuario de IAM.
-
-
Para configurar permisos para grupos con autorización para registrar tareas del periodo de mantenimiento (consola)
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, elija User groups (Grupos de usuarios).
-
En la lista de grupos, seleccione el nombre del grupo al que desea asignar el permiso
iam:PassRole
. -
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.
-
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 recursoarn:aws:iam::
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 paraaccount-id
:role/arn:aws:iam::
permite al usuario elegir el rol vinculado al servicio de Systems Manager en la consola cuando se crea una tarea del periodo de mantenimiento.account-id
:role/aws-service-role/ssm.amazonaws.com/ -
Elija Revisar política.
-
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 ejemplomy-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)
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, elija User groups (Grupos de usuarios).
-
En la lista de grupos, seleccione el nombre del grupo al que desea denegar el permiso
ssm:RegisterTaskWithMaintenanceWindow
. -
En la pestaña Permissions (Permisos), elija Add permissions, Create Inline Policy (Agregar permisos, Crear política insertada).
-
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": "*" } ] }
-
Elija Revisar política.
-
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).