Panduan API Referensi AWS SDK for JavaScript V3 menjelaskan secara rinci semua API operasi untuk AWS SDK for JavaScript versi 3 (V3).
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyedia kredensi
Di v2, SDK untuk JavaScript menyediakan daftar penyedia kredensi untuk dipilih, serta rantai penyedia kredensial, tersedia secara default di Node.js, yang mencoba memuat AWS kredenal dari semua penyedia yang paling umum. SDK untuk JavaScript v3 menyederhanakan antarmuka penyedia kredensyal, membuatnya lebih mudah untuk menggunakan dan menulis penyedia kredensi khusus. Di atas rantai penyedia kredensyal baru, SDK untuk JavaScript v3 semuanya menyediakan daftar penyedia kredensyal yang bertujuan untuk menyediakan setara dengan v2.
Berikut adalah semua penyedia kredensyal di v2 dan padanannya di v3.
Penyedia Kredensyal Default
Penyedia kredensyal default adalah cara SDK untuk JavaScript menyelesaikan AWS kredensi jika Anda tidak memberikannya secara eksplisit.
-
v2: CredentialProviderChaindi Node.js menyelesaikan kredensi dari sumber sebagai berikut urutan:
Jika salah satu penyedia kredensi di atas gagal menyelesaikan AWS kredensi, rantai akan kembali ke penyedia berikutnya hingga kredensi yang valid diselesaikan, dan rantai akan menimbulkan kesalahan ketika semua penyedia gagal.
Di runtime Browser dan React Native, rantai kredensialnya kosong, dan kredensyal harus disetel secara eksplisit.
-
v3: DefaultProvider. Sumber kredensyal dan urutan fallback tidak berubah di v3. Ini juga mendukung AWS IAM Identity Center kredensyal.
Kredensial Sementara
-
v2:
ChainableTemporaryCredentials
mewakili kredensyal sementara yang diambil dari.AWS.STS
Tanpa parameter tambahan, kredensyal akan diambil dari operasi.AWS.STS.getSessionToken()
Jika peran IAM disediakan,AWS.STS.assumeRole()
operasi akan digunakan untuk mengambil kredensyal untuk peran sebagai gantinya.AWS.ChainableTemporaryCredentials
berbeda dariAWS.TemporaryCredentials
cara MasterCredentials dan refresh ditangani.AWS.ChainableTemporaryCredentials
menyegarkan kredensyal kedaluwarsa menggunakan MasterCredentials yang diteruskan oleh pengguna untuk mendukung rantai kredensyal STS. Namun,AWS.TemporaryCredentials
secara rekursif menciutkan MasterCredentials selama instantiation, menghalangi kemampuan untuk menyegarkan kredenal yang memerlukan kredensial sementara menengah.Asli
TemporaryCredentials
telah ditinggalkan demi di v2.ChainableTemporaryCredentials
-
v3:
fromTemporaryCredentials
. Anda dapat meneleponfromTemporaryCredentials()
dari@aws-sdk/credential-providers
paket. Inilah contohnya: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 }, }), });
Kredensyal Identitas Amazon Cognito
Muat kredensyal dari layanan Identitas Amazon Cognito, biasanya digunakan di browser.
-
v2:
CognitoIdentityCredentials
Merupakan kredensi yang diambil dari Federasi Identitas Web STS menggunakan layanan Identitas Amazon Cognito. -
v3:
Cognito Identity Credential Provider
@aws/credential-providers
Paketini menyediakan dua fungsi penyedia kredensi, salah satunya fromCognitoIdentity
mengambil ID identitas dan panggilancognitoIdentity:GetCredentialsForIdentity
, sementara yang lainfromCognitoIdentityPool
mengambil ID kumpulan identitas, panggilancognitoIdentity:GetId
pada pemanggilan pertama, dan kemudian panggilan.fromCognitoIdentity
Pemanggilan selanjutnya dari yang terakhir tidak dipanggil kembali. GetIdPenyedia mengimplementasikan “Aliran Sederhana” yang dijelaskan dalam Panduan Pengembang Amazon Cognito. “Aliran Klasik” yang melibatkan panggilan
cognito:GetOpenIdToken
dan kemudian panggilansts:AssumeRoleWithWebIdentity
tidak didukung. Silakan buka permintaan fiturkepada kami jika Anda membutuhkannya. // 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", }, }), });
Kredensyal Metadata EC2 (IMDS)
Merupakan kredensyal yang diterima dari layanan metadata pada instans Amazon EC2.
-
v3:
fromInstanceMetadata
: Membuat penyedia kredensyal yang akan mendapatkan kredensyal dari Layanan Metadata Instans 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 }), });
Kredensyal ECS
Merupakan kredensyal yang diterima dari URL tertentu. Penyedia ini akan meminta kredensyal sementara dari URI yang ditentukan oleh AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
atau variabel AWS_CONTAINER_CREDENTIALS_FULL_URI
lingkungan.
-
v2:
ECSCredentials
atauRemoteCredentials
. -
v3:
fromContainerMetadata
membuat penyedia kredensyal yang akan mendapatkan kredensyal dari 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 }), });
Kredensyal Sistem File
-
v2:
FileSystemCredentials
mewakili kredensyal dari file JSON pada disk. -
v3: Usang. Anda dapat secara eksplisit membaca file JSON dan memasok ke klien. Silakan buka permintaan fitur
kepada kami jika Anda membutuhkannya.
Penyedia Kredensi SALL
-
v2:
SAMLCredentials
mewakili kredensyal yang diambil dari dukungan STS SALL. -
v3: Tidak tersedia. Silakan buka permintaan fitur
kepada kami jika Anda membutuhkannya.
Kredensyal Berkas Kredensyal Bersama
Memuat kredensyal dari file kredensyal bersama (default ke ~/.aws/credentials
atau ditentukan oleh variabel lingkungan). AWS_SHARED_CREDENTIALS_FILE
File ini didukung di berbagai AWS SDK dan alat. Anda dapat merujuk ke dokumen file konfigurasi dan kredensial bersama untuk informasi selengkapnya.
-
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 }), });
Kredensyal Identitas Web
Mengambil kredensyal menggunakan token OIDC dari file pada disk. Ini biasanya digunakan di EKS.
-
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 }, }), });
Kredensyal Federasi Identitas Web
Mengambil kredensyal dari dukungan federasi identitas web STS.
-
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 }, }), });