Jika Anda memiliki kredensial sementara STS, Anda dapat mengonfigurasikannya di Alibaba Cloud CLI menggunakan mode StsToken. Dalam mode ini, CLI menggunakan kredensial yang diberikan secara langsung dan tidak memperbaruinya secara otomatis. Setelah kredensial kedaluwarsa, Anda harus memperoleh kredensial baru dan menimpa konfigurasi sebelumnya.
Prasyarat
Alibaba Cloud CLI versi
3.3.0atau lebih baru. Jalankan perintahaliyun versionuntuk memeriksa versi saat ini. Jika versi Anda lebih lama dari3.3.0, lihat Install/Update CLI untuk melakukan pemutakhiran.Anda telah memperoleh kredensial sementara STS yang valid dengan memanggil AssumeRole API atau melalui metode lainnya. Kredensial tersebut mencakup hal-hal berikut:
ID AccessKey, yang biasanya diawali dengan
STS.AccessKey Secret
security token
Catat waktu kedaluwarsa kredensial tersebut. Kredensial keamanan sementara umumnya kedaluwarsa dalam rentang 15 menit hingga 1 jam, tergantung pada periode validitas (
DurationSeconds) yang ditetapkan saat token STS diperoleh.
Konfigurasi kredensial
Anda dapat mengonfigurasi kredensial sementara untuk Alibaba Cloud CLI baik secara interaktif maupun non-interaktif.
Konfigurasi interaktif
Jalankan perintah berikut untuk memulai konfigurasi. Ganti
<ProfileName>dengan nama profil kustom, misalnyaStsProfile.aliyun configure --mode StsToken --profile <ProfileName>Masukkan informasi kredensial Anda saat diminta:
Configuring profile 'StsProfile' in 'StsToken' authenticate mode... Access Key Id []: STS.NUr5xxxxx Access Key Secret []: 7Bshxxxxx Sts Token []: CAISxxxxxxxxxxxxxxxx... Default Region Id []: cn-hangzhou Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[StsProfile] ...Done.Saat terminal menampilkan pesan
Saving profile[...] ...Done.beserta pesan selamat datang, konfigurasi telah selesai.
Konfigurasi non-interaktif
Contoh perintah:
Bash
aliyun configure set \
--profile StsProfile \
--mode StsToken \
--access-key-id STS.NUr5xxxxx \
--access-key-secret 7Bshxxxxx \
--sts-token CAISxxxxxxxxxxxxxxxx... \
--region cn-shanghaiPowerShell
aliyun configure set `
--profile StsProfile `
--mode StsToken `
--access-key-id STS.NUr5xxxxx `
--access-key-secret 7Bshxxxxx `
--sts-token CAISxxxxxxxxxxxxxxxx... `
--region cn-shanghaiSetelah konfigurasi berhasil, profil tersebut secara otomatis menjadi profil aktif. Untuk beralih ke profil lain, jalankan perintah aliyun configure switch --profile <ProfileName>.
Verifikasi konfigurasi
Setelah menyelesaikan konfigurasi, jalankan perintah berikut untuk memverifikasi kredensial:
aliyun sts get-caller-identityOutput-nya mirip seperti berikut. Bidang Arn menampilkan nama Peran RAM dan nama sesi peran yang terkait dengan token STS saat ini.
{
"AccountId": "191317683912****",
"Arn": "acs:sts::191317683912****:assumed-role/<RoleName>/<RoleSessionName>",
"IdentityType": "AssumedRoleUser",
"PrincipalId": "30004467717606****:<RoleSessionName>",
"RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
"RoleId": "30004467717606****"
}Pembaruan kredensial
Kredensial sementara STS tidak diperbarui secara otomatis. Setelah kredensial kedaluwarsa, menjalankan perintah CLI apa pun akan menghasilkan error berikut:
Error: request execution failed: request execution failed: SDKError:
StatusCode: 400
Code: InvalidSecurityToken.Expired
Message: code: 400, Specified SecurityToken is expired. request id: 9C518A52-BE37-570A-8E1A-0DD559BC****
Data: {"Code":"InvalidSecurityToken.Expired", ...}Setelah memperoleh kredensial sementara baru, jalankan kembali perintah konfigurasi. Untuk mengaktifkan pembaruan kredensial otomatis, kami menyarankan menggunakan jenis kredensial RamRoleArn atau EcsRamRole sebagai gantinya.
Hapus kredensial
Untuk menghapus kredensial StsToken dari konfigurasi CLI lokal Anda, jalankan perintah berikut:
aliyun configure delete --profile <ProfileName>FAQ
Memperbarui token STS yang kedaluwarsa
Tidak. Anda dapat menjalankan perintah aliyun configure set dengan nama profil yang sama untuk menimpa profil yang ada. Tindakan ini mengganti nilai kredensial lama tanpa prompt konfirmasi.
Menggunakan variabel lingkungan
CLI memberikan prioritas pada kredensial dari profil konfigurasi. Jika profil telah dikonfigurasi tetapi nilainya tidak lengkap, CLI secara otomatis menggunakan variabel lingkungan yang sesuai untuk melengkapi nilai yang hilang.
export ALIBABA_CLOUD_ACCESS_KEY_ID="STS.xxx"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="tempSecret"
export ALIBABA_CLOUD_SECURITY_TOKEN="token-string"