Usar AWS SSM para crear conexiones en modo sin agente
Esta guía proporciona un ejemplo para crear conexiones en modo sin agente en Cyberwatch usando Amazon Web Services Session Manager (AWS SSM).
Requisitos previos
Esta documentación asume:
- una cuenta con acceso a AWS y permisos IAM suficientes para crear grupos, roles, políticas, etc.
- conocimientos básicos de los servicios ofrecidos por AWS (IAM, EC2, SSM…)
Configuración en AWS
La configuración en AWS requiere crear los siguientes elementos:
- una política que contenga los permisos minimos para usar la consola SSM
- un rol IAM, al que se asociara la política anterior
Crear la política de AWS
AWS proporciona varios modelos de políticas por defecto, como la política AmazonSSMManagedInstanceCore.
Sin embargo, esta política no permite el funcionamiento de Session Manager desde la interfaz de AWS.
Una alternativa consiste en crear una política personalizada, muy cercana a la política por defecto de AWS, cuyo JSON es el siguiente:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ssmmessages:CreateControlChannel",
"ssmmessages:CreateDataChannel",
"ssmmessages:OpenControlChannel",
"ssmmessages:OpenDataChannel"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2messages:AcknowledgeMessage",
"ec2messages:DeleteMessage",
"ec2messages:FailMessage",
"ec2messages:GetEndpoint",
"ec2messages:GetMessages",
"ec2messages:SendReply"
],
"Resource": "*"
}
]
}
Para crear esta política en AWS:
- Vaya al menu
Gestion de accesos > Politicas - Haga clic en el botón
Crear una politica - En el editor de políticas, seleccione el modo
JSON - En el editor, pegue el código JSON anterior
- Asigne un nombre a la política, por ejemplo
SSM_Cyberwatch_policy, y finalice su creación
En el resto de esta documentación, la política se mencionara por su nombre.
Permiso opcional: mas información sobre el servidor
Al usar un conector AWS Session Manager, Cyberwatch recupera las direcciones del servidor para asociarlas al activo. Sin un permiso EC2 adicional, solo se recupera una dirección IP privada (procedente de SSM). Se puede opcionalmente agregar el permiso ec2:DescribeInstances al rol IAM para que Cyberwatch también recupere la IP publica y el nombre de dominio.
Ejemplo de código para agregar a la política:
{
"Effect": "Allow",
"Action": "ec2:DescribeInstances",
"Resource": "*"
}
Crear el rol IAM
Siga los pasos a continuación para crear un rol IAM en AWS:
- Vaya al menu
Gestion de accesos > Roles - Haga clic en el botón
Crear un rol - Seleccione
Servicio AWScomo tipo de entidad de confianza yEC2como caso de uso - Agregue como autorizacion la política
SSM_Cyberwatch_policycreada anteriormente - Asigne un nombre al rol, por ejemplo
SSM_Cyberwatch_role, y finalice su creación
En el resto de esta documentación, el rol se mencionara por su nombre.
Asignar la política al usuario IAM
El usuario cuyas claves de API se utilizaran para crear conexiones en modo sin agente con SSM debe tener asignada la política SSM_Cyberwatch_policy creada anteriormente.
Para ello, siga los pasos siguientes en la consola de AWS:
- Vaya al menu
Gestion de accesos > Politicas - Seleccione la política
SSM_Cyberwatch_policyy haga clic enAcciones > Adjuntar - Seleccione el usuario deseado como entidad IAM
Asignar el rol IAM a una instancia EC2
Desde la interfaz de gestión de instancias EC2, seleccione una instancia que sera supervisada por Cyberwatch mediante SSM.
Desde la pestaña Seguridad de la instancia, modifique el rol IAM para asociarle el rol SSM_Cyberwatch_role creado anteriormente.
La sección anterior toma como ejemplo una instancia EC2 existente, pero estos elementos también son aplicables al crear una nueva instancia.
Acciones a realizar en Cyberwatch
En Cyberwatch, lo ideal es usar un descubrimiento AWS previo, que permitirá listar las instancias a escanear.
Usar un descubrimiento Amazon EC2
Consulte la pagina de descubrimientos Amazon EC2 para lanzar un escaneo de descubrimiento previo.
Lance el escaneo de descubrimiento usando las claves de API del usuario que se utilizara para los escaneos SSM desde Cyberwatch.
Registrar activos descubiertos con AWS Session Manager
Los activos descubiertos pueden registrarse como conexiones en modo sin agente de la siguiente manera:
- Desde el menu Descubrimientos, haga clic en el enlace
Mostrar los activos descubiertosdel descubrimiento correspondiente - Seleccione los activos que desea agregar
- Haga clic en
Acciones en grupo > Escanear con conexiones en modo sin agente - Seleccione
AWS Session Managercomo tipo de conexión y seleccione el conjunto de credenciales de Amazon Web Services utilizado para el descubrimiento. Esto creara una conexión en modo sin agente de tipoAWS Session Managerpara cada activo descubierto seleccionado
Este tipo de conexión en modo sin agente debe estar autorizado en el menu Administracion > Gestion de conectores marcando la casilla AWS Session Manager.
Precisiones:
- Los activos a escanear deben ser compatibles con el uso de SSM y estar configurados para permitir SSM, tal como se especifica en la documentación oficial
- La cuenta de AWS debe disponer de privilegios suficientes para el uso de SSM sobre los recursos deseados (consulte la documentación oficial)
- Los campos
direccionyregionde la conexión en modo sin agente se completaran con el ID y la region del activo - También es posible agregar el activo directamente sin usar un descubrimiento, a través del botón
Conexiones en modo sin agente > Anadiry seleccionando el tipoAWS Session Manager - Solo se admiten activos Windows y Linux