Panggil operasi STS AssumeRole menggunakan Python SDK untuk memperoleh kredensial sementara guna mengasumsikan RAM role.
Langkah 1: Tinjau dokumentasi API
Periksa ikhtisar API dan temukan operasi AssumeRole. Tinjau parameter permintaan dan izin yang diperlukan.
Langkah 2: Buat RAM user dan berikan izin
Identitas
Panggil API ini sebagai RAM user atau RAM role. Akun Alibaba Cloud (akun utama) tidak didukung. Identitas.
Contoh ini menggunakan RAM user.
Masuk ke Konsol RAM dan buat RAM user. Buat RAM user.
Kredensial
Buka halaman detail RAM user yang dituju. Pada tab Authentication, di bagian User AccessKeys, klik Create AccessKey. Buat AccessKey.
Rahasia AccessKey RAM user hanya ditampilkan sekali saat pembuatan dan tidak dapat diambil kembali nanti. Simpan dengan aman.
Izin
-
Pada halaman Users di Konsol RAM, temukan RAM user yang dituju lalu klik Actions di kolom Grant Permissions.
-
Pada kotak pencarian, masukkan
stslalu pilih kebijakan sistem AliyunSTSAssumeRoleAccess.Kebijakan ini memberikan izin untuk memanggil operasi STS AssumeRole.
-
Klik OK untuk menyelesaikan otorisasi.
Langkah 3: Buat RAM role
Masuk ke Konsol RAM dan buat RAM role dengan akun Alibaba Cloud sebagai entitas tepercaya. Pilih akun saat ini atau akun lain:
-
Current Account: Untuk mengizinkan RAM user dalam akun Alibaba Cloud saat ini mengasumsikan role ini, pilih Current Account.
-
Other Account: Untuk mengizinkan RAM user dari akun Alibaba Cloud lain mengasumsikan role ini, pilih Other Account dan masukkan ID akun lain tersebut. Gunakan opsi ini untuk skenario akses lintas akun.
RAM user dari Langkah 2 akan mengasumsikan role ini, sehingga atur entitas tepercaya ke ID akun Alibaba Cloud tempat RAM user dari Langkah 2 berada. Buat RAM role yang entitas tepercayanya adalah akun Alibaba Cloud.
Anda juga dapat memodifikasi kebijakan kepercayaan RAM role untuk mengubah RAM user mana saja yang dapat mengasumsikannya.
Langkah 4: Lakukan pemanggilan API
Contoh ini menggunakan Python SDK. SDK bahasa lain juga tersedia: STS SDK. Anda juga dapat menggunakan metode pemanggilan lainnya.
Siapkan lingkungan Python
Unduh dan instal Python 3.
Jalankan python --version untuk memverifikasi instalasi.
Konfigurasikan variabel lingkungan
Contoh ini menyimpan Pasangan Kunci Akses dalam variabel lingkungan alih-alih melakukan hardcoding. Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.
Instal dependensi
pip install alibabacloud_credentials
pip install alibabacloud_sts20150401==1.1.3
pip install alibabacloud_tea_console
Unduh kode contoh
-
Di OpenAPI Portal, masuk sebagai RAM user dari Langkah 2 lalu buka URL debugging AssumeRole.
-
Masukkan parameter permintaan lalu klik Initiate Call.
Untuk RoleArn, masukkan ARN RAM role dari Langkah 3. Bagaimana cara melihat ARN RAM role?
-
Pada tab SDK Sample, pilih tab Python lalu klik Download Project.
-
Ekstrak paket tersebut lalu masuk ke direktori alibabacloud_sample.
Jalankan kode contoh
Jalankan perintah berikut:
python sample.py
Contoh output:
"headers": {
"date": "Thu, 17 Aug 2023 10:17:04 GMT",
"content-type": "application/json;charset=utf-8",
"content-length": "846",
"connection": "keep-alive",
"keep-alive": "timeout=25",
"access-control-allow-origin": "*",
"access-control-expose-headers": "*",
"x-acs-request-id": "79E360B6-FAC5-5B18-8081-BC0F8E90A238",
"x-acs-trace-id": "b2fb071a47e03e6d6cd507fd05438021",
"etag": "8bZ4pA7U/ulImlQiwhQnxXw6"
},
"statusCode": 200,
"body": {
"AssumedRoleUser": {
"Arn": "acs:ram::151266687691****:role/test-role/test",
"AssumedRoleId": "30081280744271****:test"
},
"Credentials": {
"AccessKeyId": "STS.NTdbdgE5zgL2qcb5pAify****",
"AccessKeySecret": "Fyk6ab1xfCFn88hXFxzV44QnF6cDi9T2PiTJgsqU****",
"Expiration": "2023-08-17T11:17:04Z",
"SecurityToken": "CAIS7AF1q6Ft5B2yfSjIr5fRKd7TqOpb0ISgUnocHLFUE6eDM****"
},
"RequestId": "79E360B6-FAC5-5B18-8081-BC0F8E90A238"
}
}