Anbieter von Anmeldeinformationen - AWS SDK for JavaScript

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.

Temporäre Anmeldeinformationen

  • v2: ChainableTemporaryCredentialssteht für temporäre Anmeldeinformationen, die von abgerufen wurdenAWS.STS. Ohne zusätzliche Parameter werden die Anmeldeinformationen aus dem AWS.STS.getSessionToken() Vorgang abgerufen. Wenn eine IAM-Rolle bereitgestellt wird, wird der AWS.STS.assumeRole() Vorgang stattdessen verwendet, um Anmeldeinformationen für die Rolle abzurufen. AWS.ChainableTemporaryCredentialsunterscheidet sich von AWS.TemporaryCredentials der Art und Weise, wie MasterCredentials und Aktualisierungen behandelt werden. AWS.ChainableTemporaryCredentialsaktualisiert abgelaufene Anmeldeinformationen mithilfe der vom Benutzer übergebenen MasterCredentials, um die Verkettung von STS-Anmeldeinformationen zu unterstützen. Reduziert jedoch die MasterCredentials während der Instanziierung AWS.TemporaryCredentials rekursiv, sodass Anmeldeinformationen, für die temporäre Anmeldeinformationen erforderlich sind, nicht aktualisiert werden können.

    Das Original TemporaryCredentialswurde in Version 2 zugunsten von veraltet. ChainableTemporaryCredentials

  • v3:. fromTemporaryCredentials Sie können vom @aws-sdk/credential-providers Paket fromTemporaryCredentials() 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: CognitoIdentityCredentialsStellt Anmeldeinformationen dar, die mithilfe des Amazon Cognito Identity Service von STS Web Identity Federation abgerufen wurden.

  • v3: Cognito Identity Credential ProviderDas @aws/credential-providersPaket stellt zwei Funktionen des Anmeldeinformationsanbieters bereit, von denen fromCognitoIdentityeine eine Identitäts-ID und Aufrufe fromCognitoIdentityPoolentgegennimmtcognitoIdentity:GetCredentialsForIdentity, während die andere eine Identitätspool-ID verwendet, beim ersten Aufruf cognitoIdentity:GetId aufruft und dann aufruft. fromCognitoIdentity Nachfolgende Aufrufe des letzteren werden nicht erneut aufgerufen. GetId

    Der Anbieter implementiert den im Amazon Cognito Developer Guide beschriebenen „Simplified Flow“. Der „Classic Flow“, bei dem zuerst angerufen cognito:GetOpenIdToken und dann angerufen sts: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.

  • v2: EC2MetadataCredentials

  • 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 oder RemoteCredentials.

  • v3: fromContainerMetadataerstellt 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: FileSystemCredentialssteht 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: SAMLCredentialssteht 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.

  • v2: SharedIniFileCredentials

  • 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.

  • v2: TokenFileWebIdentityCredentials.

  • 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.

  • v2: WebIdentityCredentials

  • 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 }, }), });