Je récupère des secrets que j'ai stockés dans AWS secrets manager avec l'AWS cli comme ceci:
aws secretsmanager get-secret-value --secret-id secrets
Qui revient
arn:aws:secretsmanager<ID>:secret:my_secrets <number> my_secrets {"API_KEY":"ABCDEFGHI"} <UUID string>
VERSIONSTAGES AWSCURRENT
Est-ce que quelqu'un sait comment j'obtiens seulement le secret ("API_KEY": "ABCDEFGHI")? J'ai besoin de déplacer ces secrets dans mes variables d'environnement register-task-definition. La meilleure façon serait de les stocker dans un fichier et de les supprimer après nous ou de les stocker dans une variable. Il fonctionne sur une machine Linux.
Utilisez le --query
option de la CLI pour extraire uniquement le secret.
aws secretsmanager get-secret-value --secret-id secrets --query SecretString
aws secretsmanager get-secret-value --secret-id secrets| jq --raw-output '.SecretString' | jq -r .API_KEY
en utilisant jq, vous pouvez imprimer.
Petit ajout à la réponse helloV. Vous pouvez ajouter le paramètre de sortie text
pour supprimer les guillemets.
aws secretsmanager get-secret-value --secret-id secrets --query SecretString --output text
Lorsque vous avez plusieurs secrets et que vous obtenez un retour json, vous pouvez utiliser obtenir la valeur exacte du mot de passe en utilisant
aws secretsmanager get-secret-value --secret-id <secret_bucket_name> | jq --raw-output '.SecretString' | jq -r .key_for_password
J'ai donc eu un peu de mal à extraire ce dont j'avais besoin, la valeur de mes deux variables que j'ai stockées dans SecretsManager. Voici donc ce qui a fonctionné pour moi.
REMARQUE: il s'agit d'un exemple tiré du document AWS SecretsManager.
aws secretsmanager get-secret-value --secret-id MyTestDatabaseSecret --version-stage AWSPREVIOUS
{
"ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3",
"Name": "MyTestDatabaseSecret",
"VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE",
"SecretString": "{\n \"username\":\"david\",\n \"password\":\"BnQw&XDWgaEeT9XGTT29\"\n}\n",
"VersionStages": [
"AWSPREVIOUS"
],
"CreatedDate": 1523477145.713
}
aws secretsmanager get-secret-value --secret-id MyTestDatabaseSecret --version-stage AWSPREVIOUS | jq --raw-output .SecretString | jq -r ."password"
BnQw&XDWgaEeT9XGTT29