Administración de dispositivos periféricos con Systems Manager
En esta sección se describen las tareas de configuración que la cuenta y los administradores de sistemas realizan para habilitar la configuración y la administración de dispositivos de núcleo de AWS IoT Greengrass. Después de completar estas tareas, los usuarios a los que el administrador de Cuenta de AWS les ha concedido permisos pueden utilizar AWS Systems Manager para configurar y administrar los dispositivos de núcleo de AWS IoT Greengrass.
-
SSM Agent para AWS IoT Greengrass no es compatible en macOS ni en Windows 10. No puede utilizar las capacidades de Systems Manager para administrar y configurar dispositivos de borde que utilizan estos sistemas operativos.
-
Systems Manager también admite dispositivos de borde que no están configurados como dispositivos de núcleo de AWS IoT Greengrass. Para utilizar Systems Manager para administrar dispositivos de núcleo de AWS IoT y dispositivos de periferia que no sean de AWS, debe configurarlos mediante una activación híbrida Para obtener más información, consulte Administrador de nodos en entornos híbridos y multinube con Systems Manager.
-
Para utilizar Session Manager y la aplicación de revisiones de aplicaciones de Microsoft con los dispositivos de borde, debe habilitar el nivel de instancias avanzadas. Para obtener más información, consulte Activación del nivel de instancias avanzadas.
Antes de empezar
Compruebe que los dispositivos de borde cumplen los siguientes requisitos.
-
Los dispositivos de borde deben cumplir los requisitos para configurarse como dispositivos de núcleo de AWS IoT Greengrass. Para obtener más información, consulte Configuración de dispositivos de núcleo de AWS IoT Greengrass en la Guía para desarrolladores de AWS IoT Greengrass Version 2.
-
Los dispositivos de borde deben ser compatibles con el agente de AWS Systems Manager (SSM Agent). Para obtener más información, consulte Sistemas operativos compatibles con Systems Manager.
-
Los dispositivos de borde deben poder comunicarse con el servicio de Systems Manager en la nube. Systems Manager no admite dispositivos de borde desconectados.
Acerca de la configuración de dispositivos de borde
La configuración de dispositivos de AWS IoT Greengrass para Systems Manager implica los siguientes procesos.
Para obtener información sobre cómo desinstalar SSM Agent de un dispositivo perimetral, consulte Desinstalar AWS Systems Manager Agent en la AWS IoT Greengrass Version 2Guía para desarrolladores.
Creación de un rol de servicio de IAM para dispositivos periféricos
Los dispositivos de núcleo de AWS IoT Greengrass requieren un rol de servicio de AWS Identity and Access Management (IAM) para comunicarse con 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 una vez por cada Cuenta de AWS. Especificará este rol para el parámetro RegistrationRole
cuando configure e implemente el componente de SSM Agent a los dispositivos de AWS IoT Greengrass. Si ya creó este rol mientras configuraba nodos que no son de EC2 para un entorno híbrido y multinube, puede omitir este paso.
A los usuarios de la empresa u organización que van a utilizar Systems Manager en los dispositivos de borde se les debe conceder permiso en IAM para llamar a la API de Systems Manager.
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 compatibles gestionados por AWS PrivateLink.
-
Caso 2: planea usar un bucket S3 que crea como parte de sus operaciones de Administrador de sistemas, como para almacenar la salida para comandos Run Command o sesiones Session Manager en un bucket 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.
Si los dispositivos están protegidos por un firewall y planea utilizar Patch Manager, el firewall debe permitir el acceso al punto de conexión de la base de referencia de revisiones arn:aws:s3:::patch-baseline-snapshot-region
/*
.
region
representa el identificador de Región de AWS compatible con AWS Systems Manager, como us-east-2
para la región EE. UU. Este (Ohio). Para ver una lista de los valores de regiones
admitidos, consulte la columna Región en Puntos de conexión de servicio de Systems Manager en la Referencia general de Amazon Web Services.
- AWS CLI
-
Para crear un rol de servicio de IAM para un entorno AWS IoT Greengrass (AWS CLI)
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.
-
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
.
Anote el nombre. Lo especificará cuando implemente SSM Agent en los dispositivos de núcleo de AWS IoT Greengrass.
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
}
-
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. Reemplace cada example resource placeholder
con su propia información.
Linux y 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
-
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 a los dispositivos de borde para ejecutar comandos mediante Systems Manager.
Las políticas que agrega a un perfil de servicio para los dispositivos de borde son las mismas políticas que las utilizadas para crear un perfil de instancias en instancias de Amazon Elastic Compute Cloud (Amazon EC2). Para obtener más información sobre las políticas de IAM 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 dispositivo de borde utilice la funcionalidad principal del servicio de AWS Systems Manager.
Linux y 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 my_bucket_policy_name
con el ID de la Cuenta de AWS y el nombre del bucket.
Linux y macOS
aws iam attach-role-policy \
--role-name SSMServiceRole
\
--policy-arn arn:aws:iam::account_ID
:policy/my_bucket_policy_name
Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole
^
--policy-arn arn:aws:iam::account_id
:policy/my_bucket_policy_name
(Opcional) Ejecute el siguiente comando para permitir que SSM Agent acceda a AWS Directory Service en su nombre para las solicitudes de unión al dominio desde los dispositivos de borde. El rol de servicio solo necesita esta política si une los dispositivos de borde a un directorio de Microsoft AD.
Linux y 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 dispositivos de borde. Este comando permite la lectura de información en un dispositivo y su escritura en CloudWatch. El rol de servicio solo precisa de esta política si hace uso de servicios, como Amazon EventBridge o los 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 AWS IoT Greengrass (AWS Tools for Windows PowerShell)
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.
-
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
.
Anote el nombre. Lo especificará cuando implemente SSM Agent en los dispositivos de núcleo de AWS IoT Greengrass.
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
}
-
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.
New-IAMRole `
-RoleName SSMServiceRole
`
-AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust
.json)
-
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 a los dispositivos de borde para ejecutar comandos mediante Systems Manager.
Las políticas que agrega a un rol de servicio para los dispositivos de borde en un entorno de AWS IoT Greengrass son las mismas políticas que las utilizadas para crear un perfil de instancias en instancias 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 dispositivo de borde 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 account_ID
y my_bucket_policy_name
con el ID de la Cuenta de AWS y el nombre del bucket.
Register-IAMRolePolicy `
-RoleName SSMServiceRole
`
-PolicyArn arn:aws:iam::account_ID
:policy/my_bucket_policy_name
(Opcional) Ejecute el siguiente comando para permitir que SSM Agent acceda a AWS Directory Service en su nombre para las solicitudes de unión al dominio desde los dispositivos de borde. El rol de servicio solo necesita esta política si une los dispositivos de borde 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 dispositivos de borde. Este comando permite la lectura de información en un dispositivo y su escritura en CloudWatch. El rol de servicio solo precisa de esta política si hace uso de servicios, como Amazon EventBridge o los Registros de Amazon CloudWatch.
Register-IAMRolePolicy `
-RoleName SSMServiceRole
`
-PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Configuración de dispositivos periféricos para AWS IoT Greengrass
Configure los dispositivos de borde como dispositivos de núcleo de AWS IoT Greengrass. El proceso de configuración implica verificar los sistemas operativos compatibles y los requisitos del sistema, así como instalar y configurar el software AWS IoT Greengrass Core en los dispositivos. Para obtener más información, consulte Configuración de dispositivos de núcleo de AWS IoT Greengrass en la Guía para desarrolladores de AWS IoT Greengrass Version 2.
Actualización del rol de intercambio de tokens de AWS IoT Greengrass e instalación de SSM Agent en dispositivos periféricos
El último paso para instalar y configurar los dispositivos básicos de AWS IoT Greengrass para Systems Manager consiste en actualizar el rol de servicio de dispositivo de AWS IoT Greengrass AWS Identity and Access Management (IAM), también denominado rol de intercambio de tokens, e implementar AWS Systems Manager Agent (SSM Agent) en los dispositivos de AWS IoT Greengrass. Para obtener información sobre estos procesos, consulte Instalación de AWS Systems Manager Agent en la Guía para desarrolladores de AWS IoT Greengrass Version 2.
Después de implementar SSM Agent en los dispositivos, AWS IoT Greengrass registra automáticamente los dispositivos con Systems Manager. No es necesario un registro adicional. Puede empezar a utilizar las capacidades de Systems Manager para acceder, administrar y configurar los dispositivos de AWS IoT Greengrass.
Los dispositivos de borde deben poder comunicarse con el servicio de Systems Manager en la nube. Systems Manager no admite dispositivos de borde desconectados.