O Guia de referência da API do AWS SDK for JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK for JavaScript versão 3 (V3).
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Provedores de credenciais
Na v2, o SDK para JavaScript fornece uma lista de provedores de credenciais, bem como uma cadeia de fornecedores de credenciais, disponível por padrão no Node.js, que tenta carregar as credenciais da AWS de todos os provedores mais comuns. O SDK para JavaScript v3 simplifica a interface do provedor de credenciais, facilitando o uso e a criação de provedores de credenciais personalizados. Além de uma nova cadeia de provedores de credenciais, o SDK para JavaScript v3 fornece uma lista de provedores de credenciais equivalente à da v2.
Aqui estão todos os provedores de credenciais na v2 e seus equivalentes na v3.
Provedor de credenciais padrão
O provedor de credenciais padrão é como o SDK para JavaScript resolve a credencial da AWS se você não fornecer uma explicitamente.
-
v2: CredentialProviderChain no Node.js resolve a credencial das fontes na seguinte ordem:
Se um dos provedores de credenciais acima não conseguir resolver a credencial da AWS, a cadeia voltará para o próximo provedor até que uma credencial válida seja resolvida, e a cadeia gerará um erro quando todos os provedores falharem.
Nos runtimes do Browser e do React Native, a cadeia de credenciais está vazia e as credenciais devem ser definidas explicitamente.
-
v3: defaultProvider. As fontes de credenciais e a ordem de fallback não mudam na v3. Também oferece suporte a credenciais do Centro de Identidade do AWS IAM.
Credenciais temporárias
-
v2:
ChainableTemporaryCredentialsrepresenta credenciais temporárias recuperadas doAWS.STS. Sem nenhum parâmetro extra, as credenciais serão obtidas da operaçãoAWS.STS.getSessionToken(). Se um perfil do IAM for fornecido, a operaçãoAWS.STS.assumeRole()será usada para buscar credenciais para o perfil.AWS.ChainableTemporaryCredentialsdifere deAWS.TemporaryCredentialsem como as masterCredentials e as atualizações são tratadas.AWS.ChainableTemporaryCredentialsatualiza as credenciais expiradas usando as masterCredentials passadas pelo usuário para oferecer suporte ao encadeamento de credenciais STS. No entanto,AWS.TemporaryCredentialsreduz recursivamente as masterCredentials durante a instanciação, impedindo a capacidade de atualizar credenciais que exigem credenciais intermediárias temporárias.O
TemporaryCredentialsoriginal foi substituído porChainableTemporaryCredentialsna v2. -
v3:
fromTemporaryCredentials. Você pode chamarfromTemporaryCredentials()do pacote@aws-sdk/credential-providers. Veja um exemplo abaixo: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 }, }), });
Credenciais de identidade do Amazon Cognito
Carregue credenciais do serviço de identidades do Amazon Cognito, normalmente usado em navegadores.
-
v2:
CognitoIdentityCredentialsrepresenta as credenciais recuperadas da federação de identidades do STS Web usando o serviço de identidades do Amazon Cognito. -
v3:
Cognito Identity Credential ProviderO pacote@aws/credential-providersfornece duas funções de provedor de credenciais, uma das quais fromCognitoIdentityrecebe um ID de identidade e chamacognitoIdentity:GetCredentialsForIdentity, enquanto a outrafromCognitoIdentityPoolrecebe um ID de banco de identidades, chamacognitoIdentity:GetIdna primeira invocação e, em seguida, chamafromCognitoIdentity. As invocações subsequentes da última não invocam novamente o GetId.O provedor implementa o “Fluxo simplificado” descrito no Guia do Desenvolvedor do Amazon Cognito. O “Classic Flow”, que envolve chamar
cognito:GetOpenIdTokene depois chamarsts:AssumeRoleWithWebIdentity, não é compatível. Abra uma solicitação de recurso, se precisar. // 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", }, }), });
Credencial de metadados do Amazon EC2 (IMDS)
Representa credenciais recebidas do serviço de metadados de uma instância do Amazon EC2.
-
v3:
fromInstanceMetadata. Cria um provedor de credenciais que pegará credenciais do serviço de metadados da instância do Amazon EC2.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 }), });
Credenciais do Amazon ECS
Representa as credenciais recebidas do URL especificado. Esse provedor solicitará credenciais temporárias do URI especificado por AWS_CONTAINER_CREDENTIALS_RELATIVE_URI ou pela variável de ambiente AWS_CONTAINER_CREDENTIALS_FULL_URI.
-
v2:
ECSCredentialsouRemoteCredentials -
v3:
fromContainerMetadata. Cria um provedor de credenciais que pegará credenciais do serviço de metadados do contêiner do Amazon ECS.import { fromContainerMetadata } from "@aws-sdk/credential-providers"; // ES6 import const client = new FooClient({ credentials: fromContainerMetadata({ maxRetries: 3, // Optional timeout: 0, // Optional }), });
Credenciais do sistema de arquivos
-
v2:
FileSystemCredentials. Representa credenciais de um arquivo JSON no disco. -
v3: obsoleto. Você pode ler explicitamente o arquivo JSON e fornecer ao cliente. Abra uma solicitação de recurso
, se precisar.
Provedor de credenciais SAML
-
v2:
SAMLCredentialsrepresenta as credenciais recuperadas do suporte ao STS SAML. -
v3: não disponível. Abra uma solicitação de recurso
, se precisar.
Credenciais do arquivo de credenciais compartilhadas
Carrega as credenciais do arquivo de credenciais compartilhadas (usando ~/.aws/credentials como padrão ou definido pela variável de ambiente AWS_SHARED_CREDENTIALS_FILE). Esse arquivo é compatível com diferentes SDKs e ferramentas da AWS. Você pode consultar o documento de arquivos de configuração e credenciais compartilhadas para obter mais informações.
-
v3:
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 }), });
Credenciais de identidade na web
Recupera credenciais usando o token OIDC de um arquivo no disco. Comumente usado no Amazon EKS.
-
v3:
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 }, }), });
Credenciais de federação de identidades web
Recupera credenciais do suporte da federação de identidade web do STS.
-
v3:
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 }, }), });