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-valuesuivant récupère la valeur de trois secrets.aws secretsmanager batch-get-secret-value \ --secret-id-listMySecret1MySecret2MySecret3Sortie :
{ "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-valuesuivant récupère la valeur des secrets de votre compte dont le nom contientMySecret. 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-secretsuivant désactive la rotation automatique d’un secret. Pour reprendre la rotation, appelezrotate-secret.aws secretsmanager cancel-rotate-secret \ --secret-idMyTestSecretSortie :
{ "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-secretcré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 \ --nameMyTestSecret\ --secret-stringfile://mycreds.jsonContenu 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-secretcré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 \ --nameMyTestSecret\ --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-policysupprime la politique basée sur les ressources associée à un secret.aws secretsmanager delete-resource-policy \ --secret-idMyTestSecretSortie :
{ "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-secretsupprime un secret. Vous pouvez récupérer le secret à l’aide derestore-secretjusqu’à la date et l’heure indiquées dans le champ de réponseDeletionDate. Pour supprimer un secret répliqué dans d'autres régions, supprimez d'abord ses répliques avecremove-regions-from-replication, puis appelezdelete-secret.aws secretsmanager delete-secret \ --secret-idMyTestSecret\ --recovery-window-in-days7Sortie :
{ "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-secretsupprime 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-idMyTestSecret\ --force-delete-without-recoverySortie :
{ "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-secretsuivant affiche les détails d’un secret.aws secretsmanager describe-secret \ --secret-idMyTestSecretSortie :
{ "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-passwordsuivant 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-length20Sortie :
{ "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-policysuivant récupère la politique basée sur les ressources associée à un secret.aws secretsmanager get-resource-policy \ --secret-idMyTestSecretSortie :
{ "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-valuerécupère la valeur actuelle du secret.aws secretsmanager get-secret-value \ --secret-idMyTestSecretSortie :
{ "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-valuesuivant récupère la valeur précédente d’un secret.aws secretsmanager get-secret-value \ --secret-idMyTestSecret--version-stageAWSPREVIOUSSortie :
{ "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-idssuivant obtient la liste de toutes les versions d’un secret.aws secretsmanager list-secret-version-ids \ --secret-idMyTestSecretSortie :
{ "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-secretssuivant obtient la liste des secrets de votre compte.aws secretsmanager list-secretsSortie :
{ "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-secretssuivant obtient la liste des secrets de votre compte dont le nom contientTest. 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-secretssuivant 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-policyajoute 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-idMyTestSecret\ --resource-policyfile://mypolicy.json\ --block-public-policyContenu 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-valuesuivant crée une nouvelle version d’un secret avec deux paires clé-valeur.aws secretsmanager put-secret-value \ --secret-idMyTestSecret\ --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-valuesuivant 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-idMyTestSecret\ --secret-stringfile://mycreds.jsonContenu 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-replicationsupprime 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 appelezdelete-secret.aws secretsmanager remove-regions-from-replication \ --secret-idMyTestSecret\ --remove-replica-regionseu-west-3Sortie :
{ "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.
-
Pour plus de détails sur l’API, consultez RemoveRegionsFromReplication
dans la Référence des commandes de l’AWS CLI.
-
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-regionssuivant réplique un secret dans la région eu-west-3. Le réplica est chiffré avec la cléaws/secretsmanagergérée par AWS.aws secretsmanager replicate-secret-to-regions \ --secret-idMyTestSecret\ --add-replica-regionsRegion=eu-west-3Sortie :
{ "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-secretsuivant restaure un secret dont la suppression était précédemment planifiée.aws secretsmanager restore-secret \ --secret-idMyTestSecretSortie :
{ "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-secretsuivant 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 leVersionIdde la nouvelle version du secret créée par rotation.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret\ --rotation-lambda-arnarn: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-secretsuivant 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 leVersionIdde la nouvelle version du secret créée par rotation.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret\ --rotation-lambda-arnarn: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-secretsuivant lance une rotation immédiate. La sortie affiche leVersionIdde la nouvelle version du secret créée par rotation. La rotation du secret doit déjà être configurée.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecretSortie :
{ "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-replicasuivant 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 appelerstop-replication-to-replicadepuis la région où se trouve la réplique.aws secretsmanager stop-replication-to-replica \ --secret-idMyTestSecretSortie :
{ "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-idMyTestSecret\ --tagsKey=FirstTag,Value=FirstValueCette 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-resourceassocie deux balises clé-valeur à un secret.aws secretsmanager tag-resource \ --secret-idMyTestSecret\ --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-resourcesuivant 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-idMyTestSecret\ --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-stagesuivant 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, utilisezlist-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-stagedéplace automatiquement l’étiquette AWSPREVIOUS vers cette version (11111). Les versions AWSCURRENT et AWSPREVIOUS sont interverties.aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageAWSCURRENT\ --move-to-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Sortie :
{ "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-stagesuivant ajoute une étiquette de transit à une version d’un secret. Vous pouvez voir le résultat en exécutantlist-secret-version-idset en affichant le champ de réponseVersionStagesde la version concernée.aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageSTAGINGLABEL1\ --move-to-version-idEXAMPLE1-90ab-cdef-fedc-ba987EXAMPLESortie :
{ "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-stagesuivant supprime une étiquette de transit attachée à une version d’un secret. Vous pouvez voir le résultat en exécutantlist-secret-version-idset en affichant le champ de réponseVersionStagesde la version concernée.aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageSTAGINGLABEL1\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Sortie :
{ "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-secretmet à jour la description d'un secret.aws secretsmanager update-secret \ --secret-idMyTestSecret\ --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-secretsuivant 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-idMyTestSecret\ --kms-key-idarn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLESortie :
{ "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-policysuivant 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-policyfile://mypolicy.jsonContenu 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.
-