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

Utilisez les exemples de cette section pour vous aider à créer des politiques AWS Identity and Access Management (IAM) fournissant les autorisations d'Session Manageraccès les plus couramment requises.

Note

Vous pouvez également utiliser une AWS KMS key politique pour contrôler les entités IAM (utilisateurs ou rôles) qui Comptes AWS ont accès à votre clé KMS. Pour plus d'informations, consultez la section Présentation de la gestion de l'accès à vos AWS KMS ressources et de l'utilisation des politiques clés AWS KMS dans le guide du AWS Key Management Service développeur.

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 permet aux utilisateurs de démarrer des sessions uniquement à partir de la Session Manager console et 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 permettre aux utilisateurs de démarrer et de reprendre des sessions uniquement à partir des Fleet Manager consoles Session Manager et.

{ "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 ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" Footnote callout 2 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 3 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 4 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 permettre aux utilisateurs de démarrer et de reprendre des sessions à partir du AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 4 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 ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" Footnote callout 2 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 3 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 fourni aux utilisateurs qui AWS-StartSSHSession démarrent des sessions à l'aide de SSH. Pour plus d'informations sur les étapes de configuration nécessaires pour prendre en charge les sessions utilisant SSH, voir (facultatif) Autoriser et contrôler les autorisations pour les connexions SSH via le protocole SSH. Session Manager

2 Si vous définissez l'élément de condition ssm:SessionDocumentAccessCheck sur true, le système vérifie qu'un utilisateur dispose d'un accès explicite au document de session défini (SSM-SessionManagerRunShell dans cet exemple) avant d'établir une session. Pour plus d’informations, consultez Appliquer une vérification des autorisations de document de session lors du démarrage d'une session.

3 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 comptez utiliser le chiffrement AWS Key Management Service (AWS KMS) pour les données de votre session, remplacez key-name par le Amazon Resource Name (ARN) de la clé KMS que vous souhaitez utiliser, au format indiqué. 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 plus d'informations sur l'utilisation AWS KMS pour le chiffrement des données de session, consultezActiver le chiffrement des données de session par clé KMS (console).

4 L'autorisation pour SendCommandest nécessaire dans les cas où un utilisateur tente de démarrer une session depuis la console Amazon EC2, mais elle SSM Agent doit être mise à jour vers la version minimale requise pour Session Manager la première fois. Run Commandest 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 permet aux administrateurs d'effectuer ces tâches uniquement à partir de la Session Manager console et 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.