Le guide de référence de l'API AWS SDK for JavaScript V3 décrit en détail toutes les opérations de l'API pour la AWS SDK for JavaScript version 3 (V3).
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.
Fournisseurs d'informations d'identification
Dans la version 2, le SDK pour JavaScript fournit une liste de fournisseurs d'informations d'identification parmi lesquels choisir, ainsi qu'une chaîne de fournisseurs d'informations d'identification, disponible par défaut sur Node.js, qui essaie de charger les AWS informations d'identification de tous les fournisseurs les plus courants. Le SDK pour JavaScript v3 simplifie l'interface du fournisseur d'informations d'identification, ce qui facilite l'utilisation et la rédaction de fournisseurs d'informations d'identification personnalisés. En plus d'une nouvelle chaîne de fournisseurs d'informations d'identification, le SDK pour la JavaScript version 3 fournit tous une liste de fournisseurs d'informations d'identification visant à fournir un équivalent à la version 2.
Voici tous les fournisseurs d'identifiants de la version 2 et leurs équivalents de la version 3.
Fournisseur d'informations d'identification par défaut
Le fournisseur d'informations d'identification par défaut est la façon dont le SDK permet de JavaScript résoudre les AWS informations d'identification si vous ne les fournissez pas explicitement.
-
v2 : CredentialProviderChaindans Node.js, résout les informations d'identification provenant des sources dans l'ordre suivant :
Si l'un des fournisseurs d'identifiants ci-dessus ne parvient pas à résoudre l' AWS identifiant, la chaîne revient au fournisseur suivant jusqu'à ce qu'un identifiant valide soit résolu, et la chaîne génère une erreur lorsque tous les fournisseurs échouent.
Dans les environnements d'exécution Browser et React Native, la chaîne d'informations d'identification est vide et les informations d'identification doivent être définies explicitement.
-
v3 : DefaultProvider. Les sources d'informations d'identification et l'ordre de repli ne changent pas dans la version 3. Il prend également en charge les AWS IAM Identity Center informations d'identification.
Informations d'identification temporaires
-
v2 :
ChainableTemporaryCredentialsreprésente les informations d'identification temporaires extraites deAWS.STS. Sans aucun paramètre supplémentaire, les informations d'identification seront extraites de l'AWS.STS.getSessionToken()opération. Si un rôle IAM est fourni, l'AWS.STS.assumeRole()opération sera plutôt utilisée pour récupérer les informations d'identification du rôle.AWS.ChainableTemporaryCredentialsdiffère de laAWS.TemporaryCredentialsfaçon dont les MasterCredentials et les actualisations sont gérés.AWS.ChainableTemporaryCredentialsactualise les informations d'identification expirées à l'aide des MasterCredentials transmises par l'utilisateur pour permettre le chaînage des informations d'identification STS. Cependant, les informations d'identification principales sont réduites deAWS.TemporaryCredentialsmanière récursive lors de l'instanciation, ce qui empêche d'actualiser les informations d'identification qui nécessitent des informations d'identification temporaires intermédiaires.L'original
TemporaryCredentialsa été déprécié au profit de laChainableTemporaryCredentialsversion v2. -
version 3 :
fromTemporaryCredentials. Vous pouvez appelerfromTemporaryCredentials()depuis le@aws-sdk/credential-providersforfait. Voici un exemple :import { FooClient } from "@aws-sdk/client-foo"; import { fromTemporaryCredentials } from "@aws-sdk/credential-providers"; // ES6 import // const { FooClient } = require("@aws-sdk/client-foo"); // const { fromTemporaryCredentials } = require("@aws-sdk/credential-providers"); // CommonJS import const sourceCredentials = { // A credential can be a credential object or an async function that returns a credential object }; const client = new FooClient({ credentials: fromTemporaryCredentials({ masterCredentials: sourceCredentials, params: { RoleArn }, }), });
Informations d'identification Amazon Cognito
Chargez les informations d'identification depuis le service Amazon Cognito Identity, normalement utilisé dans les navigateurs.
-
v2 :
CognitoIdentityCredentialsreprésente les informations d'identification récupérées auprès de STS Web Identity Federation à l'aide du service Amazon Cognito Identity. -
v3 :
Cognito Identity Credential ProviderLe@aws/credential-providerspackagefournit deux fonctions de fournisseur d'informations d'identification, dont l'une fromCognitoIdentityprend un identifiant d'identité et des appelscognitoIdentity:GetCredentialsForIdentity, tandis que l'autrefromCognitoIdentityPoolprend un identifiant de pool d'identités, appellecognitoIdentity:GetIdlors du premier appel, puis appelle.fromCognitoIdentityLes invocations ultérieures de ce dernier ne sont pas réinvoquées. GetIdLe fournisseur met en œuvre le « flux simplifié » décrit dans le guide du développeur Amazon Cognito. Le « flux classique » qui implique d'appeler
cognito:GetOpenIdTokenpuis d'appeler n'sts:AssumeRoleWithWebIdentityest pas pris en charge. Veuillez nous envoyer une demande de fonctionnalitési vous en avez besoin. // fromCognitoIdentityPool example import { fromCognitoIdentityPool } from "@aws-sdk/credential-providers"; // ES6 import // const { fromCognitoIdentityPool } = require("@aws-sdk/credential-providers"); // CommonJS import const client = new FooClient({ region: "us-east-1", credentials: fromCognitoIdentityPool({ clientConfig: cognitoIdentityClientConfig, // Optional identityPoolId: "us-east-1:1699ebc0-7900-4099-b910-2df94f52a030", customRoleArn: "arn:aws:iam::1234567890:role/MYAPP-CognitoIdentity", // Optional logins: { // Optional "graph.facebook.com": "FBTOKEN", "www.amazon.com": "AMAZONTOKEN", "api.twitter.com": "TWITTERTOKEN", }, }), });// fromCognitoIdentity example import { fromCognitoIdentity } from "@aws-sdk/credential-providers"; // ES6 import // const { fromCognitoIdentity } = require("@aws-sdk/credential-provider-cognito-identity"); // CommonJS import const client = new FooClient({ region: "us-east-1", credentials: fromCognitoIdentity({ clientConfig: cognitoIdentityClientConfig, // Optional identityId: "us-east-1:128d0a74-c82f-4553-916d-90053e4a8b0f", customRoleArn: "arn:aws:iam::1234567890:role/MYAPP-CognitoIdentity", // Optional logins: { // Optional "graph.facebook.com": "FBTOKEN", "www.amazon.com": "AMAZONTOKEN", "api.twitter.com": "TWITTERTOKEN", }, }), });
Identifiant Amazon EC2 Metadata (IMDS)
Représente les informations d'identification reçues du service de métadonnées sur une EC2 instance Amazon.
-
version 2 :
EC2MetadataCredentials -
version 3 :
fromInstanceMetadata. Crée un fournisseur d'informations d'identification qui fournira les informations d'identification auprès du service de métadonnées d' EC2 instance Amazon.import { fromInstanceMetadata } from "@aws-sdk/credential-providers"; // ES6 import // const { fromInstanceMetadata } = require("@aws-sdk/credential-providers"); // CommonJS import const client = new FooClient({ credentials: fromInstanceMetadata({ maxRetries: 3, // Optional timeout: 0, // Optional }), });
Informations d'identification Amazon ECS
Représente les informations d'identification reçues depuis l'URL spécifiée. Ce fournisseur demandera des informations d'identification temporaires à partir de l'URI spécifiée par la variable d'environnement AWS_CONTAINER_CREDENTIALS_RELATIVE_URI ou par la variable d'AWS_CONTAINER_CREDENTIALS_FULL_URIenvironnement.
-
v2 :
ECSCredentialsouRemoteCredentials -
version 3 :
fromContainerMetadata. Crée un fournisseur d'informations d'identification qui fournira les informations d'identification auprès du service de métadonnées de conteneur Amazon ECS.import { fromContainerMetadata } from "@aws-sdk/credential-providers"; // ES6 import const client = new FooClient({ credentials: fromContainerMetadata({ maxRetries: 3, // Optional timeout: 0, // Optional }), });
Informations d'identification du système de fichiers
-
v2 :
FileSystemCredentials. Représente les informations d'identification d'un fichier JSON sur le disque. -
v3 : Obsolète. Vous pouvez lire explicitement le fichier JSON et le fournir au client. Veuillez nous envoyer une demande de fonctionnalité
si vous en avez besoin.
Fournisseur d'informations d'identification SAML
-
v2 :
SAMLCredentialsreprésente les informations d'identification extraites du support STS SAML. -
v3 : Non disponible. Veuillez nous envoyer une demande de fonctionnalité
si vous en avez besoin.
Informations d'identification partagées Informations d'identification
Charge les informations d'identification à partir du fichier d'informations d'identification partagé (défini par défaut ~/.aws/credentials ou défini par la variable d'AWS_SHARED_CREDENTIALS_FILEenvironnement). Ce fichier est pris en charge par différents AWS SDKs outils. Vous pouvez consulter le document sur les fichiers de configuration et d'identification partagés pour plus d'informations.
-
version 2 :
SharedIniFileCredentials -
version 3 :
fromIniimport { fromIni } from "@aws-sdk/credential-providers"; // const { fromIni } from("@aws-sdk/credential-providers"); const client = new FooClient({ credentials: fromIni({ configFilepath: "~/.aws/config", // Optional filepath: "~/.aws/credentials", // Optional mfaCodeProvider: async (mfaSerial) => { // implement a pop-up asking for MFA code return "some_code"; }, // Optional profile: "default", // Optional clientConfig: { region }, // Optional }), });
Identifiants d'identité Web
Récupère les informations d'identification à l'aide d'un jeton OIDC à partir d'un fichier sur le disque. Couramment utilisé dans Amazon EKS.
-
version 2 :
TokenFileWebIdentityCredentials -
version 3 :
fromTokenFileimport { fromTokenFile } from "@aws-sdk/credential-providers"; // ES6 import // const { fromTokenFile } from("@aws-sdk/credential-providers"); // CommonJS import const client = new FooClient({ credentials: fromTokenFile({ // Optional. If skipped, read from `AWS_ROLE_ARN` environmental variable roleArn: "arn:xxxx", // Optional. If skipped, read from `AWS_ROLE_SESSION_NAME` environmental variable roleSessionName: "session:a", // Optional. STS client config to make the assume role request. clientConfig: { region }, }), });
Informations d'identification de la Fédération des identités Web
Récupère les informations d'identification auprès du support de fédération d'identité Web STS.
-
version 2 :
WebIdentityCredentials -
version 3 :
fromWebTokenimport { fromWebToken } from "@aws-sdk/credential-providers"; // ES6 import // const { fromWebToken } from("@aws-sdk/credential-providers"); // CommonJS import const client = new FooClient({ credentials: fromWebToken({ // Optional. If skipped, read from `AWS_ROLE_ARN` environmental variable roleArn: "arn:xxxx", // Optional. If skipped, read from `AWS_ROLE_SESSION_NAME` environmental variable roleSessionName: "session:a", // Optional. STS client config to make the assume role request. clientConfig: { region }, }), });