Informations d'identification de la source avec un processus externe - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1 du. 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.

Informations d'identification de la source avec un processus externe

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 autres solutions sûres et prises en charge sécurisées fournies par l'AWS CLI et AWS pour 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 les SDK AWS CLI peuvent 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 leAWS 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

L'AWS CLI exécute la commande comme spécifié dans le profil, puis lit les données à partir de STDOUT. La commande que vous spécifiez doit générer sur STDOUT une sortie JSON qui correspond à 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 clé Expiration est un horodatage au format ISO8601. Si la clé Expiration n'est pas présente dans la sortie de l'outil, l'interface de ligne de commande suppose que les informations d'identification sont des informations d'identification à long terme qui ne s'actualisent pas. 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

L'AWS CLI ne met pas en cache les informations d'identification de processus externe comme elle le fait pour les informations d'identification du rôle. 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.