Topik ini menjelaskan cara menggunakan Security Token Service (STS) SDK for Python untuk memanggil operasi AssumeRole guna mengasumsikan peran Resource Access Management (RAM).
Langkah 1: Lihat dokumentasi API
Untuk mengasumsikan peran RAM, panggil operasi AssumeRole. Informasi selengkapnya tersedia di Daftar operasi berdasarkan fungsi. Untuk detail mengenai informasi dan izin yang diperlukan dalam memanggil operasi ini, lihat AssumeRole. Parameter permintaan dan izin terkait dapat ditemukan dalam referensi API.
Langkah 2: Buat pengguna RAM dan berikan izin kepada pengguna RAM
Identitas
Anda dapat menggunakan pengguna RAM atau peran RAM untuk memanggil operasi ini, tetapi tidak dapat menggunakan Akun Alibaba Cloud. Untuk informasi selengkapnya mengenai perbedaan antar identitas tersebut, lihat Identity.
Dalam contoh ini, pengguna RAM digunakan untuk memanggil operasi tersebut.
Masuk ke Konsol RAM dan buat pengguna RAM. Petunjuk lengkap tersedia di Create a RAM user.
Kredensial
Buka halaman detail pengguna RAM. Di bagian AccessKey pada tab Authentication, klik Create AccessKey untuk membuat Pasangan Kunci Akses. Informasi selengkapnya tersedia di Create an AccessKey pair.
Rahasia AccessKey pengguna RAM hanya ditampilkan saat pertama kali dibuat. Anda tidak dapat melihat kembali Rahasia AccessKey setelah proses pembuatan selesai. Catat dan jaga kerahasiaannya.
Otorisasi
Buka halaman Users di Konsol RAM, temukan pengguna RAM yang ingin Anda kelola, lalu klik Add Permissions di kolom Actions.
Masukkan kata kunci
stsdi kotak pencarian dan pilih kebijakan sistem AliyunSTSAssumeRoleAccess.AliyunSTSAssumeRoleAccess: memberikan izin yang diperlukan 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 berupa Akun Alibaba Cloud. Akun Alibaba Cloud yang tepercaya dapat berupa akun Anda sendiri atau akun Alibaba Cloud lain:
Current Alibaba Cloud Account: Jika Anda ingin pengguna RAM dalam Akun Alibaba Cloud Anda mengasumsikan peran tersebut, pilih Current Alibaba Cloud Account.
Other Alibaba Cloud Account: Jika Anda ingin pengguna RAM dari akun Alibaba Cloud lain mengasumsikan peran RAM tersebut, pilih Other Alibaba Cloud Account dan masukkan ID Akun Alibaba Cloud-nya. Opsi ini memungkinkan pemberian otorisasi kepada akun Alibaba Cloud yang berbeda.
Dalam contoh ini, Anda harus menggunakan pengguna RAM yang dibuat di Langkah 2 untuk mengasumsikan peran RAM tersebut. Oleh karena itu, atur akun Alibaba Cloud yang tepercaya ke ID Akun Alibaba Cloud tempat pengguna RAM dari Langkah 2 berada. Untuk informasi selengkapnya, lihat Create a RAM role for a trusted Alibaba Cloud account.
Anda juga dapat mengubah kebijakan kepercayaan yang tersemat pada peran RAM untuk menyesuaikan pengguna RAM yang diizinkan mengasumsikan peran tersebut. Informasi selengkapnya tersedia di Edit the trust policy of a RAM role.
Langkah 4: Panggil operasi
Topik ini menggunakan STS SDK for Python untuk memanggil operasi tersebut. Anda dapat menerapkan pendekatan serupa dengan SDK bahasa pemrograman lain. Informasi selengkapnya tersedia di STS SDKs. Anda juga dapat menggunakan metode lain sesuai kebutuhan bisnis. Informasi selengkapnya tersedia di Overview.
Siapkan lingkungan Python
Unduh dan instal Python 3.
Setelah instalasi Python 3 selesai, jalankan perintah python --version di terminal untuk memverifikasi versinya.
Konfigurasikan variabel lingkungan
Dalam contoh ini, variabel lingkungan dikonfigurasikan untuk mengelola Pasangan Kunci Akses guna mencegah risiko keamanan akibat hard-coding kredensial dalam kode bisnis. Informasi selengkapnya tersedia di Configure environment variables in Linux, macOS, and 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 keberhasilan debugging.
Atur RoleArn dalam parameter permintaan ke Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM yang dibuat di Langkah 3. Petunjuk cara melihat ARN peran RAM tersedia di How do I view the ARN of a RAM role?
Pada tab Python di bagian SDK Sample Code, klik Download Project untuk mengunduh paket kode contoh CloudSSO SDK untuk Python.
Ekstrak paket kode contoh di komputer Anda dan buka direktori alibabacloud_sample.
Jalankan kode contoh
Jalankan perintah berikut:
python sample.pyOutput perintah berikut akan ditampilkan:
"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"
}
}