Exemple de stratégies IAM pour Session Manager - AWS Systems Manager

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple de stratégies IAM pour Session Manager

Aidez-vous des exemples de cette section pour créer des politiques AWS Identity and Access Management (IAM) qui fournissent les autorisations d'accès à Session Manager les plus courantes.

Note

Vous pouvez également utiliser une politique AWS KMS key pour contrôler les entités IAM (utilisateurs et rôles) et les Comptes AWS bénéficient d'un accès à votre clé KMS. Pour obtenir des informations, consultez Présentation de la gestion de l'accès à vos ressources AWS KMS et Utilisation de politiques de clé dans AWS KMS dans le Manuel du développeur AWS Key Management Service.

Démarrage rapide - Politiques d'utilisateur final pour Session Manager

Utilisez les exemples suivants pour créer des politiques d'utilisateur final IAM pour Session Manager.

Vous pouvez créer une politique qui autorise les utilisateurs à démarrer des sessions uniquement à partir de la console Session Manager et de l'AWS Command Line Interface (AWS CLI), uniquement à partir de la console Amazon Elastic Compute Cloud (Amazon EC2), ou à partir des trois.

Ces politiques permettent aux utilisateurs finaux de démarrer une session sur un nœud géré particulier et de mettre fin à leurs propres sessions uniquement. Consultez la page Exemples de politiques IAM supplémentaires pour Session Manager pour obtenir des exemples de personnalisation de la politique.

Dans les exemples de stratégies suivants, remplacez chaque example resource placeholder (espace réservé pour les ressources) avec vos propres informations.

Sélectionnez parmi les onglets suivants pour afficher l'exemple de politique pour la plage d'accès aux sessions que vous souhaitez fournir.

Gestionnaire de session and Fleet Manager

Utilisez cet exemple de politique pour donner aux utilisateurs la possibilité de démarrer et de reprendre des sessions à partir des consoles Session Manager et Fleet Manager uniquement.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ] }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" Footnote callout 2 to explain a line in a JSON policy ], "Resource": "key-name" } ] }
Amazon EC2

Utilisez cet exemple de politique pour permettre aux utilisateurs de démarrer des sessions uniquement à partir de la console Amazon EC2. Cette politique ne fournit pas toutes les autorisations nécessaires pour démarrer des sessions à partir de la console Session Manager et de l'AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 3 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
AWS CLI

Utilisez cet exemple de politique pour donner aux utilisateurs la possibilité de démarrer et de reprendre des sessions à partir de l’AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 3 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ] }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" Footnote callout 2 to explain a line in a JSON policy ], "Resource": "key-name" } ] }

1 SSM-SessionManagerRunShell est le nom par défaut du document SSM créé par Session Manager pour stocker vos préférences de configuration de session. Vous pouvez créer un document de session personnalisé et le spécifier dans cette politique à la place. Vous pouvez également spécifier le document AWS-StartSSHSession fourni par AWS pour les utilisateurs qui lancent des sessions à l'aide de SSH. Pour obtenir des informations sur les étapes de configuration nécessaires à la prise en charge de sessions en utilisant SSH, consultez (Facultatif) Activer et contrôler les autorisations pour les connexions SSH via Session Manager.

2 L’autorisation kms:GenerateDataKey permet la création d’une clé de chiffrement des données qui sera utilisée pour chiffrer les données de session. Si vous utilisez le chiffrement AWS Key Management Service (AWS KMS) pour vos données de session, remplacez key-name par l'Amazon Resource Name (ARN) de la clé principale client (CMK) que vous souhaitez utiliser, au format arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE. Si vous ne voulez pas utiliser le chiffrement de clé KMS pour vos données de session, supprimez le contenu suivant de la politique.

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" }

Pour de plus amples informations sur l'utilisation de AWS KMS et pour le chiffrement des données de session, consultez Activer le chiffrement des données de session par clé KMS (console).

3 L’autorisation pour SendCommand est nécessaire pour les cas où un utilisateur tente de démarrer une session à partir de la console Amazon EC2, mais le SSM Agent doit d’abord être mis à jour vers la version minimale requise pour Session Manager. Run Command est utilisé pour envoyer une commande à l’instance afin de mettre à jour l’agent.

Démarrage rapide - Politique d'administrateur pour Session Manager

Utilisez les exemples suivants pour créer des politiques d'administrateur IAM pour Session Manager.

Ces politiques autorisent les administrateurs à démarrer une session sur les nœuds gérés qui sont balisées avec Key=Finance,Value=WebServers, à créer, mettre à jour et supprimer des préférences, et à mettre fin à leurs propres sessions uniquement. Consultez la page Exemples de politiques IAM supplémentaires pour Session Manager pour obtenir des exemples de personnalisation de la politique.

Vous pouvez créer une politique qui autorise les administrateurs à effectuer ces tâches uniquement à partir de la console Session Manager et de l'AWS CLI, uniquement à partir de la console Amazon EC2, ou à partir des trois.

Dans les exemples de stratégies suivants, remplacez chaque example resource placeholder (espace réservé pour les ressources) avec vos propres informations.

Sélectionnez parmi les onglets suivants pour voir l'exemple de politique pour le scénario d'accès que vous souhaitez prendre en charge.

Gestionnaire de session and CLI

Utilisez cet exemple de politique pour permettre aux administrateurs d'effectuer les tâches liées à la session uniquement à partir de la console Session Manager et de l'AWS CLI. Cette politique ne fournit pas toutes les autorisations nécessaires pour effectuer les tâches liées à la session à partir de la console Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/Finance": [ "WebServers" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument", "ssm:StartSession" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
Amazon EC2

Utilisez cet exemple de politique pour permettre aux administrateurs d'effectuer les tâches liées à la session uniquement à partir de la console Amazon EC2. Cette politique ne fournit pas toutes les autorisations nécessaires pour effectuer les tâches liées à la session à partir de la console Session Manager et de l'AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 1 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
Gestionnaire de session, CLI, and Amazon EC2

Utilisez cet exemple de politique pour permettre aux administrateurs d'effectuer les tâches liées à la session à partir de la console Session Manager, de l'AWS CLI et de la console Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 1 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument", "ssm:StartSession" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }

1 L'autorisation pour SendCommand est nécessaire dans les cas où un utilisateur tente de démarrer une session à partir de la console Amazon EC2, mais une commande doit d'abord être envoyée pour mettre à jour l'SSM Agent.