Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Avertissement
La rubrique aborde l'utilisation d'informations d'identification provenant d'un processus d'approvisionnement externe. Un risque de sécurité peut exister si la commande de génération des informations d'identification devient accessible à des processus ou utilisateurs non approuvés. Nous vous recommandons d'utiliser les alternatives sécurisées prises en charge par le AWS CLI et AWS afin de réduire le risque de compromettre vos informations d'identification. Veillez à sécuriser le fichier config
et tous les outils et fichiers de support afin d'éviter toute divulgation.
Assurez-vous que votre outil d'identification personnalisé n'écrit aucune information secrète, StdErr
car le SDKs et AWS CLI peut capturer et enregistrer ces informations, les exposant potentiellement à des utilisateurs non autorisés.
Si vous disposez d'une méthode pour générer ou rechercher des informations d'identification qui n'est pas directement prise en charge par le AWS CLI, vous pouvez la configurer AWS CLI pour l'utiliser en configurant le credential_process
paramètre dans le config
fichier.
Par exemple, vous pourriez inclure une entrée comme celle-ci dans le fichier config
:
[profile developer]
credential_process = /opt/bin/awscreds-custom --username helen
Syntaxe
Pour créer cette chaîne d'une manière compatible avec n'importe quel système d'exploitation, suivez ces règles :
-
Si le chemin d'accès ou le nom du fichier contient un espace, entourez le chemin d'accès complet et le nom du fichier de guillemets doubles (" "). Le chemin et le nom de fichier peuvent contenir uniquement les caractères suivants : A-Z a-z 0-9 - _. espace
-
Si un nom de paramètre ou une valeur de paramètre contient un espace, entourez cet élément de guillemets doubles (" "). Entourez uniquement le nom ou la valeur, pas la paire.
-
N'incluez aucune variable d'environnement dans les chaînes. Par exemple, vous ne pouvez pas inclure
$HOME
ou%USERPROFILE%
. -
Ne spécifiez pas le dossier de base comme
~
. Vous devez spécifier le chemin d'accès complet.
Exemple pour Windows
credential_process = "C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces"
Exemple pour Linux ou macOS
credential_process = "/Users/Dave/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"
Sortie attendue du programme d'informations d'identification
AWS CLI Exécute la commande comme indiqué dans le profil, puis lit les données depuisSTDOUT
. La commande que vous spécifiez doit générer une JSON sortie STDOUT
correspondant à la syntaxe suivante.
{ "Version": 1, "AccessKeyId": "
an AWS access key
", "SecretAccessKey": "your AWS secret access key
", "SessionToken": "the AWS session token for temporary credentials
", "Expiration": "ISO8601 timestamp when the credentials expire
" }
Note
A la date de cette publication, la clé Version
doit être définie sur 1
. Cela pourrait augmenter avec le temps à mesure que la structure évolue.
La Expiration
clé est un horodatage au format ISO8601Expiration
clé n'est pas présente dans la sortie de l'outil, on CLI suppose que les informations d'identification sont des informations d'identification à long terme qui ne sont pas actualisées. Dans le cas contraire, les informations d'identification sont considérées comme temporaires et sont actualisées automatiquement en réexécutant la commande credential_process
avant leur expiration.
Note
Le AWS CLI ne met pas en cache les informations d'identification des processus externes de la même manière qu'il assume les informations d'identification des rôles. Si la mise en cache est obligatoire, vous devez la mettre en œuvre dans le processus externe.
Le processus externe peut renvoyer un code de retour non nul pour indiquer qu'une erreur s'est produite lors de la récupération des informations d'identification.