Exemples d’utilisation de l’AWS CLI avec Secrets Manager - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Secrets Manager

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec Secrets Manager.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser batch-get-secret-value.

AWS CLI

Exemple 1 : pour récupérer la valeur d’un groupe de secrets répertoriés par nom

L’exemple batch-get-secret-value suivant récupère la valeur de trois secrets.

aws secretsmanager batch-get-secret-value \ --secret-id-list MySecret1 MySecret2 MySecret3

Sortie :

{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }

Pour plus d’informations, consultez Récupération d’un groupe de secrets dans un lot dans le Guide de l’utilisateur AWS Secrets Manager.

Exemple 2 : pour récupérer la valeur d’un groupe de secrets sélectionnés par filtre

L’exemple batch-get-secret-value suivant récupère la valeur des secrets de votre compte dont le nom contient MySecret. Le filtrage par nom est sensible à la casse.

aws secretsmanager batch-get-secret-value \ --filters Key="name",Values="MySecret"

Sortie :

{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }

Pour plus d’informations, consultez Récupération d’un groupe de secrets dans un lot dans le Guide de l’utilisateur AWS Secrets Manager.

  • Pour plus de détails sur l’API, consultez BatchGetSecretValue dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser cancel-rotate-secret.

AWS CLI

Pour désactiver la rotation automatique d’un secret

L’exemple cancel-rotate-secret suivant désactive la rotation automatique d’un secret. Pour reprendre la rotation, appelez rotate-secret.

aws secretsmanager cancel-rotate-secret \ --secret-id MyTestSecret

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Rotation d’un secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez CancelRotateSecret dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-secret.

AWS CLI

Exemple 1 : pour créer un secret à partir des informations d’identification d’un fichier JSON

L'exemple suivant create-secret crée un secret à partir des informations d'identification d'un fichier. Pour plus d’informations, consultez Chargement des paramètres d’AWS CLI à partir d’un fichier dans le Guide de l’utilisateur de l’interface de ligne de commande AWS.

aws secretsmanager create-secret \ --name MyTestSecret \ --secret-string file://mycreds.json

Contenu de mycreds.json :

{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Pour plus d’informations, consultez Création d’un secret dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour créer un secret

L'exemple suivant create-secret crée un secret avec deux paires clé-valeur. Lorsque saisissez des commandes dans un shell de commande, il existe un risque d'accès à l'historique des commandes ou aux paramètres de vos commandes. Cela pose un problème si la commande inclut la valeur d’un secret. Pour plus d’informations, consultez Atténuation des risques liés à l’utilisation de l’AWS CLI pour stocker vos secrets dans le Guide de l’utilisateur Secrets Manager.

aws secretsmanager create-secret \ --name MyTestSecret \ --description "My test secret created with the CLI." \ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" }

Pour plus d’informations, consultez Création d’un secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez CreateSecret dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-resource-policy.

AWS CLI

Pour supprimer la politique basée sur les ressources associée à un secret

L'exemple suivant delete-resource-policy supprime la politique basée sur les ressources associée à un secret.

aws secretsmanager delete-resource-policy \ --secret-id MyTestSecret

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Authentification et contrôle d’accès dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez DeleteResourcePolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-secret.

AWS CLI

Exemple 1 : pour supprimer un secret

L’exemple suivant delete-secret supprime un secret. Vous pouvez récupérer le secret à l’aide de restore-secret jusqu’à la date et l’heure indiquées dans le champ de réponse DeletionDate. Pour supprimer un secret répliqué dans d'autres régions, supprimez d'abord ses répliques avec remove-regions-from-replication, puis appelez delete-secret.

aws secretsmanager delete-secret \ --secret-id MyTestSecret \ --recovery-window-in-days 7

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "DeletionDate": 1524085349.095 }

Pour plus d’informations, consultez Suppression d’un secret dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour supprimer un secret immédiatement

L'exemple suivant delete-secret supprime immédiatement le secret, sans plage de récupération. Il n'est pas possible de récupérer ce secret.

aws secretsmanager delete-secret \ --secret-id MyTestSecret \ --force-delete-without-recovery

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "DeletionDate": 1508750180.309 }

Pour plus d’informations, consultez Suppression d’un secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez DeleteSecret dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-secret.

AWS CLI

Pour récupérer les détails d’un secret

L’exemple describe-secret suivant affiche les détails d’un secret.

aws secretsmanager describe-secret \ --secret-id MyTestSecret

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-Ca8JGt", "Name": "MyTestSecret", "Description": "My test secret", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "RotationEnabled": true, "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:MyTestRotationLambda", "RotationRules": { "AutomaticallyAfterDays": 2, "Duration": "2h", "ScheduleExpression": "cron(0 16 1,15 * ? *)" }, "LastRotatedDate": 1525747253.72, "LastChangedDate": 1523477145.729, "LastAccessedDate": 1524572133.25, "Tags": [ { "Key": "SecondTag", "Value": "AnotherValue" }, { "Key": "FirstTag", "Value": "SomeValue" } ], "VersionIdsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333": [ "AWSPENDING" ] }, "CreatedDate": 1521534252.66, "PrimaryRegion": "us-west-2", "ReplicationStatus": [ { "Region": "eu-west-3", "KmsKeyId": "alias/aws/secretsmanager", "Status": "InSync", "StatusMessage": "Replication succeeded" } ] }

Pour plus d’informations, consultez Secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez DescribeSecret dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-random-password.

AWS CLI

Pour générer un mot de passe aléatoire

L’exemple get-random-password suivant génère un mot de passe aléatoire de 20 caractères comprenant au moins une lettre majuscule, une lettre minuscule, un chiffre et un signe de ponctuation.

aws secretsmanager get-random-password \ --require-each-included-type \ --password-length 20

Sortie :

{ "RandomPassword": "EXAMPLE-PASSWORD" }

Pour plus d’informations, consultez Création et gestion des secrets dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez GetRandomPassword dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-resource-policy.

AWS CLI

Pour récupérer la politique basée sur les ressources associée à un secret

L’exemple get-resource-policy suivant récupère la politique basée sur les ressources associée à un secret.

aws secretsmanager get-resource-policy \ --secret-id MyTestSecret

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n \"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\": \"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}" }

Pour plus d’informations, consultez Authentification et contrôle d’accès dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez GetResourcePolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-secret-value.

AWS CLI

Exemple 1 : pour récupérer la valeur chiffrée d’un secret

L'exemple suivant get-secret-value récupère la valeur actuelle du secret.

aws secretsmanager get-secret-value \ --secret-id MyTestSecret

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "SecretString": "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": 1523477145.713 }

Pour plus d’informations, consultez Récupération d’un secret dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour récupérer la valeur précédente d’un secret

L’exemple get-secret-value suivant récupère la valeur précédente d’un secret.

aws secretsmanager get-secret-value \ --secret-id MyTestSecret --version-stage AWSPREVIOUS

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "SecretString": "{\"user\":\"diegor\",\"password\":\"PREVIOUS-EXAMPLE-PASSWORD\"}", "VersionStages": [ "AWSPREVIOUS" ], "CreatedDate": 1523477145.713 }

Pour plus d’informations, consultez Récupération d’un secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez GetSecretValue dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-secret-version-ids.

AWS CLI

Pour répertorier toutes les versions associées à un secret

L’exemple list-secret-version-ids suivant obtient la liste de toutes les versions d’un secret.

aws secretsmanager list-secret-version-ids \ --secret-id MyTestSecret

Sortie :

{ "Versions": [ { "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSPREVIOUS" ], "LastAccessedDate": 1523477145.713, "CreatedDate": 1523477145.713 }, { "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "VersionStages": [ "AWSCURRENT" ], "LastAccessedDate": 1523477145.713, "CreatedDate": 1523486221.391 }, { "CreatedDate": 1.51197446236E9, "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333;" } ], "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Version dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez ListSecretVersionIds dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-secrets.

AWS CLI

Exemple 1 : pour répertorier les secrets de votre compte

L’exemple list-secrets suivant obtient la liste des secrets de votre compte.

aws secretsmanager list-secrets

Sortie :

{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:AnotherSecret-d4e5f6", "Name": "AnotherSecret", "LastChangedDate": 1523482025.685, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ] } } ] }

Pour plus d’informations, consultez Recherche de secrets dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour filtrer la liste des secrets de votre compte

L’exemple list-secrets suivant obtient la liste des secrets de votre compte dont le nom contient Test. Le filtrage par nom est sensible à la casse.

aws secretsmanager list-secrets \ --filter Key="name",Values="Test"

Sortie :

{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } } ] }

Pour plus d’informations, consultez Recherche de secrets dans le Guide de l’utilisateur Secrets Manager.

Exemple 3 : pour répertorier les secrets de votre compte géré par un autre service

L’exemple list-secrets suivant renvoie les secrets de votre compte qui sont gérés par Amazon RDS.

aws secretsmanager list-secrets \ --filter Key="owning-service",Values="rds"

Sortie :

{ "SecretList": [ { "Name": "rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Tags": [ { "Value": "arn:aws:rds:us-west-2:123456789012:cluster:database-1", "Key": "aws:rds:primaryDBClusterArn" }, { "Value": "rds", "Key": "aws:secretsmanager:owningService" } ], "RotationRules": { "AutomaticallyAfterDays": 1 }, "LastChangedDate": 1673477781.275, "LastRotatedDate": 1673477781.26, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb": [ "AWSCURRENT", "AWSPENDING" ] }, "OwningService": "rds", "RotationEnabled": true, "CreatedDate": 1673467300.7, "LastAccessedDate": 1673395200.0, "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111-a1b2c3", "Description": "Secret associated with primary RDS DB cluster: arn:aws:rds:us-west-2:123456789012:cluster:database-1" } ] }

Pour plus d’informations, consultez Secrets gérés par d’autres services dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez ListSecrets dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-resource-policy.

AWS CLI

Pour ajouter une politique basée sur les ressources à un secret

L'exemple suivant put-resource-policy ajoute une politique d'autorisations à un secret, en vérifiant d'abord que la politique ne fournit pas un accès étendu au secret. La politique est lue à partir d'un fichier. Pour plus d’informations, consultez Chargement des paramètres d’AWS CLI à partir d’un fichier dans le Guide de l’utilisateur de l’interface de ligne de commande AWS.

aws secretsmanager put-resource-policy \ --secret-id MyTestSecret \ --resource-policy file://mypolicy.json \ --block-public-policy

Contenu de mypolicy.json :

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Association d’une stratégie d’autorisation à un secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez PutResourcePolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-secret-value.

AWS CLI

Exemple 1 : pour stocker la nouvelle valeur d’un secret

L’exemple put-secret-value suivant crée une nouvelle version d’un secret avec deux paires clé-valeur.

aws secretsmanager put-secret-value \ --secret-id MyTestSecret \ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSCURRENT" ] }

Pour plus d’informations, consultez Modification d’un secret dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour stocker une nouvelle valeur d’un secret à partir des informations d’identification d’un fichier JSON

L’exemple put-secret-value suivant crée une nouvelle version d’un secret à partir des informations d’identification d’un fichier. Pour plus d’informations, consultez Chargement des paramètres d’AWS CLI à partir d’un fichier dans le Guide de l’utilisateur de l’interface de ligne de commande AWS.

aws secretsmanager put-secret-value \ --secret-id MyTestSecret \ --secret-string file://mycreds.json

Contenu de mycreds.json :

{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSCURRENT" ] }

Pour plus d’informations, consultez Modification d’un secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez PutSecretValue dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser remove-regions-from-replication.

AWS CLI

Pour supprimer un secret répliqué

L'exemple suivant remove-regions-from-replication supprime un secret répliqué dans eu-west-3. Pour supprimer un secret principal répliqué dans d'autres régions, supprimez d'abord les répliques, puis appelez delete-secret.

aws secretsmanager remove-regions-from-replication \ --secret-id MyTestSecret \ --remove-replica-regions eu-west-3

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [] }

Pour plus d’informations, consultez Suppression d’un secret répliqué dans le Guide de l’utilisateur Secrets Manager.

L’exemple de code suivant montre comment utiliser replicate-secret-to-regions.

AWS CLI

Pour répliquer un secret dans une autre région

L’exemple replicate-secret-to-regions suivant réplique un secret dans la région eu-west-3. Le réplica est chiffré avec la clé aws/secretsmanager gérée par AWS.

aws secretsmanager replicate-secret-to-regions \ --secret-id MyTestSecret \ --add-replica-regions Region=eu-west-3

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [ { "Region": "eu-west-3", "KmsKeyId": "alias/aws/secretsmanager", "Status": "InProgress" } ] }

Pour plus d’informations, consultez Réplication d’un secret vers une autre région dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez ReplicateSecretToRegions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser restore-secret.

AWS CLI

Pour restaurer un secret précédemment supprimé

L’exemple restore-secret suivant restaure un secret dont la suppression était précédemment planifiée.

aws secretsmanager restore-secret \ --secret-id MyTestSecret

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Suppression d’un secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez RestoreSecret dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser rotate-secret.

AWS CLI

Exemple 1 : pour configurer et lancer la rotation automatique d’un secret

L’exemple rotate-secret suivant configure et lance la rotation automatique d’un secret. Secrets Manager réalise une rotation du secret immédiatement, puis toutes les huit heures dans un créneau de deux heures. La sortie affiche le VersionId de la nouvelle version du secret créée par rotation.

aws secretsmanager rotate-secret \ --secret-id MyTestDatabaseSecret \ --rotation-lambda-arn arn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda \ --rotation-rules "{\"ScheduleExpression\": \"cron(0 8/8 * * ? *)\", \"Duration\": \"2h\"}"

Sortie :

{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Pour plus d’informations, consultez Rotation des secrets dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour configurer et lancer la rotation automatique à un intervalle de rotation

L’exemple rotate-secret suivant configure et lance la rotation automatique d’un secret. Secrets Manager réalise une rotation du secret immédiatement, puis tous les dix jours. La sortie affiche le VersionId de la nouvelle version du secret créée par rotation.

aws secretsmanager rotate-secret \ --secret-id MyTestDatabaseSecret \ --rotation-lambda-arn arn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda \ --rotation-rules "{\"ScheduleExpression\": \"rate(10 days)\"}"

Sortie :

{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Pour plus d’informations, consultez Rotation des secrets dans le Guide de l’utilisateur Secrets Manager.

Exemple 3 : pour effectuer immédiatement la rotation d’un secret

L’exemple rotate-secret suivant lance une rotation immédiate. La sortie affiche le VersionId de la nouvelle version du secret créée par rotation. La rotation du secret doit déjà être configurée.

aws secretsmanager rotate-secret \ --secret-id MyTestDatabaseSecret

Sortie :

{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Pour plus d’informations, consultez Rotation des secrets dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez RotateSecret dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser stop-replication-to-replica.

AWS CLI

Pour promouvoir un secret répliqué en secret principal

L’exemple stop-replication-to-replica suivant supprime le lien entre un secret répliqué et le secret principal. Le secret répliqué est promu en secret principal dans la région de la réplique. Vous devez appeler stop-replication-to-replica depuis la région où se trouve la réplique.

aws secretsmanager stop-replication-to-replica \ --secret-id MyTestSecret

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3" }

Pour plus d’informations, consultez Promotion d’un secret répliqué dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez StopReplicationToReplica dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser tag-resource.

AWS CLI

Exemple 1 : pour ajouter une balise à un secret

L’exemple suivant montre comment associer une balise à l’aide d’une syntaxe abrégée.

aws secretsmanager tag-resource \ --secret-id MyTestSecret \ --tags Key=FirstTag,Value=FirstValue

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Balisage de vos secrets dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour ajouter plusieurs balises à un secret

L'exemple suivant tag-resource associe deux balises clé-valeur à un secret.

aws secretsmanager tag-resource \ --secret-id MyTestSecret \ --tags '[{"Key": "FirstTag", "Value": "FirstValue"}, {"Key": "SecondTag", "Value": "SecondValue"}]'

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Balisage de vos secrets dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez TagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser untag-resource.

AWS CLI

Pour supprimer des balises d’un secret

L’exemple untag-resource suivant montre comment supprimer deux balises d’un secret. Pour chaque balise, la clé et la valeur sont toutes les deux supprimées.

aws secretsmanager untag-resource \ --secret-id MyTestSecret \ --tag-keys '[ "FirstTag", "SecondTag"]'

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Balisage de vos secrets dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez UntagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-secret-version-stage.

AWS CLI

Exemple 1 : pour rétablir la version précédente d’un secret

L’exemple update-secret-version-stage suivant déplace l’étiquette de transit AWSCURRENT dans la version précédente d’un secret, ce qui a pour effet de rétablir cette dernière. Pour rechercher l’ID de la version précédente, utilisez list-secret-version-ids. Dans cet exemple, la version portant l’étiquette AWSCURRENT est a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 et celle portant l’étiquette AWSPREVIOUS est a1b2c3d4-5678-90ab-cdef-EXAMPLE22222. Dans cet exemple, vous déplacez l’étiquette AWSCURRENT de la version 11111 vers la version 22222. L’étiquette AWSCURRENT étant supprimée d’une version, update-secret-version-stage déplace automatiquement l’étiquette AWSPREVIOUS vers cette version (11111). Les versions AWSCURRENT et AWSPREVIOUS sont interverties.

aws secretsmanager update-secret-version-stage \ --secret-id MyTestSecret \ --version-stage AWSCURRENT \ --move-to-version-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \ --remove-from-version-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Version dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour ajouter une étiquette de transit à une version d’un secret

L’exemple update-secret-version-stage suivant ajoute une étiquette de transit à une version d’un secret. Vous pouvez voir le résultat en exécutant list-secret-version-ids et en affichant le champ de réponse VersionStages de la version concernée.

aws secretsmanager update-secret-version-stage \ --secret-id MyTestSecret \ --version-stage STAGINGLABEL1 \ --move-to-version-id EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Version dans le Guide de l’utilisateur Secrets Manager.

Exemple 3 : pour supprimer une étiquette de transit attachée à une version d’un secret

L’exemple update-secret-version-stage suivant supprime une étiquette de transit attachée à une version d’un secret. Vous pouvez voir le résultat en exécutant list-secret-version-ids et en affichant le champ de réponse VersionStages de la version concernée.

aws secretsmanager update-secret-version-stage \ --secret-id MyTestSecret \ --version-stage STAGINGLABEL1 \ --remove-from-version-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Version dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez UpdateSecretVersionStage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-secret.

AWS CLI

Exemple 1 : pour mettre à jour la description d’un secret

L'exemple suivant update-secret met à jour la description d'un secret.

aws secretsmanager update-secret \ --secret-id MyTestSecret \ --description "This is a new description for the secret."

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Modification d’un secret dans le Guide de l’utilisateur Secrets Manager.

Exemple 2 : pour mettre à jour la clé de chiffrement associée à un secret

L’exemple update-secret suivant met à jour la clé KMS utilisée pour chiffrer la valeur du secret. Les clés KMS doivent être situées dans la même région que le secret.

aws secretsmanager update-secret \ --secret-id MyTestSecret \ --kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE

Sortie :

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Pour plus d’informations, consultez Modification d’un secret dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez UpdateSecret dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser validate-resource-policy.

AWS CLI

Pour valider une stratégie de ressources

L’exemple validate-resource-policy suivant vérifie qu’une stratégie de ressources ne fournit pas d’accès étendu à un secret. La stratégie est lue à partir d’un fichier sur disque. Pour plus d’informations, consultez Chargement des paramètres d’AWS CLI à partir d’un fichier dans le Guide de l’utilisateur de l’interface de ligne de commande AWS.

aws secretsmanager validate-resource-policy \ --resource-policy file://mypolicy.json

Contenu de mypolicy.json :

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }

Sortie :

{ "PolicyValidationPassed": true, "ValidationErrors": [] }

Pour plus d’informations, consultez Référence des autorisations pour Secrets Manager dans le Guide de l’utilisateur Secrets Manager.

  • Pour plus de détails sur l’API, consultez ValidateResourcePolicy dans la Référence des commandes de l’AWS CLI.