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 de Run Command
Avant de pouvoir gérer les nœuds en utilisant Run Command une fonctionnalité de 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'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 Con AWS Systems Manager figuration.
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 commande 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.
- Restriction de l'accès Run Command à 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 IAM politique à condition que l'utilisateur ne puisse exécuter des commandes que sur des nœuds gérés dotés de balises spécifiques. Pour de plus amples informations, veuillez consulter Restriction de l'accès Run Command en fonction des balises.
Restriction de l'accès Run Command 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 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 limiter l'exécution des commandes à des nœuds gérés spécifiques en créant une IAM politique incluant une condition selon laquelle l'utilisateur ne peut exécuter des commandes que sur des nœuds dotés de 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 Finance 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 dotés 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 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 plus d'informations sur la création de IAM politiques, voir Politiques gérées et politiques intégrées 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 .