Comment puis-je appliquer une politique basée sur les ressources à un secret AWS Secrets Manager ?

Date de la dernière mise à jour : 23/08/2021

Comment puis-je contrôler l'accès aux secrets AWS Secrets Manager à l'aide de politiques basées sur les ressources ?

Brève description

Avec les stratégies basées sur les ressources, vous pouvez spécifier un accès utilisateur à un secret, ainsi que les actions qu’un utilisateur IAM (AWS Identity and Access Management) peut exécuter.

Remarque : un secret est défini comme une ressource avec Secrets Manager.

Voici des cas d'utilisation courants pour des stratégies Secrets Manager basées sur les ressources :

Dans cet exemple de stratégie basée sur les ressources, l’élément IAM Effect spécifie si la déclaration génère une autorisation ou un refus explicite. L'élément IAM Action définit les actions qui sont exécutées avec le secret. L'élément IAM Resource est le secret auquel la stratégie est attachée. L’élément IAM Principal spécifie l'utilisateur autorisé à exécuter des actions avec le secret.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "secretsmanager:*",
      "Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
      "Resource": "*"
    }
  ]
}

Résolution

Procédez comme suit pour appliquer une stratégie basée sur les ressources dans Secrets Manager :

Remarque : si des erreurs s'affichent lors de l'exécution de commandes AWS Command Line Interface (AWS CLI), assurez-vous que vous utilisez la version la plus récente d'AWS CLI.

1.    Suivez les instructions pour créer un secret. Prenez note de l'ARN du secret.

2.    Copiez et collez cette stratégie dans l'éditeur de texte de votre choix, puis enregistrez-la en tant que fichier JSON, par exemple : my_explicit_deny_policy.json.

{ "Version": "2012-10-17",
"Statement": [
    {
      "Effect": "Deny",
      "Action": "secretsmanager:GetSecretValue",
      "Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
      "Resource": "*"
    }
  ]
}

3.    Utilisez la commande de l'interface de ligne de commande AWS put-resource-policy pour mettre en place une stratégie de ressources pour le secret afin de refuser explicitement que l'utilisateur Mary récupère la valeur du secret.

aws secretsmanager put-resource-policy --secret-id My_Resource_Secret --resource-policy file:// My_explicit_deny_Policy.json

4.    Le résultat obtenu doit être similaire à ce qui suit :

{
"ARN": "arn:aws:secretsmanager:<your region>:123456789999:secret:My_Resource_Secret",
"Name": "My_Resource_Secret"
}

Remarque : l'autorisation de déchiffrement AWS Key Management Service (AWS KMS) n'est requise que si vous utilisez des clés AWS KMS pour chiffrer votre secret. Un secret ne peut pas être récupéré par un principal IAM dans un compte tiers s'il est chiffré par la clé AWS KMS par défaut.

Pour plus d'informations, consultez Utilisation des stratégies basées sur les ressources pour Secrets Manager.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?