Saat menjalankan Alibaba Cloud CLI pada instans ECS atau instans ECI, Anda dapat melakukan autentikasi menggunakan tipe kredensial EcsRamRole. CLI secara otomatis mengambil kredensial keamanan sementara (token STS) dari Instance Metadata Service (IMDS) untuk peran RAM yang ditetapkan pada instans tersebut—tanpa memerlukan pasangan Kunci Akses. Metode ini merupakan pendekatan autentikasi yang direkomendasikan untuk beban kerja yang berjalan di instans Alibaba Cloud.
Prasyarat
-
Alibaba Cloud CLI versi
3.3.0atau lebih baru. Jalankanaliyun versionuntuk memeriksa versi Anda. Untuk pembaruan, lihat Install or update the Alibaba Cloud CLI. -
CLI harus diinstal pada instans ECS atau instans ECI. Lingkungan pengembangan lokal tidak mendukung tipe kredensial ini.
-
Peran RAM dengan izin yang diperlukan telah ditetapkan pada instans. Untuk petunjuknya, lihat Create a RAM role and grant it to an ECS instance dan Grant an instance RAM role to an ECI instance.
Konfigurasi kredensial
Konfigurasi interaktif
-
Jalankan perintah berikut. Ganti
<ProfileName>dengan nama profil, misalnyaEcsProfile.aliyun configure --mode EcsRamRole --profile <ProfileName> -
Masukkan informasi yang diminta pada setiap prompt:
Configuring profile 'EcsProfile' in 'EcsRamRole' authenticate mode... Ecs Ram Role []: ecs-role-name Default Region Id []: cn-shanghai Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[EcsProfile] ...Done.Untuk daftar ID wilayah yang tersedia, lihat Regions and availability zones. Jika layanan cloud tidak mendukung akses lintas wilayah, atur wilayah default ke wilayah tempat sumber daya Anda dideploy.
-
Saat terminal menampilkan
Configure Donebeserta pesan selamat datang, konfigurasi telah selesai.
Konfigurasi non-interaktif
Bash
aliyun configure set \
--profile EcsProfile \
--mode EcsRamRole \
--ram-role-name ECSAdmin \
--region cn-hangzhou
PowerShell
aliyun configure set `
--profile EcsProfile `
--mode EcsRamRole `
--ram-role-name ECSAdmin `
--region cn-hangzhou
Setelah profil dikonfigurasi, profil tersebut secara otomatis menjadi profil aktif. Untuk beralih ke profil lain, jalankan perintah aliyun configure switch --profile <ProfileName>.
Verifikasi kredensial
Jalankan perintah berikut untuk memverifikasi bahwa kredensial berfungsi:
aliyun sts get-caller-identity
Jika kredensial dikonfigurasi dengan benar, output akan mencantumkan nama peran RAM pada bidang Arn:
{
"AccountId": "191317683912****",
"Arn": "acs:ram::191317683912****:assumed-role/<ecs-role-name>/<role-session-name>",
"IdentityType": "AssumedRoleUser",
"PrincipalId": "30004467717606****:<role-session-name>",
"RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
"RoleId": "30004467717606****"
}
Refresh kredensial
Kredensial EcsRamRole adalah kredensial sementara STS yang diperoleh melalui IMDS. IMDS menangani penyegaran kredensial secara otomatis—tidak diperlukan intervensi manual.
Hapus kredensial
Untuk menghapus profil EcsRamRole dari konfigurasi CLI lokal, jalankan:
aliyun configure delete --profile <ProfileName>
Perintah ini hanya menghapus profil dari ~/.aliyun/config.json. Perintah ini tidak melepas peran RAM dari instans. Untuk mencabut akses sepenuhnya, lepaskan peran RAM melalui Konsol ECS.
FAQ
Bagaimana cara memeriksa apakah peran RAM telah disambungkan ke instans saya?
Jalankan perintah berikut pada instans untuk mengkueri IMDS:
curl http://100.100.100.200/latest/meta-data/ram/security-credentials/
Jika perintah mengembalikan informasi peran, berarti peran RAM telah ditetapkan. Respons kosong atau error 404 menandakan tidak ada peran RAM yang ditetapkan.
Apa yang harus saya lakukan jika pengambilan kredensial gagal?
CLI secara default menggunakan IMDSv2 (mode berbasis token aman) untuk mengambil kredensial dari Instance Metadata Service. Jika pengambilan kredensial gagal, Anda dapat mengontrol perilaku fallback melalui Variabel lingkungan ALIBABA_CLOUD_IMDSV1_DISABLED:
-
false(default): CLI akan fallback ke IMDSv1 untuk mengambil kredensial. -
true: CLI hanya menggunakan IMDSv2. Jika IMDSv2 gagal, CLI akan menampilkan error alih-alih melakukan fallback.