Das AWS SDK for JavaScript APIV3-Referenzhandbuch beschreibt detailliert alle API Operationen für die AWS SDK for JavaScript Version 3 (V3).
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Anbieter von Anmeldeinformationen
In Version 2 JavaScript stellt das SDK für eine Liste von Anmeldeinformationsanbietern zur Auswahl sowie eine Anbieterkette für Anmeldeinformationen bereit, die standardmäßig auf Node.js verfügbar ist und versucht, die AWS Anmeldeinformationen von allen gängigen Anbietern zu laden. Das SDK für JavaScript Version 3 vereinfacht die Benutzeroberfläche des Anmeldeinformationsanbieters und macht es einfacher, benutzerdefinierte Anbieter für Anmeldeinformationen zu verwenden und zu schreiben. Zusätzlich zu einer neuen Anbieterkette für Anmeldeinformationen bietet das SDK für JavaScript Version 3 eine Liste von Anbietern von Anmeldeinformationen, die ein Äquivalent zu Version 2 anbieten sollen.
Hier sind alle Anbieter von Anmeldeinformationen in Version 2 und ihre Entsprechungen in Version 3.
Standardanbieter für Anmeldeinformationen
Der Standardanbieter für Anmeldeinformationen ist die Art und Weise, wie das SDK die AWS Anmeldeinformationen JavaScript auflöst, wenn Sie keinen explizit angeben.
-
v2: CredentialProviderChainIn Node.js werden Anmeldeinformationen aus Quellen in der folgenden Reihenfolge aufgelöst:
Wenn einer der oben genannten Anmeldeinformationsanbieter die AWS Anmeldeinformationen nicht auflösen kann, greift die Kette auf den nächsten Anbieter zurück, bis ein gültiger Berechtigungsnachweis aufgelöst ist, und die Kette gibt einen Fehler aus, wenn alle Anbieter ausfallen.
In Browser- und React Native-Laufzeiten ist die Anmeldeinformationskette leer und die Anmeldeinformationen müssen explizit festgelegt werden.
-
v3: defaultProvider. Die Quellen der Anmeldeinformationen und die Reihenfolge der Fallbacks ändern sich in Version 3 nicht. Es unterstützt AWS IAM Identity Center auch Anmeldeinformationen.
Temporäre Anmeldeinformationen
-
v2:
ChainableTemporaryCredentials
steht für temporäre Anmeldeinformationen, die von abgerufen wurdenAWS.STS
. Ohne zusätzliche Parameter werden die Anmeldeinformationen aus demAWS.STS.getSessionToken()
Vorgang abgerufen. Wenn eine IAM-Rolle bereitgestellt wird, wird derAWS.STS.assumeRole()
Vorgang stattdessen verwendet, um Anmeldeinformationen für die Rolle abzurufen.AWS.ChainableTemporaryCredentials
unterscheidet sich vonAWS.TemporaryCredentials
der Art und Weise, wie MasterCredentials und Aktualisierungen behandelt werden.AWS.ChainableTemporaryCredentials
aktualisiert abgelaufene Anmeldeinformationen mithilfe der vom Benutzer übergebenen MasterCredentials, um die Verkettung von STS-Anmeldeinformationen zu unterstützen. Reduziert jedoch die MasterCredentials während der InstanziierungAWS.TemporaryCredentials
rekursiv, sodass Anmeldeinformationen, für die temporäre Anmeldeinformationen erforderlich sind, nicht aktualisiert werden können.Das Original
TemporaryCredentials
wurde in Version 2 zugunsten von veraltet.ChainableTemporaryCredentials
-
v3:.
fromTemporaryCredentials
Sie können vom@aws-sdk/credential-providers
PaketfromTemporaryCredentials()
aus anrufen. Ein Beispiel: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 }, }), });
Amazon Cognito Cognito-Identitätsanmeldedaten
Laden Sie Anmeldeinformationen aus dem Amazon Cognito Identity Service, der normalerweise in Browsern verwendet wird.
-
v2:
CognitoIdentityCredentials
Stellt Anmeldeinformationen dar, die mithilfe des Amazon Cognito Identity Service von STS Web Identity Federation abgerufen wurden. -
v3:
Cognito Identity Credential Provider
Das@aws/credential-providers
Paketstellt zwei Funktionen des Anmeldeinformationsanbieters bereit, von denen fromCognitoIdentity
eine eine Identitäts-ID und AufrufefromCognitoIdentityPool
entgegennimmtcognitoIdentity:GetCredentialsForIdentity
, während die andere eine Identitätspool-ID verwendet, beim ersten AufrufcognitoIdentity:GetId
aufruft und dann aufruft.fromCognitoIdentity
Nachfolgende Aufrufe des letzteren werden nicht erneut aufgerufen. GetIdDer Anbieter implementiert den im Amazon Cognito Developer Guide beschriebenen „Simplified Flow“. Der „Classic Flow“, bei dem zuerst angerufen
cognito:GetOpenIdToken
und dann angerufensts:AssumeRoleWithWebIdentity
wird, wird nicht unterstützt. Bitte senden Sie uns eine Funktionsanfrage, falls Sie diese benötigen. // 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", }, }), });
Anmeldeinformationen für EC2-Metadaten (IMDS)
Stellt Anmeldeinformationen dar, die vom Metadaten-Service auf einer Amazon EC2 EC2-Instance empfangen wurden.
-
v3:
fromInstanceMetadata
: Erstellt einen Anmeldeinformationsanbieter, der Anmeldeinformationen aus dem Amazon EC2 Instance Metadata Service bezieht.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 }), });
ECS-Anmeldeinformationen
Stellt Anmeldeinformationen dar, die von einer angegebenen URL empfangen wurden. Dieser Anbieter fordert temporäre Anmeldeinformationen von einer URI an, die in der AWS_CONTAINER_CREDENTIALS_FULL_URI
Umgebungsvariablen AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
oder angegeben ist.
-
v2:
ECSCredentials
oderRemoteCredentials
. -
v3:
fromContainerMetadata
erstellt einen Anmeldeinformationsanbieter, der Anmeldeinformationen vom Amazon ECS Container Metadata Service bezieht.import { fromContainerMetadata } from "@aws-sdk/credential-providers"; // ES6 import const client = new FooClient({ credentials: fromContainerMetadata({ maxRetries: 3, // Optional timeout: 0, // Optional }), });
Anmeldeinformationen für das Dateisystem
-
v2:
FileSystemCredentials
steht für Anmeldeinformationen aus einer JSON-Datei auf der Festplatte. -
v3: Veraltet. Sie können die JSON-Datei explizit lesen und sie dem Client zur Verfügung stellen. Bitte senden Sie uns eine Funktionsanfrage
, falls Sie diese benötigen.
Anbieter von SAML-Anmeldeinformationen
-
v2:
SAMLCredentials
steht für Anmeldeinformationen, die von der STS-SAML-Unterstützung abgerufen wurden. -
v3: Nicht verfügbar. Bitte senden Sie uns eine Funktionsanfrage
, falls Sie diese benötigen.
Anmeldeinformationen für die gemeinsame Anmeldeinformationsdatei
Lädt Anmeldeinformationen aus der Datei mit gemeinsam genutzten Anmeldeinformationen (standardmäßig ~/.aws/credentials
oder definiert durch die AWS_SHARED_CREDENTIALS_FILE
Umgebungsvariable). Diese Datei wird von verschiedenen AWS SDKs und Tools unterstützt. Weitere Informationen finden Sie im Dokument mit den gemeinsam genutzten Konfigurations- und Anmeldedaten.
-
v3:
fromIni
.import { 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 }), });
Anmeldeinformationen für die Web-Identität
Ruft Anmeldeinformationen mithilfe des OIDC-Tokens aus einer Datei auf der Festplatte ab. Es wird häufig in EKS verwendet.
-
v3:
fromTokenFile
import { 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 }, }), });
Anmeldeinformationen für Web Identity Federation
Ruft Anmeldeinformationen von der STS-Unterstützung für Web Identity Federation ab.
-
v3:
fromWebToken
import { 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 }, }), });