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, une fonction de AWS Systems Manager, vous devez configurer 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'SendCommand
action dans vos IAM politiques, vous devez inclure la clé de aws:ViaAWSService
condition 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 également d'effectuer les tâches de configuration facultatives suivantes afin de minimiser le dispositif de sécurité et la day-to-day gestion de vos nœuds gérés.
- Surveiller les exécutions de commandes avec Amazon EventBridge
-
Vous pouvez utiliser EventBridge pour consigner les changements de statut 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 aussi spécifier Run Command comme action cible quand un EventBridge événement a lieu. Pour de plus amples informations, veuillez consulter Configuration EventBridge pour les événements de Systems Manager.
- Surveiller les exécutions de commandes avec Amazon CloudWatch Logs
-
Vous pouvez configurer Run Command pour envoyer régulièrement tous les journaux de sortie de commande et 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 restreindre 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 IAM politique 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 Restriction Run Command accès en fonction des balises.
Restriction Run Command accès en fonction 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 IAM politique. Les nœuds gérés incluent EC2 les instances Amazon, ainsi que EC2 les non-nœuds d'un environnement hybride et multicloud configurés pour Systems Manager. Bien que les informations ne soient pas explicitement présentées, vous pouvez également restreindre l'accès aux appareils AWS IoT Greengrass Core 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 IAM politique 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 SSM document (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 IAM politiques qui permettent à un utilisateur d'exécuter des commandes sur des nœuds gérés présentant 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 IAM politiques 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 de plus amples informations sur la création de IAM stratégies, veuillez consulter Stratégies gérées et stratégies en ligne dans le Guide de l'IAMutilisateur. 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 .