Fonctionnement d’AWS Systems Manager avec IAM
Avant d'utiliser AWS Identity and Access Management (IAM) pour gérer l'accès à AWS Systems Manager, vous devez comprendre quelles sont les fonctions IAM qui peuvent être utilisées avec Systems Manager. Pour obtenir une vue d'ensemble de la façon dont Systems Manager et d'autres Services AWS fonctionnent avec IAM, reportez-vous aux Services AWS qui s'exécutent avec IAM dans le Guide de l'utilisateur IAM.
Rubriques
Systems ManagerPolitiques basées sur l'identité
Avec les politiques basées sur l'identité IAM, vous pouvez spécifier les actions et les ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Systems Manager prend en charge des actions, des ressources et des clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une politique JSON, consultez Références des éléments de politique JSON IAM dans le Guide de l'utilisateur IAM.
Actions
Les administrateurs peuvent utiliser les politiques JSON AWS pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
L’élément Action
d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Les actions de politique possèdent généralement le même nom que l’opération d’API AWS associée. Il existe quelques exceptions, telles que les actions avec autorisations uniquement qui n’ont pas d’opération API correspondante. Certaines opérations nécessitent également plusieurs actions dans une politique. Ces actions supplémentaires sont nommées actions dépendantes.
Intégration d'actions dans une politique afin d'accorder l'autorisation d'exécuter les opérations associées.
Les actions de politique dans Systems Manager utilisent le préfixe suivant avant l'action : ssm:
. Par exemple, pour accorder à une personne l'autorisation de créer un paramètre Systems Manager (paramètre SSM) à l'aide de l'opération d'API Systems Manager PutParameter
, vous incluez l'action ssm:PutParameter
dans sa politique. Les déclarations de politique doivent inclure un élément Action
ou NotAction
. Systems Manager définit son propre ensemble d'actions qui décrivent les tâches que vous pouvez effectuer avec ce service.
Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :
"Action": [ "ssm:action1", "ssm:action2" ]
Note
Les fonctionnalités suivantes de AWS Systems Manager utilisent différents préfixes avant les actions.
-
AWS AppConfig utilise le préfixe
appconfig:
avant les actions. -
Incident Manager utilise le préfixe
ssm-incidents:
oussm-contacts:
avant les actions. -
Systems Manager GUI Connect utilise le préfixe
ssm-guiconnect:
avant les actions. -
Quick Setup utilise le préfixe
ssm-quicksetup:
avant les actions.
Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (*). Par exemple, pour spécifier toutes les actions qui commencent par le mot Describe
, incluez l'action suivante :
"Action": "ssm:Describe*"
Pour afficher la liste des actions Systems Manager, consultez Actions définies par AWS Systems Manager dans la Référence de l'autorisation de service.
Ressources
Les administrateurs peuvent utiliser les politiques JSON AWS pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
L’élément de politique JSON Resource
indique le ou les objets auxquels l’action s’applique. Les instructions doivent inclure un élément Resource
ou NotResource
. Il est recommandé de définir une ressource à l’aide de son Amazon Resource Name (ARN). Vous pouvez le faire pour des actions qui prennent en charge un type de ressource spécifique, connu sous la dénomination autorisations de niveau ressource.
Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, telles que les opérations de liste, utilisez un caractère générique (*) afin d'indiquer que l'instruction s'applique à toutes les ressources.
"Resource": "*"
Par exemple, la ressource de fenêtre de maintenance Systems Manager a le format ARN suivant.
arn:aws:ssm:
region
:account-id
:maintenancewindow/window-id
Pour spécifier les fenêtres de maintenance mw-0c50858d01EXAMPLE dans votre déclaration dans la Région USA Est (Ohio), vous utiliserez un ARN similaire au suivant.
"Resource": "arn:aws:ssm:us-east-2:
123456789012
:maintenancewindow/mw-0c50858d01EXAMPLE"
Pour spécifier toutes les fenêtres de maintenance appartenant à un compte spécifique, utilisez le caractère générique (*).
"Resource": "arn:aws:ssm:
region
:123456789012
:maintenancewindow/*"
Pour les opérations d'API Parameter Store
, vous pouvez fournir ou restreindre l'accès à tous les paramètres à un niveau d'une hiérarchie à l'aide des noms hiérarchiques et des politiques AWS Identity and Access Management (IAM), comme suit.
"Resource": "arn:aws:ssm:
region
:123456789012:parameter/Dev/ERP/Oracle/*"
Certaines actions Systems Manager, telles que la création de ressources, ne peuvent pas être exécutées sur une ressource spécifique. Dans ces cas-là, vous devez utiliser le caractère générique (*).
"Resource": "*"
Certaines opérations d'API Systems Manager acceptent plusieurs ressources. Pour spécifier plusieurs ressources dans une seule instruction, séparez leurs ARN par des virgules, comme suit.
"Resource": [ "resource1", "resource2"
Note
La plupart des Services AWS interprètent de la même manière les deux points (:) et la barre oblique (/) dans les ARN. Cependant, Systems Manager nécessite une correspondance exacte dans les règles et les modèles de ressources. Lors de la création de modèles d'événements, veillez à utiliser les caractères ARN corrects afin qu'ils correspondent à l'ARN de la ressource.
Le tableau ci-dessous décrit les formats ARN des types de ressources pris en charge par Systems Manager.
Note
Notez les exceptions suivantes relatives aux formats ARN.
-
Les fonctionnalités suivantes de AWS Systems Manager utilisent différents préfixes avant les actions.
-
AWS AppConfig utilise le préfixe
appconfig:
avant les actions. -
Incident Manager utilise le préfixe
ssm-incidents:
oussm-contacts:
avant les actions. -
Systems Manager GUI Connect utilise le préfixe
ssm-guiconnect
avant les actions.
-
-
Les documents et les ressources de définition d’automatisation détenus par Amazon, ainsi que les paramètres publics fournis par Amazon et par des sources tierces, n’incluent pas les identifiants de compte dans leurs formats ARN. Par exemple :
-
Le document SSM
AWS-RunPatchBaseline
:arn:aws:ssm:us-east-2::document/AWS-RunPatchBaseline
-
Le dossier d’exploitation d’automatisation
AWS-ConfigureMaintenanceWindows
:arn:aws:ssm:us-east-2::automation-definition/AWS-ConfigureMaintenanceWindows
-
Le paramètre public
/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
Pour plus d’informations sur ces trois types de ressources, voir les sujets suivants :
-
-
Quick Setup utilise le préfixe
ssm-quicksetup:
avant les actions.
Type de ressource | Format ARN |
---|---|
Application (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id |
Association | arn:aws:ssm:region :account-id :association/association-id |
Exécution d'Automation | arn:aws:ssm:region :account-id :automation-execution/automation-execution-id |
Définition d'Automation (avec sous-ressource de version) |
arn:aws:ssm: |
Profil de configuration (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id /configurationprofile/configurationprofile-id |
Contact (Incident Manager) |
arn:aws:ssm-contacts: |
Politique de déploiement (AWS AppConfig) | arn:aws:appconfig:region :account-id :deploymentstrategy/deploymentstrategy-id |
Document |
arn:aws:ssm: |
Environnement (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id /environment/environment-id |
Incident |
arn:aws:ssm-incidents: |
Fenêtre de maintenance |
arn:aws:ssm: |
Nœud géré |
arn:aws:ssm: |
Inventaire des nœuds gérés | arn:aws:ssm:region :account-id :managed-instance-inventory/managed-node-id |
OpsItem | arn:aws:ssm:region :account-id :opsitem/OpsItem-id |
Paramètre |
Un paramètre de premier niveau :
Un paramètre nommé avec une construction hiérarchique :
|
Référentiel de correctifs |
arn:aws:ssm: |
Plan de réponse |
arn:aws:ssm-incidents: |
Session |
arn:aws:ssm: |
Toutes les ressources Systems Manager |
arn:aws:ssm:* |
Toutes les ressources Systems Manager appartenant au Compte AWS spécifié dans la Région AWS indiquée |
arn:aws:ssm: |
Pour les définitions d'automatisation, Systems Manager prend en charge une ressource de deuxième niveau, l'ID de version. Dans AWS, ces ressources de deuxième niveau sont appelées des sous-ressources. La spécification d'une sous-ressource de version pour une ressource de définition de l'automatisation vous permet de fournir l'accès à certaines versions d'une définition de l'automatisation. Par exemple, il se peut que vous souhaitiez veiller à ce que seule la dernière version de la définition de l'automatisation soit utilisée dans votre gestion des nœuds.
Pour organiser et gérer des paramètres, vous pouvez créer des noms pour les paramètres à l'aide d'une construction hiérarchique. Grâce à une construction hiérarchique, un nom de paramètre peut inclure un chemin que vous définissez en utilisant des barres obliques. Vous pouvez nommer une ressource de paramètre avec quinze niveaux maximum. Nous vous suggérons de créer des hiérarchies qui reflètent une structure hiérarchique existante dans votre environnement. Pour en savoir plus, consultez Création de paramètres Parameter Store dans Systems Manager.
Dans la plupart des cas, l'ID de session est construit avec l'ID de l'utilisateur de compte qui a démarré la session, auquel est ajouté un suffixe alphanumérique. Par exemple :
arn:aws:us-east-2:111122223333:session/JohnDoe-1a2b3c4sEXAMPLE
Toutefois, si l'ID utilisateur n'est pas disponible, l'ARN est construit plutôt de la façon suivante :
arn:aws:us-east-2:111122223333:session/session-1a2b3c4sEXAMPLE
Pour de plus amples informations sur le format des ARN, veuillez consulter Amazon Ressource Names (ARN) dans la Référence générale d'Amazon Web Services.
Pour afficher la liste des types de ressources Systems Manager, consultez Ressources définies par AWS Systems Manager dans la Référence de l'autorisation de service. Pour savoir grâce à quelles actions vous pouvez spécifier l'ARN de chaque ressource, consultez Actions définies par AWS Systems Manager.
Clés de condition pour Systems Manager
Les administrateurs peuvent utiliser les politiques JSON AWS pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
L’élément Condition
(ou le bloc Condition
) vous permet de spécifier des conditions lorsqu’une instruction est appliquée. L’élément Condition
est facultatif. Vous pouvez créer des expressions conditionnelles qui utilisent des opérateurs de condition, tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande.
Si vous spécifiez plusieurs éléments Condition
dans une instruction, ou plusieurs clés dans un seul élément Condition
, AWS les évalue à l’aide d’une opération AND
logique. Si vous spécifiez plusieurs valeurs pour une seule clé de condition, AWS évalue la condition à l’aide d’une opération OR
logique. Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soient accordées.
Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Par exemple, vous pouvez accorder à un utilisateur IAM l’autorisation d’accéder à une ressource uniquement si elle est balisée avec son nom d’utilisateur IAM. Pour plus d’informations, consultez Éléments d’une politique IAM : variables et identifications dans le Guide de l’utilisateur IAM.
AWS prend en charge les clés de condition globales et les clés de condition spécifiques à un service. Pour afficher toutes les clés de condition globales AWS, consultez Clés de contexte de condition globale AWS dans le Guide de l'utilisateur IAM.
Pour afficher la liste des clés de condition Systems Manager, consultez Clés de condition pour AWS Systems Manager dans la Référence de l'autorisation de service. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, consultez Actions définies par AWS Systems Manager.
Pour obtenir des informations sur l'utilisation de la clé de condition ssm:resourceTag/*
, consultez les rubriques suivantes :
Pour obtenir des informations sur l’utilisation des clés de condition ssm:Recursive
, ssm:Policies
et ssm:Overwrite
, consultez Empêcher l’accès aux opérations d’API Parameter Store.
Exemples
Pour voir des exemples de politiques Systems Manager basées sur l'identité, consultez Exemples de politiques basées sur l’identité AWS Systems Manager.
Systems ManagerPolitiques basées sur les ressources
D'autres Services AWS comme Amazon Simple Storage Service (Amazon S3), prennent également en charge les politiques d'autorisation basées sur une ressource. Par exemple, vous pouvez attacher une politique d'autorisation à un compartiment S3 pour gérer les autorisations d'accès à ce compartiment.
Systems Manager ne prend pas en charge les politiques basées sur une ressource.
Autorisation basée sur les balises Systems Manager
Vous pouvez attacher des balises aux ressources de Systems Manager, ou transmettre des balises dans une demande à Systems Manager. Pour contrôler l'accès basé sur des balises, vous devez fournir les informations de balise dans l'élément de condition d'une politique utilisant les clés de condition ssm:resourceTag/
, key-name
aws:ResourceTag/
, key-name
aws:RequestTag/
ou key-name
aws:TagKeys
. Vous pouvez ajouter des balises aux types de ressources suivants lorsque vous les créez ou les mettez à jour :
-
Document
-
Nœud géré
-
Fenêtre de maintenance
-
Paramètre
-
Référentiel de correctifs
-
OpsItem
Pour visualiser un exemple de politique basée sur l'identité permettant de limiter l'accès à une ressource en fonction des balises de cette ressource, consultez Affichage de documents Systems Manager basés sur des balises.
Rôles IAM Systems Manager
Un rôle IAM est une entité au sein de votre Compte AWS qui dispose d'autorisations spécifiques.
Utilisation des informations d'identification temporaires avec Systems Manager
Vous pouvez utiliser des informations d'identification temporaires pour vous connecter à l'aide de la fédération, endosser un rôle IAM ou encore pour endosser un rôle entre comptes. Vous obtenez des informations d'identification de sécurité temporaires en appelant des opérations d'API AWS Security Token Service (AWS STS) comme AssumeRole ou GetFederationToken.
Systems Manager prend en charge l'utilisation des informations d'identification temporaires.
Rôles liés à un service
Les rôles liés à un service permettent aux Services AWS d'accéder à des ressources dans d'autres services pour effectuer une action en votre nom. Les rôles liés à un service s'affichent dans votre compte IAM et sont la propriété du service. Un administrateur peut consulter, mais ne peut pas modifier les autorisations concernant les rôles liés à un service.
Systems Manager prend en charge les rôles liés à un service. Pour plus d'informations sur la création ou la gestion des rôles liés à un service Systems Manager, consultez Utilisation des rôles liés aux services pour Systems Manager.
Rôles de service
Cette fonction permet à un service d’endosser une fonction du service en votre nom. Ce rôle autorise le service à accéder à des ressources d'autres services pour effectuer une action en votre nom. Les rôles de service s'affichent dans votre compte IAM et sont la propriété du compte. Cela signifie qu'un administrateur peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bon fonctionnement du service.
Systems Manager prend en charge les rôles de service.
Choix d'un rôle IAM dans Systems Manager
Pour que Systems Manager interagisse avec vos nœuds gérés, vous devez choisir un rôle autorisant Systems Manager à accéder aux nœuds en votre nom. Si vous avez déjà créé un rôle de service ou un rôle lié à un service, Systems Manager vous fournit une liste de rôles dans laquelle effectuer votre choix. Il est important de choisir un rôle qui permet d'accéder au démarrage et à l'arrêt des nœuds gérés.
Pour accéder aux instances EC2, vous devez configurer les autorisations d'instance. Pour plus d’informations, consultez la section Configurer des autorisations d’instance requises pour Systems Manager.
Pour accéder à des nœuds non EC2 dans un environnement hybride et multicloud, votre Compte AWS a besoin d'une fonction du service IAM. Pour plus d’informations, voir Créer le rôle de service IAM requis pour Systems Manager dans les environnements hybrides et multicloud.
Un flux de travail Automation peut être lancé dans le contexte d'un rôle de service (ou rôle de responsable). Cela permet au service d'effectuer des actions en votre nom. Si vous ne spécifiez pas de rôle de responsable, Automation utilise le contexte de l'utilisateur qui a appelé l'exécution. Cependant, certaines situations exigent que vous spécifiiez un rôle de service pour Automation. Pour en savoir plus, consultez Configuration d'un accès à un rôle de service (rôle de responsable) pour les automatisations.
Politiques gérées par AWS Systems Manager
AWS est approprié pour de nombreux cas d'utilisation courants et fournit des politiques IAM autonomes qui sont créées et administrées par AWS. Ces politiques gérées AWS octroient les autorisations requises dans les cas d'utilisation courants, ce qui vous évite d'avoir à vous en soucier. (Vous pouvez également créer vos propres politiques IAM personnalisées afin d'accorder des autorisations pour les actions et les ressources Systems Manager.)
Pour plus d’informations sur les stratégies gérées pour Systems Manager, consultez Politiques gérées par AWS pour AWS Systems Manager
Pour plus d’informations sur les stratégies gérées, consultez Stratégie gérées AWS dans le Guide de l’utilisateur IAM.