O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para 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 para escolher, bem como uma cadeia de fornecedores de credenciais, disponível por padrão no Node.js, que tenta carregar AWS as credenciais 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 fornecedores de credenciais, o SDK para JavaScript v3 fornece uma lista de provedores de credenciais com o objetivo de fornecer o equivalente à 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 JavaScript resolve a AWS credencial se você não fornecer uma explicitamente.
-
v2: CredentialProviderChainem Node.js resolve a credencial das fontes na seguinte ordem:
Se um dos provedores de credenciais acima não conseguir resolver a AWS credencial, 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 tempos de execução 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. Ele também oferece suporte a AWS IAM Identity Center credenciais.
Credenciais temporárias
-
v2:
ChainableTemporaryCredentialsrepresenta credenciais temporárias recuperadas de.AWS.STSSem nenhum parâmetro extra, as credenciais serão obtidas daAWS.STS.getSessionToken()operação. Se uma função do IAM for fornecida, aAWS.STS.assumeRole()operação será usada para buscar credenciais para a função.AWS.ChainableTemporaryCredentialsdifere daAWS.TemporaryCredentialsforma como as MasterCredentials e as atualizações são tratadas.AWS.ChainableTemporaryCredentialsatualiza as credenciais expiradas usando as MasterCredentials passadas pelo usuário para suportar o encadeamento de credenciais STS. No entanto, reduzAWS.TemporaryCredentialsrecursivamente as MasterCredentials durante a instanciação, impedindo a capacidade de atualizar credenciais que exigem credenciais intermediárias temporárias.O original
TemporaryCredentialsfoi descontinuado em favor doChainableTemporaryCredentialsv2. -
v3:
fromTemporaryCredentials. Você pode ligarfromTemporaryCredentials()do@aws-sdk/credential-providerspacote. 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 Amazon Cognito Identity, normalmente usado em navegadores.
-
v2:
CognitoIdentityCredentialsrepresenta as credenciais recuperadas da STS Web Identity Federation usando o serviço Amazon Cognito Identity. -
v3:
Cognito Identity Credential ProviderO@aws/credential-providerspacotefornece duas funções de provedor de credenciais, uma das quais fromCognitoIdentityrecebe uma ID de identidade e chamadascognitoIdentity:GetCredentialsForIdentity, enquanto a outrafromCognitoIdentityPoolrecebe uma ID de grupo de identidades, chama a primeira invocação e,cognitoIdentity:GetIdem seguida, chama.fromCognitoIdentityAs invocações subsequentes deste último não são invocadas novamente. GetIdO provedor implementa o “Fluxo simplificado” descrito no Guia do Desenvolvedor do Amazon Cognito. O “Classic Flow”, que envolve chamadas
cognito:GetOpenIdTokene depois chamadas, nãosts:AssumeRoleWithWebIdentityé suportado. Abra uma solicitação de recursopara nós, 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 EC2 metadados da Amazon (IMDS)
Representa as credenciais recebidas do serviço de metadados em uma instância da Amazon EC2 .
-
v3:
fromInstanceMetadata. Cria um provedor de credenciais que fornecerá as credenciais do Amazon EC2 Instance Metadata Service.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 pela AWS_CONTAINER_CREDENTIALS_RELATIVE_URI ou pela variável de AWS_CONTAINER_CREDENTIALS_FULL_URI ambiente.
-
v2:
ECSCredentialsouRemoteCredentials -
v3:
fromContainerMetadata. Cria um provedor de credenciais que fornecerá as credenciais do Amazon ECS Container Metadata Service.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 as 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
para nós, 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
para nós, se precisar.
Credenciais do arquivo de credencial compartilhado
Carrega as credenciais do arquivo de credenciais compartilhado (usando como padrão ~/.aws/credentials ou definido pela variável de ambiente). AWS_SHARED_CREDENTIALS_FILE Esse arquivo é compatível com diferentes AWS SDKs ferramentas. Você pode consultar o documento de arquivos de configuração e credenciais compartilhados 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 as 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 da Web Identity Federation
Recupera credenciais do suporte da federação de identidade web 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 }, }), });