Comment appliquer une stratégie basée sur les ressources sur un secret AWS Secrets Manager ?

Date de la dernière mise à jour : 18/12/2018

Comment contrôler l'accès aux secrets AWS Secrets Manager en utilisant des stratégies basées sur les ressources ?  

Brève description

Avec les stratégies basées sur les ressources, vous pouvez spécifier l'accès utilisateur à un secret et les actions qu'un utilisateur peut exécuter.

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

Les cas d'utilisation courants des stratégies Secrets Manager sont les suivants :

Dans cet exemple de stratégie basée sur les ressources, « Effect » (Effet) indique si l'instruction génère une autorisation ou un refus explicite. « Action » définit les actions qui sont exécutées avec le secret. « Resource » (Ressource) est le secret associé à la stratégie. « Principal » (Mandataire) spécifie l'utilisateur ayant accès pour 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

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

1.    Suivez les instructions pour créer un secret de base. Notez le nom ARN du secret.

2.    Copiez et collez cette stratégie dans l'éditeur texte de votre choix, puis enregistrez-la dans un 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 d'interface de ligne de commande (CLI) AWS put-resource-policy pour placer une stratégie de ressource pour que le secret empêche explicitement l'utilisateur « Mary » de récupérer la valeur secrète.

 

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

4.    La réponse doit ressembler à ce qui suit :

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

Remarque : l'autorisation kms:decrypt est nécessaire uniquement si vous utilisez une clé CMK (Customer Master Key) pour chiffrer le secret. Un secret ne peut pas être récupéré par un mandataire AWS Identity and Access Management (IAM) dans un compte tiers si le secret est chiffré par la clé AWS Key Management Service (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 ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?