Cómo funciona AWS Systems Manager con IAM
Antes de utilizar AWS Identity and Access Management (IAM) para administrar el acceso a AWS Systems Manager, debe comprender qué características de IAM están disponibles para su uso con Systems Manager. Para obtener una perspectiva general sobre cómo funcionan Systems Manager y otros Servicios de AWS con IAM, consulte Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.
Temas
Políticas de Systems Manager basadas en identidades
Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados y las condiciones en las que se permiten o deniegan las acciones. Systems Manager admite acciones, claves de condiciones y recursos específicos. Para obtener más información acerca de los elementos que utiliza en una política de JSON, consulte Referencia de los elementos de las políticas de JSON de IAM en la Guía del usuario de IAM.
Acciones
Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.
El elemento Action
de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Las acciones de la política generalmente tienen el mismo nombre que la operación de API de AWS asociada. Hay algunas excepciones, como acciones de solo permiso que no tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.
Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.
Las acciones de políticas de Systems Manager utilizan el siguiente prefijo antes de la acción: ssm:
. Por ejemplo, para conceder a alguien permiso para crear un parámetro de Systems Manager (parámetro de SSM) con la operación de la API de Systems Manager PutParameter
, incluya la acción ssm:PutParameter
en su política. Las instrucciones de política deben incluir un elemento Action
o NotAction
. Systems Manager define su propio conjunto de acciones que describen las tareas que se pueden realizar con este servicio.
Para especificar varias acciones en una única instrucción, sepárelas con comas del siguiente modo:
"Action": [ "ssm:action1", "ssm:action2" ]
nota
Las siguientes capacidades de AWS Systems Manager utilizan diferentes prefijos antes de las acciones.
-
AWS AppConfig usa el prefijo
appconfig:
antes de las acciones. -
Administrador de incidentes usa el prefijo
ssm-incidents:
ossm-contacts:
antes de las acciones. -
La GUI Connect de Systems Manager usa el prefijo
ssm-guiconnect:
antes de las acciones. -
Quick Setup usa el prefijo
ssm-quicksetup:
antes de las acciones.
Puede utilizar caracteres comodín (*) para especificar varias acciones . Por ejemplo, para especificar todas las acciones que comiencen con la palabra Describe
, incluya la siguiente acción:
"Action": "ssm:Describe*"
Para ver una lista de las acciones de Systems Manager, consulte Acciones definidas por AWS Systems Manager en la Referencia de autorizaciones de servicio.
Recursos
Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.
El elemento Resource
de la política JSON especifica el objeto u objetos a los que se aplica la acción. Las instrucciones deben contener un elemento Resource
o NotResource
. Como práctica recomendada, especifique un recurso utilizando el Nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.
Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.
"Resource": "*"
Por ejemplo, el recurso de periodo de mantenimiento de Systems Manager tiene el siguiente formato de ARN.
arn:aws:ssm:
region
:account-id
:maintenancewindow/window-id
Para especificar los periodos de mantenimiento de mw-0c50858d01EXAMPLE en la instrucción en la región Este de EE. UU. (Ohio), debería utilizar un ARN similar al siguiente.
"Resource": "arn:aws:ssm:us-east-2:
123456789012
:maintenancewindow/mw-0c50858d01EXAMPLE"
Para especificar todos los periodos de mantenimiento que pertenecen a una cuenta específica, utilice el comodín (*).
"Resource": "arn:aws:ssm:
region
:123456789012
:maintenancewindow/*"
Para las operaciones de la API Parameter Store
, puede proporcionar o restringir el acceso a todos los parámetros en un nivel de una jerarquía utilizando nombres jerárquicos y políticas de AWS Identity and Access Management (IAM) tal como se indica a continuación.
"Resource": "arn:aws:ssm:
region
:123456789012:parameter/Dev/ERP/Oracle/*"
Algunas acciones de Systems Manager, como las empleadas para la creación de recursos, no se pueden llevar a cabo en un recurso específico. En dichos casos, debe utilizar el carácter comodín (*).
"Resource": "*"
Algunas operaciones de la API de Systems Manager aceptan varios recursos. Para especificar varios recursos en una única instrucción, separe sus ARN con comas, tal y como se indica a continuación.
"Resource": [ "resource1", "resource2"
nota
La mayoría de los Servicios de AWS tratan el carácter de dos puntos (:) o la barra inclinada (/) como el mismo carácter en los ARN. Sin embargo, Systems Manager requiere una coincidencia exacta en las reglas y los patrones de los recursos. Al crear patrones de eventos, asegúrese de utilizar los caracteres de ARN correctos para que coincidan con el ARN del recurso.
En la siguiente tabla se describen los formatos de ARN para los tipos de recursos admitidos por Systems Manager.
nota
Tenga en cuenta las siguientes excepciones a los formatos ARN.
-
Las siguientes capacidades de AWS Systems Manager utilizan diferentes prefijos antes de las acciones.
-
AWS AppConfig usa el prefijo
appconfig:
antes de las acciones. -
Administrador de incidentes usa el prefijo
ssm-incidents:
ossm-contacts:
antes de las acciones. -
La GUI Connect de Systems Manager usa el prefijo
ssm-guiconnect
antes de las acciones.
-
-
Los documentos y los recursos de definición de automatización que son propiedad de Amazon, así como los parámetros públicos que proporcionan tanto Amazon como fuentes de terceros, no incluyen los ID de cuenta en sus formatos ARN. Por ejemplo:
-
Uso de documentos
AWS-RunPatchBaseline
de SSM:arn:aws:ssm:us-east-2::document/AWS-RunPatchBaseline
-
Manual de procedimientos de automatización
AWS-ConfigureMaintenanceWindows
:arn:aws:ssm:us-east-2::automation-definition/AWS-ConfigureMaintenanceWindows
-
Parámetros públicos
/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/1.13.4/image_version
:arn:aws:ssm:us-east-2::parameter/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/1.13.4/image_version
Para obtener más información sobre estas características, consulte los siguientes temas:
-
-
Quick Setup usa el prefijo
ssm-quicksetup:
antes de las acciones.
Tipo de recurso | Formato de ARN |
---|---|
Aplicación (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id |
Asociación | arn:aws:ssm:region :account-id :association/association-id |
Ejecución de automatización | arn:aws:ssm:región :id-cuenta :automation-execution/id-ejecución-automatización |
Definición de automatización (con subrecurso de versión) |
arn:aws:ssm: |
Perfil de configuración (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id /configurationprofile/configurationprofile-id |
Contacto (Incident Manager) |
arn:aws:ssm-contacts: |
Estrategia de implementación (AWS AppConfig) | arn:aws:appconfig:region :account-id :deploymentstrategy/deploymentstrategy-id |
Documento |
arn:aws:ssm: |
Entorno (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id /environment/environment-id |
Incidente |
arn:aws:ssm-incidents: |
Periodo de mantenimiento |
arn:aws:ssm: |
Nodo administrado |
arn:aws:ssm: |
Inventario de nodos administrados | arn:aws:ssm:region :account-id :managed-instance-inventory/managed-node-id |
OpsItem | arn:aws:ssm:region :account-id :opsitem/OpsItem-id |
Parámetro |
Parámetros de un nivel:
Un parámetro denominado con una construcción jerárquica:
|
línea de base de revisiones |
arn:aws:ssm: |
Plan de respuesta |
arn:aws:ssm-incidents: |
Sesión |
arn:aws:ssm: |
Todos los recursos de Systems Manager |
arn:aws:ssm:* |
Todos los recursos de Systems Manager que pertenecen a la Cuenta de AWS especificada en la Región de AWS indicada |
arn:aws:ssm: |
Para las definiciones de automatización, Systems Manager admite un recurso de segundo nivel, el ID de versión. En AWS, estos recursos de segundo nivel se denominan subrecursos. Si especifica un subrecurso de versión para un recurso de definición de automatización, le permite proporcionar acceso a determinadas versiones de una definición de automatización. Por ejemplo, es posible que desee garantizar que solo la versión más reciente de una definición de automatización se utilice en su administración de nodos.
Para organizar y administrar parámetros, puede crear nombres para parámetros con una estructura jerárquica. Con dicha estructura, un nombre de parámetro puede incluir una ruta que se define con barras inclinadas. Puede dar un nombre a un recurso de parámetro con un máximo de quince niveles. Le recomendamos que cree jerarquías que reflejen una estructura jerárquica existente en su entorno. Para obtener más información, consulte Creación de parámetros de Parameter Store en Systems Manager.
En la mayoría de los casos, el ID de sesión se construye con el ID del usuario de la cuenta que inició la sesión, además de un sufijo alfanumérico. Por ejemplo:
arn:aws:us-east-2:111122223333:session/JohnDoe-1a2b3c4sEXAMPLE
Sin embargo, si el ID de usuario no está disponible, el ARN se construye de esta manera:
arn:aws:us-east-2:111122223333:session/session-1a2b3c4sEXAMPLE
Para obtener más información acerca del formato de los ARN, consulte Nombres de recursos de Amazon (ARN) en la Referencia general de Amazon Web Services.
Para ver una lista de los tipos de recursos de Systems Manager y sus ARN, consulte Recursos definidos por AWS Systems Manager en la Referencia de autorizaciones de servicio. Para obtener información sobre las acciones con las que puede especificar el ARN de cada recurso, consulte Acciones definidas por AWS Systems Manager.
Claves de condición de Systems Manager
Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.
El elemento Condition
(o bloque de Condition
) permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition
es opcional. Puede crear expresiones condicionales que utilicen operadores de condición, tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud.
Si especifica varios elementos de Condition
en una instrucción o varias claves en un único elemento de Condition
, AWS las evalúa mediante una operación AND
lógica. Si especifica varios valores para una única clave de condición, AWS evalúa la condición con una operación lógica OR
. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción.
También puede utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre de usuario de IAM. Para más información, consulte Elementos de la política de IAM: variables y etiquetas en la Guía del usuario de IAM.
AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las claves de condición globales de AWS, consulte Claves de contexto de condición globales de AWSen la Guía del usuario de IAM.
Para ver una lista de las claves de condición de Systems Manager, consulte Claves de condición para AWS Systems Manager en la Referencia de autorizaciones de servicio. Para obtener más información sobre las acciones y los recursos con los que puede utilizar una clave de condición, consulte Acciones definidas por AWS Systems Manager.
Para obtener información sobre el uso de la clave de condición ssm:resourceTag/*
, consulte los temas siguientes:
Para obtener información sobre el uso de las claves de condición ssm:Recursive
, ssm:Policies
y ssm:Overwrite
, consulte Impedir el acceso a las operaciones de la API de Parameter Store.
Ejemplos
Para ver ejemplos de políticas basadas en identidad de Systems Manager, consulte AWS Systems Manager ejemplos de políticas basadas en identidad de .
Políticas de Systems Manager basadas en recursos
Otros Servicios de AWS, como Amazon Simple Storage Service (Amazon S3), admiten políticas de permisos basadas en recursos. Por ejemplo, puede asociar una política de permisos a un bucket de S3 para administrar los permisos de acceso a dicho bucket.
Systems Manager no admite políticas basadas en recursos.
Autorización basada en etiquetas de Systems Manager
Puede asociar etiquetas a los recursos de Systems Manager o transferirlas en una solicitud a Systems Manager. Para controlar el acceso según las etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política mediante las claves de condición ssm:resourceTag/
, key-name
aws:ResourceTag/
, key-name
aws:RequestTag/
o key-name
aws:TagKeys
. Puede agregar etiquetas a los siguientes tipos de recursos al crearlos o actualizarlos:
-
Documento
-
Nodo administrado
-
Periodo de mantenimiento
-
Parámetro
-
Línea de base de revisiones
-
OpsItem
Para consultar un ejemplo de política basada en la identidad para limitar el acceso a un recurso en función de las etiquetas de ese recurso, consulte Visualización de documentos de Systems Manager basados en etiquetas.
Roles de IAM de Systems Manager
Un rol de IAM es una entidad de la Cuenta de AWS que dispone de permisos específicos.
Uso de credenciales temporales con Systems Manager
Puede utilizar credenciales temporales para iniciar sesión con federación, asumir un rol de IAM o asumir un rol de acceso entre cuentas. Las credenciales de seguridad temporales se obtienen mediante una llamada a operaciones de la API de AWS Security Token Service (AWS STS), como AssumeRole o GetFederationToken.
Systems Manager admite el uso de credenciales temporales.
Roles vinculados al servicio
Los roles vinculados a servicios permiten a los Servicios de AWS obtener acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles vinculados a servicios están listados en la cuenta de IAM y son propiedad del servicio. Un administrador puede ver, pero no editar, los permisos de los roles vinculados a servicios.
Systems Manager admite roles vinculados a servicios. Para obtener más información acerca de cómo crear o administrar roles vinculados a servicios de Systems Manager, consulte Uso de roles vinculados a servicios de Systems Manager.
Roles de servicio
Esta característica permite que un servicio asuma un rol de servicio en su nombre. Este rol permite que el servicio obtenga acceso a los recursos de otros servicios para completar una acción en su nombre. Las funciones del servicio se muestran en su cuenta de IAM y son propiedad de la cuenta. Esto significa que un administrador puede cambiar los permisos de este rol. Sin embargo, hacerlo podría deteriorar la funcionalidad del servicio.
Systems Manager admite roles de servicio.
Elección de un rol de IAM en Systems Manager
Para que Systems Manager interactúe con los nodos administrados, debe elegir un rol que permita a Systems Manager acceder a los nodos en su nombre. Si ha creado previamente un rol de servicio o un rol vinculado a servicios, Systems Manager le proporciona una lista de roles para elegir. Es importante seleccionar un rol que le permita el acceso para iniciar y detener nodos administrados.
Para acceder a las instancias de EC2, debe configurar los permisos de instancia. Para obtener información, consulte Configuración de permisos de instancia requeridos para Systems Manager.
Para acceder a los nodos que no son de EC2 en una nube híbrida y multinube, el rol que su Cuenta de AWS necesita es un rol de servicio de IAM. Para obtener información, consulte Creación del rol de servicio de IAM requerido para Systems Manager en entornos híbridos y multinube.
Un flujo de trabajo de Automation se puede iniciar en el contexto de un rol de servicio (o rol de asunción). Esto permite al servicio realizar acciones en su nombre. Si no especifica un rol de asunción, Automation utiliza el contexto del usuario que invocó la ejecución. Sin embargo, algunas situaciones requieren especificar un rol de servicio para Automation. Para obtener más información, consulte Configuración del acceso de un rol de servicio (rol de asunción) para automatizaciones.
Políticas administradas de AWS Systems Manager
AWS aborda muchos casos de uso comunes dando políticas de IAM independientes creadas y administradas por AWS. Estas AWSpolíticas administradas de conceden los permisos necesarios para casos de uso común, lo que le evita tener que investigar qué permisos se necesitan. (También puede crear sus propias políticas de IAM personalizadas para conceder permisos a las acciones y recursos de Systems Manager).
Para obtener más información sobre las políticas administradas de Systems Manager, consulte Políticas administradas de AWS para AWS Systems Manager
Para obtener más información sobre las políticas administradas, consulte Políticas administradas por AWS en la Guía del usuario de IAM.