Configuration Run Command - 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.

Configuration Run Command

Avant de pouvoir gérer les nœuds à l'aide de Run Command, un outil dans AWS Systems Manager, configurez une politique AWS Identity and Access Management (IAM) pour tout utilisateur qui exécutera des commandes. Si vous utilisez des clés de condition globales pour l’action SendCommand dans vos politiques IAM, vous devez inclure la clé de condition aws:ViaAWSService et définir la valeur booléenne sur true. Voici un exemple.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ssm:SendCommand"], "Resource": ["arn:aws:ssm:region:account:document/YourDocument"], "Condition": { "StringEquals": { "aws:SourceVpce": ["vpce-example1234"] } } }, { "Effect": "Allow", "Action": ["ssm:Sendcommand"], "Resource": ["arn:aws:ssm:region:account:document/YourDocument"], "Condition": { "Bool": {"aws:ViaAWSService": "true"} } } ] }

Vous devez également configurer vos nœuds pour Systems Manager. Pour de plus amples informations, veuillez consulter Configuration de nœuds gérés pour AWS Systems Manager.

Nous vous recommandons d'effectuer les tâches de configuration facultatives suivantes afin de minimiser le niveau de sécurité et la day-to-day gestion de vos nœuds gérés.

Surveillez les exécutions de commandes à l'aide d'Amazon EventBridge

Vous pouvez l'utiliser EventBridge pour enregistrer les modifications de l'état d'exécution des commandes. Vous pouvez créer une règle qui s'exécute à chaque changement de statut ou lorsqu'un ou plusieurs statuts spécifiques sont activés. Vous pouvez également spécifier Run Command comme action cible lorsqu'un EventBridge événement se produit. Pour de plus amples informations, veuillez consulter Configuration EventBridge pour les événements de Systems Manager.

Surveillez les exécutions de commandes à l'aide d'Amazon CloudWatch Logs

Vous pouvez configurer Run Command pour envoyer régulièrement toutes les sorties de commandes et tous les journaux d'erreurs à un groupe de CloudWatch journaux Amazon. Vous pouvez surveiller ces journaux de sortie quasiment en temps réel, rechercher des phrases, valeurs ou modèles spécifiques, et créer des alarmes en fonction de la recherche. Pour de plus amples informations, veuillez consulter Configuration d'Amazon CloudWatch Logs pour Run Command.

Restrict Run Command accès à des nœuds gérés spécifiques

Vous pouvez limiter la capacité d'un utilisateur à exécuter des commandes sur des nœuds gérés en utilisant AWS Identity and Access Management (IAM). Plus précisément, vous pouvez créer une politique IAM avec une condition selon laquelle l'utilisateur ne peut exécuter de commandes que sur les nœuds gérés présentant des balises spécifiques. Pour de plus amples informations, veuillez consulter Restreindre Run Command accès basé sur des balises.

Restreindre Run Command accès basé sur des balises

Cette section explique comment restreindre la capacité d'un utilisateur à exécuter des commandes sur des nœuds gérés en spécifiant une condition de balise dans une politique IAM. Les nœuds gérés incluent EC2 les instances Amazon et EC2 les non-nœuds d'un environnement hybride et multicloud configurés pour Systems Manager. Bien que les informations ne soient pas présentées de manière explicite, vous pouvez également restreindre l'accès aux AWS IoT Greengrass principaux appareils gérés. Pour commencer, vous devez baliser vos appareils AWS IoT Greengrass . Pour plus d'informations, consultez Baliser vos ressources AWS IoT Greengrass Version 2 dans le Guide du développeur AWS IoT Greengrass Version 2 .

Vous pouvez restreindre l'exécution de commandes à des nœuds gérés spécifiques en créant une politique IAM qui comporte une condition selon laquelle l'utilisateur ne peut exécuter de commandes que sur les nœuds comportant des balises spécifiques. Dans l'exemple suivant, l'utilisateur est autorisé à utiliser Run Command (Effect: Allow, Action: ssm:SendCommand) en utilisant n'importe quel document SSM (Resource: arn:aws:ssm:*:*:document/*) sur n'importe quel nœud (Resource: arn:aws:ec2:*:*:instance/*) à condition que le nœud soit un service financier WebServer (ssm:resourceTag/Finance: WebServer). Si l'utilisateur envoie une commande à un nœud non balisé ou qui possède une balise autre que Finance: WebServer, les résultats d'exécution indiquent AccessDenied.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:*:*:document/*" ] }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ec2:*:*:instance/*" ], "Condition":{ "StringLike":{ "ssm:resourceTag/Finance":[ "WebServers" ] } } } ] }

Vous pouvez créer des politiques IAM qui permettent à un utilisateur d'exécuter des commandes sur des nœuds gérés balisés à l'aide de plusieurs balises. La politique suivante permet à l'utilisateur d'exécuter des commandes sur des nœuds gérés dotés de deux balises. Si un utilisateur envoie une commande à un nœud non balisé à l'aide de ces deux balises, les résultats d'exécution indiquent AccessDenied.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key1":[ "tag_value1" ], "ssm:resourceTag/tag_key2":[ "tag_value2" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:us-west-1::document/AWS-*", "arn:aws:ssm:us-east-2::document/AWS-*" ] }, { "Effect":"Allow", "Action":[ "ssm:UpdateInstanceInformation", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetDocument" ], "Resource":"*" } ] }

Vous pouvez également créer des politiques IAM qui permettent à un utilisateur d'exécuter des commandes sur plusieurs groupes de nœuds gérés balisés. L'exemple de politique suivante permet à l'utilisateur d'exécuter des commandes sur un des deux groupes de nœuds balisés, ou les deux.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key1":[ "tag_value1" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key2":[ "tag_value2" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:us-west-1::document/AWS-*", "arn:aws:ssm:us-east-2::document/AWS-*" ] }, { "Effect":"Allow", "Action":[ "ssm:UpdateInstanceInformation", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetDocument" ], "Resource":"*" } ] }

Pour plus d'informations sur la création de politiques IAM, consultez Politiques gérées et politiques en ligne dans le Guide de l'utilisateur IAM. Pour plus d'informations sur le balisage des nœuds gérés, consultez Tag Editor dans le Guide de l'utilisateur AWS Resource Groups .