Topik ini menjelaskan cara menggunakan Security Token Service (STS) SDK untuk Python dalam memanggil operasi AssumeRole untuk mengasumsikan peran Resource Access Management (RAM).
Langkah 1: Lihat dokumentasi API
Untuk mengasumsikan peran RAM, panggil operasi AssumeRole. Untuk detail lebih lanjut, lihat Daftar operasi berdasarkan fungsi. Informasi tambahan tentang parameter permintaan dan izin yang diperlukan dapat ditemukan di AssumeRole.
Langkah 2: Buat pengguna RAM dan berikan izin kepada pengguna RAM
Identitas
Operasi ini dapat dipanggil menggunakan pengguna RAM atau peran RAM, namun tidak dengan akun Alibaba Cloud. Untuk informasi lebih lanjut mengenai perbedaan antara identitas tersebut, lihat Identitas.
Dalam contoh ini, digunakan pengguna RAM untuk memanggil operasi.
Masuk ke Konsol RAM dan buat pengguna RAM. Untuk panduan pembuatan pengguna RAM, lihat Buat pengguna RAM.
Kredensial
Akses halaman detail pengguna RAM. Pada tab Authentication, di bagian AccessKey, klik Create AccessKey untuk membuat pasangan AccessKey. Untuk detail lebih lanjut, lihat Buat pasangan AccessKey.
Rahasia AccessKey hanya ditampilkan saat pertama kali dibuat. Setelah itu, rahasia AccessKey tidak dapat dilihat kembali. Pastikan Anda mencatatnya dan menyimpannya secara aman.
Otorisasi
Di Konsol RAM, buka halaman Pengguna, temukan pengguna RAM yang ingin dikelola, dan klik Add Permissions di kolom Actions.
Masukkan kata kunci
stsdi kotak pencarian dan pilih kebijakan sistem AliyunSTSAssumeRoleAccess.AliyunSTSAssumeRoleAccess: memberikan izin untuk memanggil operasi AssumeRole dari STS.
Klik Grant permissions untuk menyelesaikan otorisasi.
Langkah 3: Buat peran RAM
Masuk ke Konsol RAM dan buat peran RAM dengan entitas tepercaya sebagai akun Alibaba Cloud. Akun tepercaya dapat berupa akun Alibaba Cloud saat ini atau akun lain:
Current Alibaba Cloud Account: Jika Anda ingin pengguna RAM dalam akun Alibaba Cloud Anda mengasumsikan peran RAM, pilih Current Alibaba Cloud Account.
Other Alibaba Cloud Account: Jika Anda ingin pengguna RAM dari akun Alibaba Cloud lain mengasumsikan peran RAM, pilih Other Alibaba Cloud Account dan masukkan ID akun Alibaba Cloud. Opsi ini digunakan untuk memberikan otorisasi kepada akun Alibaba Cloud yang berbeda.
Dalam contoh ini, Anda harus menggunakan pengguna RAM yang dibuat di Langkah 2 untuk mengasumsikan peran RAM. Oleh karena itu, Anda harus menetapkan akun Alibaba Cloud tepercaya ke ID akun Alibaba Cloud tempat pengguna RAM yang dibuat di Langkah 2 berada. Untuk informasi lebih lanjut, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya.
Anda juga dapat memodifikasi kebijakan kepercayaan peran RAM untuk mengubah pengguna RAM yang dapat mengasumsikan peran tersebut. Untuk informasi lebih lanjut, lihat Edit kebijakan kepercayaan peran RAM.
Langkah 4: Panggil operasi
Dalam topik ini, STS SDK untuk Python digunakan untuk memanggil operasi ini. Pendekatan serupa dapat diterapkan untuk SDK bahasa pemrograman lain. Untuk informasi lebih lanjut, lihat SDK STS. Metode alternatif tersedia sesuai kebutuhan bisnis. Untuk detail lebih lanjut, lihat Ikhtisar.
Persiapkan lingkungan Python
Unduh dan instal Python 3.
Setelah instalasi selesai, jalankan python --version di terminal untuk memeriksa versi Python 3.
Konfigurasikan variabel lingkungan
Dalam contoh ini, variabel lingkungan dikonfigurasi untuk mengelola pasangan AccessKey dan mencegah risiko keamanan akibat hard-coding. Untuk panduan konfigurasi, lihat 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_consoleUnduh kode contoh
Di OpenAPI Explorer, gunakan pengguna RAM yang dibuat di Langkah 2 untuk memanggil operasi AssumeRole.
Masukkan parameter permintaan dan klik Initiate Call untuk memverifikasi debugging.
Tetapkan RoleArn pada parameter permintaan sesuai ARN peran RAM yang dibuat di Langkah 3. Untuk panduan melihat ARN peran RAM, lihat Bagaimana cara saya melihat ARN peran RAM?
Di tab Python pada bagian SDK Sample Code, klik Download Project untuk mengunduh paket kode contoh CloudSSO SDK untuk Python.
Ekstrak paket kode contoh di komputer Anda dan akses direktori alibabacloud_sample.
Jalankan kode contoh
Jalankan perintah berikut:
python sample.pyKeluaran perintah adalah sebagai berikut:
"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"
}
}