添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如果上述其中一個登入資料提供者無法解析 AWS 登入資料,則鏈結會回到下一個提供者,直到有效登入資料解析為止,而且當所有提供者都失敗時,鏈結會擲回錯誤。

在瀏覽器和 React Native 執行時間中,登入資料鏈是空的,而且登入資料必須明確設定。

v3 defaultProvider 。登入資料來源和備用順序 在 v3 中不會 變更。它也支援 AWS IAM Identity Center 登入 資料。

暫時登入資料

v2 ChainableTemporaryCredentials 代表從 擷取的臨時登入資料 AWS.STS 。如果沒有任何額外的參數,將從 AWS.STS.getSessionToken() 操作擷取登入資料。如果提供 IAM 角色,則會改用 AWS.STS.assumeRole() 操作來擷取角色的登入資料。 與 masterCredentials 和重新整理的處理 AWS.TemporaryCredentials 方式 AWS.ChainableTemporaryCredentials 不同。 會使用使用者傳遞的 masterCredentials AWS.ChainableTemporaryCredentials 重新整理過期的登入資料,以支援 STS 登入資料鏈結。不過, 會在執行個體化期間 AWS.TemporaryCredentials 遞迴收合 masterCredentials,導致無法重新整理需要中繼、暫時登入資料的登入資料。

原始 TemporaryCredentials 已在 v2 ChainableTemporaryCredentials 取代 為 。

v3 fromTemporaryCredentials 。您可以從 fromTemporaryCredentials() @aws-sdk/credential-providers 套件呼叫 。範例如下:

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 身分登入資料

從 Amazon Cognito Identity 服務載入登入資料,通常用於瀏覽器。

v2CognitoIdentityCredentials代表使用 Amazon Cognito Identity 服務從 STS Web Identity Federation 擷取的憑證。

v3Cognito Identity Credential Provider @aws/credential-providers套件提供兩個登入資料提供者函數,其中一個fromCognitoIdentity會取得身分 ID 並呼叫 cognitoIdentity:GetCredentialsForIdentity,另一個fromCognitoIdentityPool則會取得身分集區 ID、第一次呼叫cognitoIdentity:GetId時的呼叫,然後呼叫 fromCognitoIdentity。後者的後續調用不會重新調用 GetId。

供應商實作 Amazon Cognito 開發人員指南中所述的「簡化流程」。sts:AssumeRoleWithWebIdentity 不支援涉及呼叫 cognito:GetOpenIdToken 和呼叫 的「傳統流程」。如果您需要,請向我們開啟功能請求

// 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",

EC2 中繼資料 (IMDS) 登入資料

代表從 Amazon EC2 執行個體上的中繼資料服務收到的憑證。

v2EC2MetadataCredentials

v3fromInstanceMetadata:建立登入資料提供者,從 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

ECS 登入資料

代表從指定 URL 收到的登入資料。此提供者會從 AWS_CONTAINER_CREDENTIALS_RELATIVE_URIAWS_CONTAINER_CREDENTIALS_FULL_URI環境變數指定的 URI 請求臨時登入資料。

v2ECSCredentialsRemoteCredentials

v3fromContainerMetadata會建立登入資料提供者,從 Amazon ECS 容器中繼資料服務取得登入資料。

import { fromContainerMetadata } from "@aws-sdk/credential-providers"; // ES6 import const client = new FooClient({ credentials: fromContainerMetadata({ maxRetries: 3, // Optional timeout: 0, // Optional

檔案系統登入資料

v2FileSystemCredentials 代表來自磁碟上 JSON 檔案的登入資料。

v3已棄用。您可以明確讀取 JSON 檔案並提供給用戶端。如果您需要,請向我們開啟功能請求

SAML 登入資料提供者

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

Web 身分登入資料

使用 OIDC 字符從磁碟上的檔案擷取登入資料。常用於 EKS。

v3fromTokenFile

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 },

Web 聯合身分登入資料

從 STS Web 聯合身分支援擷取憑證。

v3fromWebToken

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.