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.
Restreindre l'accès à Parameter Store paramètres à l'aide IAM de politiques
Vous limitez l'accès aux AWS Systems Manager paramètres en utilisant AWS Identity and Access Management (IAM). Plus précisément, vous créez des IAM politiques qui limitent l'accès aux API opérations suivantes :
Lorsque vous utilisez IAM des politiques pour restreindre l'accès aux paramètres de Systems Manager, nous vous recommandons de créer et d'utiliser des IAM politiques restrictives. Par exemple, la politique suivante permet à un utilisateur d'appeler les GetParameters
API opérations DescribeParameters
et pour un ensemble limité de ressources. Cela signifie que l'utilisateur peut obtenir des informations sur les paramètres qui commencent par prod-*
et les utiliser.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" } ] }
Important
Si un utilisateur a accès à un chemin, il peut accéder à tous les niveaux de ce chemin. Par exemple, si un utilisateur a l'autorisation d'accéder à un chemin /a
, il peut également accéder à /a/b
. Même si un utilisateur s'est vu explicitement refuser l'accès au paramètre IAM for/a/b
, il peut toujours appeler l'GetParametersByPath
APIopération de manière récursive pour /a
et view/a/b
.
Pour les administrateurs fiables, vous pouvez fournir un accès à toutes les API opérations de paramètres de Systems Manager en utilisant une politique similaire à celle de l'exemple suivant. Cette politique accorde à l'utilisateur un accès complet à tous les paramètres de production qui commencent par dbserver-prod-*
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:DeleteParameter", "ssm:GetParameterHistory", "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter", "ssm:DeleteParameters" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/dbserver-prod-*" }, { "Effect": "Allow", "Action": "ssm:DescribeParameters", "Resource": "*" } ] }
Refuser des autorisations
Chacune API est unique et comporte des opérations et des autorisations distinctes que vous pouvez autoriser ou refuser individuellement. Un refus explicite dans n'importe quelle politique remplace l'autorisation.
Note
La clé par défaut AWS Key Management Service (AWS KMS) Decrypt
autorise tous les IAM principaux du Compte AWS. Si vous voulez disposer de différents niveaux d'accès aux paramètres SecureString
dans votre compte, n'utilisez pas la clé par défaut.
Si vous souhaitez que toutes les API opérations de récupération de valeurs de paramètres aient le même comportement, vous pouvez utiliser un modèle comme GetParameter*
dans une politique. L'exemple suivant montre comment refuser GetParameter
, GetParameters
, GetParameterHistory
et GetParametersByPath
pour tous les paramètres commençant par prod-*
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:GetParameter*" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" } ] }
L'exemple suivant montre comment refuser certaines commandes, tout en permettant à l'utilisateur d'en exécuter d'autres sur tous les paramètres commençant par prod-*
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:PutParameter", "ssm:DeleteParameter", "ssm:DeleteParameters", "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter", "ssm:GetParameterHistory" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" } ] }
Note
L'historique des paramètres inclut toutes les versions de paramètres, y compris la version actuelle. Par conséquent, si un utilisateur se voit refuser l'autorisation pour GetParameter
, GetParameters
et GetParameterByPath
, mais qu'il obtient l'autorisation pour GetParameterHistory
, il peut voir le paramètre actuel, y compris les paramètres SecureString
, en utilisant GetParameterHistory
.
Autoriser uniquement l'exécution de paramètres spécifiques sur des nœuds
Vous pouvez contrôler l'accès afin que les nœuds gérés puissent uniquement exécuter les paramètres que vous spécifiez.
Si vous choisissez le type de SecureString
paramètre lorsque vous créez votre paramètre, Systems Manager l'utilise AWS KMS pour chiffrer la valeur du paramètre. AWS KMS chiffre la valeur à l'aide d'une clé gérée par le client Clé gérée par AWS ou d'une clé gérée par le client. Pour plus d'informations sur AWS KMS et AWS KMS key, consultez le Guide du AWS Key Management Service développeur.
Vous pouvez les consulter Clé gérée par AWS en exécutant la commande suivante à partir du AWS CLI.
aws kms describe-key --key-id alias/aws/ssm
L'exemple suivant permet aux nœuds d'obtenir une valeur de paramètre seulement pour les paramètres commençant par prod-
. Si le paramètre est un paramètre SecureString
, le nœud déchiffre alors la chaîne en utilisant la AWS KMS.
Note
Les politiques d'instance, comme dans l'exemple suivant, sont attribuées au rôle d'instance dansIAM. Pour plus d'informations sur la configuration de l'accès aux fonctions Systems Manager, y compris la façon d'attribuer des politiques aux utilisateurs et aux instances, consultez Gestion EC2 des instances avec Systems Manager.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-2:123456789012:key/4914ec06-e888-4ea5-a371-5b88eEXAMPLE" ] } ] }
IAMautorisations d'utilisation des clés AWS par défaut et des clés gérées par le client
Parameter Store SecureString
les paramètres sont chiffrés et déchiffrés à l'aide de clés. AWS KMS Vous pouvez choisir de chiffrer vos SecureString
paramètres à l'aide d'une clé AWS KMS key ou de la KMS clé par défaut fournie par AWS.
Lorsque vous utilisez une clé gérée par le client, la IAM politique qui accorde à un utilisateur l'accès à un paramètre ou à un chemin de paramètre doit fournir des kms:Encrypt
autorisations explicites pour la clé. Par exemple, la politique suivante permet à un utilisateur de créer, de mettre à jour et d'afficher des SecureString
paramètres commençant prod-
par le Région AWS et spécifié Compte AWS.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:GetParameter", "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-2:111122223333:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE" ] } ] }
1L'autorisation kms:GenerateDataKey
est requise pour créer des paramètres avancés chiffrés à l'aide de la clé gérée par le client spécifiée.
En revanche, tous les utilisateurs du compte client ont accès à la clé par défaut gérée par AWS . Si vous utilisez cette clé par défaut pour chiffrer des SecureString
paramètres et que vous ne souhaitez pas que les utilisateurs utilisent des SecureString
paramètres, leurs IAM politiques doivent explicitement refuser l'accès à la clé par défaut, comme illustré dans l'exemple de stratégie suivant.
Note
Vous pouvez trouver le nom de ressource Amazon (ARN) de la clé par défaut dans la AWS KMS console sur la page des clés AWS géréesaws/ssm
dans la colonne Alias.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-2:111122223333:key/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE" ] } ] }
Si vous avez besoin d'un contrôle d'accès précis sur les paramètres SecureString
de votre compte, vous devez utiliser une clé gérée par le client pour protéger et restreindre l'accès à ces paramètres. Nous vous recommandons également de l'utiliser AWS CloudTrail pour surveiller l'activité des SecureString
paramètres.
Pour plus d’informations, consultez les rubriques suivantes :
-
Logique d'évaluation des politiques dans le guide de IAM l'utilisateur
-
Utilisation de politiques de clé dans AWS KMS dans le Guide du développeur AWS Key Management Service
-
Afficher les événements avec l'historique des CloudTrail événements dans le guide de AWS CloudTrail l'utilisateur