Creación del rol de servicio de IAM requerido para Systems Manager en entornos híbridos y multinube - AWS Systems Manager

Creación del rol de servicio de IAM requerido para Systems Manager en entornos híbridos y multinube

Los equipos que no son de EC2 (Amazon Elastic Compute Cloud) que se encuentran en un entorno híbrido y multinube necesitan un rol de servicio de AWS Identity and Access Management (IAM) para comunicarse con el servicio AWS Systems Manager. El rol concede AWS Security Token Service (AWS STS) AssumeRole confianza en el servicio de Systems Manager. Solo tiene que crear un rol de servicio para un entorno híbrido y multinube una vez para cada Cuenta de AWS. Sin embargo, puede elegir crear varios roles de servicio para distintas activaciones híbridas si los equipos del entorno híbrido y multinube requieren permisos distintos.

Los siguientes procedimientos describen cómo crear el rol de servicio necesario mediante la consola de Systems Manager o la herramienta de la línea de comandos que prefiera.

Uso de AWS Management Console para crear un rol de servicio de IAM para activaciones híbridas de Systems Manager

Utilice el siguiente procedimiento para crear un rol de servicio para activación híbrida. Este procedimiento utiliza la política AmazonSSMManagedInstanceCore para la funcionalidad principal de Systems Manager. En función del caso de uso, es posible que tenga que agregar políticas adicionales al rol de servicio para las máquinas locales para poder acceder a otras capacidades o Servicios de AWS. Por ejemplo, sin acceso a los buckets de Amazon Simple Storage Service (Amazon S3) requeridos administrados por AWS, las operaciones de aplicación de revisiones de Patch Manager fallan.

Para crear un rol de servicio de (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 Tipo de entidad de confianza, elija Servicio de AWS.

    2. En Casos de uso de otros Servicios de AWS, elija Systems Manager.

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

      Opción Systems Manager seleccionada como caso de uso.
  4. Elija Siguiente.

  5. En la página Agregar permisos, haga lo siguiente:

    • Utilice el campo Search (Buscar) para localizar la política AmazonSSMManagedInstanceCore. Seleccione la casilla de verificación situada junto a su nombre.

      Política para el servicio de EC2 en la consola de IAM.
    • La consola conserva la selección aunque busque otras políticas.

    • Si ha creado una política de bucket de S3 personalizada en el procedimiento (Opcional) Crear una política personalizada para el acceso al bucket de S3, búsquela y seleccione la casilla de verificación situada junto a su nombre.

    • Si tiene previsto unir equipos que no sean de EC2 a una instancia de Active Directory administrada por AWS Directory Service, busque AmazonSSMDirectoryServiceAccess y seleccione la casilla de verificación situada junto a su nombre.

    • Si tiene previsto utilizar EventBridge o los Registros de CloudWatch para administrar o supervisar el nodo administrado, busque CloudWatchAgentServerPolicy y seleccione la casilla de verificación situada junto a su nombre.

  6. Elija Siguiente.

  7. En Nombre del rol, ingrese un nombre para el rol de servidor de IAM nuevo, por ejemplo, SSMServerRole.

    nota

    Anote el nombre del rol. Elegirá este rol cuando registre equipos nuevos que desee administrar mediante Systems Manager.

  8. (Opcional) En Descripción, actualice la descripción de este rol de servidor de IAM.

  9. (Opcional) En Tags (Etiquetas), agregue uno o varios pares de valor etiqueta-clave para organizar, realizar un seguimiento o controlar el acceso a este rol.

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

Uso de AWS CLI para crear un rol de servicio de IAM para activaciones híbridas de Systems Manager

Utilice el siguiente procedimiento para crear un rol de servicio para activación híbrida. Este procedimiento utiliza la política AmazonSSMManagedInstanceCore de la funcionalidad principal de Systems Manager. En función del caso de uso, es posible que tenga que agregar políticas adicionales al rol de servicio para los equipos que no sean de EC2 en un entorno híbrido y multinube para poder acceder a otras capacidades u otros Servicios de AWS.

Requisito de política de bucket de S3

Si cualquiera de los siguientes casos es correcto, debe crear una política de permiso de IAM personalizada para los buckets de Amazon Simple Storage Service (Amazon S3) antes de completar este procedimiento:

  • Caso 1: está utilizando un punto de conexión de VPC para conectar de forma privada su VPC a Servicios de AWS y servicios de punto de conexión de VPC con tecnología de AWS PrivateLink.

  • Caso 2: tiene previsto utilizar un bucket de Amazon S3 que ha creado como parte de sus operaciones de Systems Manager para, por ejemplo, almacenar salidas de comandos de Run Command o sesiones de Session Manager en un bucket de S3. Antes de continuar, siga los pasos en Creación de una política de bucket de S3 personalizada para un perfil de instancias. La información acerca de las políticas del bucket de S3 que aparece en este tema también se aplica a su rol de servicio.

AWS CLI
Para crear un rol de servicio de IAM para un entorno híbrido y multinube (AWS CLI)
  1. Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

    Para obtener más información, consulte Instalación o actualización de la última versión de la AWS CLI.

  2. En el equipo local, cree un archivo de texto con un nombre como SSMService-Trust.json con la siguiente política de confianza. Asegúrese de guardar el archivo con la extensión .json. Asegúrese de especificar la Cuenta de AWS y la Región de AWS en el ARN en el que creó la activación híbrida.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:us-east-2:123456789012:*" } } } ] }
  3. Abra la AWS CLI, y en el directorio en el que creó el archivo JSON, ejecute el comando create-role para crear el rol de servicio. Este ejemplo crea un rol llamado SSMServiceRole. Puede elegir otro nombre si lo prefiere.

    Linux & macOSWindows
    Linux & macOS
    aws iam create-role \ --role-name SSMServiceRole \ --assume-role-policy-document file://SSMService-Trust.json
    Windows
    aws iam create-role ^ --role-name SSMServiceRole ^ --assume-role-policy-document file://SSMService-Trust.json
  4. Ejecute el comando attach-role-policy de la siguiente forma para permitir que la función de servicio que acaba de crear genere un token de sesión. El token de sesión concede permiso al nodo administrado para ejecutar comandos mediante Systems Manager.

    nota

    Las políticas que agrega a un perfil de servicio para nodos administrados en un entorno híbrido y multinube son las mismas políticas utilizadas para crear un perfil de instancia para instancias de Amazon Elastic Compute Cloud (Amazon EC2). Para obtener más información sobre las políticas de AWS utilizadas en los siguientes comandos, consulte Configuración de permisos de instancia requeridos para Systems Manager.

    (Obligatorio) Ejecute el siguiente comando para permitir que un nodo administrado utilice la funcionalidad principal del servicio de AWS Systems Manager.

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    Si ha creado una política de bucket de S3 personalizada para su rol de servicio, ejecute el siguiente comando para permitir el acceso de AWS Systems Manager Agent (SSM Agent) a los buckets que especificó en la política. Sustituya account-id y DOC-EXAMPLE-BUCKET con el ID de su Cuenta de AWS y el nombre de su bucket.

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::account-id:policy/DOC-EXAMPLE-BUCKET
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::account-id:policy/DOC-EXAMPLE-BUCKET

    (Opcional) Ejecute el siguiente comando para permitir a SSM Agent el acceso a AWS Directory Service en su nombre para las solicitudes de unión al dominio por parte del nodo administrado. El rol de servicio solo necesita esta política si une los nodos a un directorio de Microsoft AD.

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (Opcional) Ejecute el siguiente comando para permitir que el agente de CloudWatch se ejecute en los nodos administrados. Este comando permite la lectura de información en un nodo y su escritura en CloudWatch. Su perfil de servicio solo precisa de esta política si hace uso de servicios, como Amazon EventBridge o Registros de Amazon CloudWatch.

    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Tools for PowerShell
Para crear un rol de servicio de IAM para un entorno híbrido y multinube (AWS Tools for Windows PowerShell)
  1. Instale y configure AWS Tools for PowerShell (Herramientas para Windows PowerShell), si aún no lo ha hecho.

    Para obtener más información, consulte Instalación de AWS Tools for PowerShell.

  2. En el equipo local, cree un archivo de texto con un nombre como SSMService-Trust.json con la siguiente política de confianza. Asegúrese de guardar el archivo con la extensión .json. Asegúrese de especificar la Cuenta de AWS y la Región de AWS en el ARN en el que creó la activación híbrida.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:region:123456789012:*" } } } ] }
  3. Abra PowerShell en modo administrativo y, en el directorio en el que creó el archivo JSON, ejecute New-IAMRole como se indica a continuación para crear una función de servicio. Este ejemplo crea un rol llamado SSMServiceRole. Puede elegir otro nombre si lo prefiere.

    New-IAMRole ` -RoleName SSMServiceRole ` -AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust.json)
  4. Utilice Register-IAMRolePolicy de la siguiente forma para permitir que el rol de servicio que ha creado genere un token de sesión. El token de sesión concede permiso al nodo administrado para ejecutar comandos mediante Systems Manager.

    nota

    Las políticas que agrega a un perfil de servicio para los nodos administrados en un entorno híbrido y multinube son las mismas políticas utilizadas para crear un perfil de instancia para instancias de EC2. Para obtener más información sobre las políticas de AWS utilizadas en los siguientes comandos, consulte Configuración de permisos de instancia requeridos para Systems Manager.

    (Obligatorio) Ejecute el siguiente comando para permitir que un nodo administrado utilice la funcionalidad principal del servicio de AWS Systems Manager.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    Si ha creado una política de bucket de S3 personalizada para su rol de servicio, ejecute el siguiente comando para permitir el acceso de SSM Agent a los buckets que especificó en la política. Sustituya el account-id y el my-bucket-policy-name con el ID de su Cuenta de AWS y el nombre de su bucket.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::account-id:policy/my-bucket-policy-name

    (Opcional) Ejecute el siguiente comando para permitir a SSM Agent el acceso a AWS Directory Service en su nombre para las solicitudes de unión al dominio por parte del nodo administrado. El rol de servidor solo necesita esta política si une los nodos a un directorio de Microsoft AD.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (Opcional) Ejecute el siguiente comando para permitir que el agente de CloudWatch se ejecute en los nodos administrados. Este comando permite la lectura de información en un nodo y su escritura en CloudWatch. Su perfil de servicio solo precisa de esta política si hace uso de servicios, como Amazon EventBridge o Registros de Amazon CloudWatch.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

Siga en Creación de una activación híbrida para registrar nodos con Systems Manager.