Alibaba Cloud CLI (Alibaba Cloud Command Line Interface) adalah alat baris perintah umum yang dibangun di atas OpenAPI. Anda dapat menggunakannya untuk mengotomatiskan pengelolaan dan pemeliharaan Security Token Service (STS). Topik ini menggunakan operasi API AssumeRole untuk menunjukkan cara memanggil STS OpenAPI melalui Alibaba Cloud CLI dan memperoleh kredensial keamanan sementara.
Prasyarat
Sebelum melanjutkan, pastikan Anda memahami konsep-konsep berikut:
Langkah 1: Instal Alibaba Cloud CLI
Anda harus menginstal Alibaba Cloud CLI sebelum menggunakannya. Paket instalasi tersedia untuk Windows, Linux, dan macOS. Pilih paket yang sesuai dengan sistem operasi Anda.
-
Windows: Instal Alibaba Cloud CLI di Windows.
Anda juga dapat menggunakan Cloud Shell untuk men-debug perintah Alibaba Cloud CLI. Untuk informasi selengkapnya, lihat Apa itu Cloud Shell?.
Langkah 2: Konfigurasi Alibaba Cloud CLI
Operasi API AssumeRole hanya dapat dipanggil sebagai RAM user atau dengan mengasumsikan RAM role. Operasi ini tidak dapat dipanggil menggunakan Akun Alibaba Cloud (akun root). Contoh dalam topik ini menggunakan RAM user.
Sebelum menggunakan Alibaba Cloud CLI, Anda harus mengonfigurasi kredensial dan ID wilayah. Alibaba Cloud CLI mendukung berbagai jenis kredensial. Untuk informasi selengkapnya, lihat Konfigurasi dan kelola kredensial. Contoh ini menggunakan Pasangan Kunci Akses. Ikuti langkah-langkah berikut:
-
Buat RAM user dan Pasangan Kunci Akses yang akan digunakan untuk konfigurasi. Untuk informasi selengkapnya, lihat Buat RAM user dan Buat AccessKey.
-
Berikan izin kepada RAM user tersebut. Dalam contoh ini, Anda harus memberikan izin kepada RAM user untuk memanggil operasi API
AssumeRoledari STS dengan menyambungkan KebijakanAliyunSTSAssumeRoleAccess. Untuk informasi selengkapnya, lihat Kelola izin RAM user. -
Dapatkan ID wilayah yang tersedia. Alibaba Cloud CLI mengirim permintaan API ke wilayah yang Anda tentukan. Untuk daftar wilayah STS yang tersedia, lihat Endpoint.
CatatanSaat menggunakan Alibaba Cloud CLI, Anda dapat menambahkan opsi
--regionke perintah untuk menentukan wilayah permintaan. Jika opsi ini ditambahkan, pengaturan wilayah dalam profil dan variabel lingkungan akan ditimpa. Untuk informasi selengkapnya, lihat Opsi baris perintah. -
Gunakan Pasangan Kunci Akses RAM user untuk mengonfigurasi kredensial. Beri nama profil konfigurasi tersebut
AkProfile. Untuk informasi selengkapnya, lihat Konfigurasi dan kelola kredensial.
Langkah 3: Buat RAM role
Nama Sumber Daya Alibaba Cloud (ARN) dari role, yang ditentukan oleh parameter RoleArn, diperlukan untuk memanggil operasi API AssumeRole. Untuk mendapatkan ARN tersebut, buat RAM role yang mempercayai Akun Alibaba Cloud.
Dalam contoh ini, Anda menggunakan RAM user yang telah dibuat pada Langkah 2: Konfigurasi Alibaba Cloud CLI untuk mengasumsikan role ini. Oleh karena itu, Akun Alibaba Cloud yang dipercaya harus diatur ke ID Akun Alibaba Cloud tempat RAM user dari Langkah 2: Konfigurasi Alibaba Cloud CLI bernaung. Untuk informasi selengkapnya, lihat Buat RAM role untuk Akun Alibaba Cloud yang dipercaya.
Anda dapat memodifikasi kebijakan kepercayaan RAM role untuk menentukan RAM user mana yang dapat mengasumsikan role tersebut. Untuk informasi selengkapnya, lihat Modifikasi kebijakan kepercayaan RAM role.
Langkah 4: Hasilkan contoh perintah CLI
-
Di OpenAPI Explorer, buka halaman debugging AssumeRole.
-
Pada tab Parameters, masukkan parameter permintaan. Lalu, klik tab CLI Example untuk melihat perintah yang dihasilkan.
-
Jalankan perintah di Cloud Shell atau salin contoh perintah tersebut.
-
Klik Run in Cloud Shell
untuk membuka Cloud Shell dan langsung men-debug perintah tersebut. -
Klik Repeat
untuk menyalin perintah ke clipboard Anda. Anda kemudian dapat menempelkannya ke shell lokal untuk menjalankannya.Catatan-
Jika Anda menyalin perintah ke shell lokal untuk debugging, pastikan format parameternya benar. Untuk informasi lebih lanjut tentang parameter perintah Alibaba Cloud CLI, lihat Pahami parameter perintah.
-
Secara default, OpenAPI Explorer menambahkan opsi
--regionke perintah yang dihasilkan. Saat Anda menjalankan perintah secara lokal, opsi ini akan menimpa pengaturan wilayah dalam profil default dan variabel lingkungan Anda. Anda dapat mempertahankan atau menghapus opsi ini sesuai kebutuhan.
-
-
Langkah 5: Panggil API STS
Contoh 1: Daftar API STS yang tersedia
Contoh berikut menunjukkan cara menggunakan opsi --help untuk mencantumkan operasi API STS yang dapat Anda panggil menggunakan Alibaba Cloud CLI. Anda juga dapat melihat daftar operasi API yang tersedia di Ikhtisar API.
-
Jalankan perintah.
aliyun sts --help -
Output berikut dikembalikan.
Usage: aliyun sts <ApiName> --parameter1 value1 --parameter2 value2 ... Product: Sts (Security Token Service) Version: 2015-04-01 Available Api List: AssumeRole Calls the AssumeRole operation to obtain temporary security credentials (an STS Token) to assume a RAM role. AssumeRoleWithOIDC [Anonymous] Calls the AssumeRoleWithOIDC operation to obtain temporary security credentials (an STS Token) for a RAM role during OIDC-based role SSO. AssumeRoleWithSAML [Anonymous] Calls the AssumeRoleWithSAML operation to obtain temporary security credentials (an STS Token) for a RAM role during SAML-based role SSO. GetCallerIdentity Calls the GetCallerIdentity operation to obtain information about the current caller's identity.
Contoh 2: Mengasumsikan RAM role
Contoh berikut menunjukkan cara menggunakan Alibaba Cloud CLI untuk memanggil perintah AssumeRole dan memperoleh kredensial keamanan sementara untuk mengasumsikan RAM role.
-
Jalankan perintah.
CatatanAnda dapat memperoleh bantuan terkait parameter perintah dengan salah satu cara berikut:
-
Jalankan perintah
aliyun sts AssumeRole --helpuntuk mendapatkan saran parameter. -
Lihat topik AssumeRole untuk deskripsi parameter yang lebih rinci.
aliyun sts AssumeRole \ --DurationSeconds 3600 \ --Policy '{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}' \ --RoleSessionName alice \ --RoleArn 'acs:ram::123456789012****:role/adminrole' \ --ExternalId abcd1234 -
-
Output berikut merupakan contoh. Nilai
SecurityTokenadalah kredensial keamanan sementara.{ "RequestId": "6894B13B-6D71-4EF5-88FA-F32781734A7F", "AssumedRoleUser": { "AssumedRoleId": "34458433936495****:alice", "Arn": "acs:ram::123456789012****:role/adminrole/alice" }, "Credentials": { "SecurityToken": "********", "Expiration": "2015-04-09T11:52:19Z", "AccessKeySecret": "wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****", "AccessKeyId": "STS.L4aBSCSJVMuKg5U1****" } }CatatanJika Anda menerima error saat memanggil operasi API STS, gunakan kode kesalahan yang dikembalikan untuk memverifikasi bahwa parameter dan nilai permintaan Anda valid.
Anda dapat menggunakan ID permintaan dari respons atau pesan error SDK bersama OpenAPI Troubleshoot untuk mendiagnosis masalah tersebut.