Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé - AWS SDK for JavaScript

Nous avons annoncé la sortie end-of-support de la AWS SDK for JavaScript v2. Nous vous recommandons de migrer vers la AWS SDK for JavaScript version 3. Pour les dates, les détails supplémentaires et les informations sur la façon de migrer, reportez-vous à l'annonce associée.

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.

Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé

Vous pouvez conserver vos données AWS d'identification dans un fichier partagé utilisé par les SDK et l'interface de ligne de commande. Lorsque le SDK est JavaScript chargé, il recherche automatiquement le fichier d'informations d'identification partagé, nommé « informations d'identification ». L'emplacement où vous conservez le fichier d'informations d'identification partagé dépend de votre système d'exploitation :

  • Le fichier d'informations d'identification partagé sous Linux, Unix et macOS : ~/.aws/credentials

  • Le fichier d'informations d'identification partagé sous Windows : C:\Users\USER_NAME\.aws\credentials

Si vous n'avez pas encore de fichier d'informations d'identification partagé, consultez Authentification du SDK avec AWS. Une fois que vous avez suivi ces instructions, vous devriez voir un texte similaire à ce qui suit dans le fichier d'informations d'identification, où <YOUR_ACCESS_KEY_ID> est votre ID de clé d'accès et <YOUR_SECRET_ACCESS_KEY> votre clé d'accès secrète :

[default] aws_access_key_id = <YOUR_ACCESS_KEY_ID> aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>

Pour obtenir un exemple illustrant ce fichier en cours d'utilisation, consultez Démarrage dans Node.js.

L'en-tête de section [default] spécifie un profil par défaut et les valeurs associées pour les informations d'identification. Vous pouvez créer d'autres profils dans le même fichier de configuration partagé, chacun avec ses propres informations d'identification. L'exemple suivant illustre un fichier de configuration avec le profil par défaut et deux profils supplémentaires :

[default] ; default profile aws_access_key_id = <DEFAULT_ACCESS_KEY_ID> aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY> [personal-account] ; personal account profile aws_access_key_id = <PERSONAL_ACCESS_KEY_ID> aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY> [work-account] ; work account profile aws_access_key_id = <WORK_ACCESS_KEY_ID> aws_secret_access_key = <WORK_SECRET_ACCESS_KEY>

Par défaut, le kit SDK vérifie la variable d'environnement AWS_PROFILE afin de déterminer quel profil utiliser. Si la variable AWS_PROFILE n'est pas définie dans votre environnement, le kit SDK utilise les informations d'identification du profil [default]. Pour utiliser l'un des autres profils, définissez ou modifiez la valeur de la variable d'environnement AWS_PROFILE. Par exemple, étant donné le fichier de configuration illustré ci-dessus, pour utiliser les informations d'identification du compte professionnel, définissez la variable d'environnement AWS_PROFILE sur work-account (en fonction de votre système d'exploitation).

Note

Lorsque vous définissez des variables d'environnement, veillez à entreprendre les actions adéquates par la suite (en fonction des besoins de votre système d'exploitation) pour rendre les variables disponibles dans le shell ou l'environnement de commande.

Après avoir défini la variable d'environnement (si nécessaire), vous pouvez exécuter un JavaScript fichier qui utilise le SDK, par exemple un fichier nomméscript.js.

$ node script.js

Vous pouvez également sélectionner de façon explicite le profil utilisé par le kit SDK, en paramétrant process.env.AWS_PROFILE avant de charger le kit SDK ou en sélectionnant le fournisseur d'informations d'identification, comme illustré dans l'exemple ci-dessous :

var credentials = new AWS.SharedIniFileCredentials({profile: 'work-account'}); AWS.config.credentials = credentials;