Panduan Referensi API AWS SDK for JavaScript V3 menjelaskan secara rinci semua operasi API 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 kredensi, membuatnya lebih mudah untuk menggunakan dan menulis penyedia kredensi khusus. Di atas rantai penyedia kredensi baru, SDK untuk JavaScript v3 semuanya menyediakan daftar penyedia kredensi yang bertujuan untuk menyediakan setara dengan v2.
Berikut adalah semua penyedia kredensyal di v2 dan padanannya di v3.
Penyedia Kredensyal Default
Penyedia kredensi 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:
ChainableTemporaryCredentialsmewakili kredensyal sementara yang diambil dari.AWS.STSTanpa 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.ChainableTemporaryCredentialsberbeda dariAWS.TemporaryCredentialscara MasterCredentials dan refresh ditangani.AWS.ChainableTemporaryCredentialsmenyegarkan kredensyal kedaluwarsa menggunakan MasterCredentials yang diteruskan oleh pengguna untuk mendukung rantai kredensyal STS. Namun,AWS.TemporaryCredentialssecara rekursif menciutkan MasterCredentials selama instantiation, menghalangi kemampuan untuk menyegarkan kredenal yang memerlukan kredensial sementara menengah.Asli
TemporaryCredentialstelah tidak digunakan lagi demi di v2.ChainableTemporaryCredentials -
v3:
fromTemporaryCredentials. Anda dapat meneleponfromTemporaryCredentials()dari@aws-sdk/credential-providerspaket. 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:
CognitoIdentityCredentialsMerupakan kredensi yang diambil dari Federasi Identitas Web STS menggunakan layanan Identitas Amazon Cognito. -
v3:
Cognito Identity Credential Provider@aws/credential-providersPaketini menyediakan dua fungsi penyedia kredensi, salah satunya fromCognitoIdentitymengambil ID identitas dan panggilancognitoIdentity:GetCredentialsForIdentity, sementara yang lainfromCognitoIdentityPoolmengambil ID kumpulan identitas, panggilancognitoIdentity:GetIdpada pemanggilan pertama, dan kemudian panggilan.fromCognitoIdentityPemanggilan selanjutnya dari yang terakhir tidak dipanggil kembali. GetIdPenyedia mengimplementasikan “Aliran Sederhana” yang dijelaskan dalam Panduan Pengembang Amazon Cognito. “Aliran Klasik” yang melibatkan panggilan
cognito:GetOpenIdTokendan kemudian panggilansts:AssumeRoleWithWebIdentitytidak 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", }, }), });
EC2 Kredensyal Metadata Amazon (IMDS)
Merupakan kredensyal yang diterima dari layanan metadata pada instans Amazon. EC2
-
v3:
fromInstanceMetadata. Membuat penyedia kredensyal yang akan mendapatkan kredensyal dari 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 }), });
Kredensyal Amazon 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:
ECSCredentialsatauRemoteCredentials -
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. Merupakan 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:
SAMLCredentialsMerupakan 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 alat AWS SDKs dan. Anda dapat merujuk ke dokumen file konfigurasi dan kredensial bersama untuk informasi selengkapnya.
-
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 }), });
Kredensyal Identitas Web
Mengambil kredensyal menggunakan token OIDC dari file pada disk. Biasa digunakan di 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 }, }), });
Kredensyal Federasi Identitas Web
Mengambil kredensyal dari dukungan federasi identitas 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 }, }), });