Mendapatkan token Security Token Service (STS) untuk mengasumsikan peran Resource Access Management (RAM).
Deskripsi operasi
Prasyarat
Anda tidak dapat menggunakan akun Alibaba Cloud untuk memanggil operasi ini. Pemohon operasi ini hanya dapat berupa pengguna RAM atau peran RAM. Pastikan kebijakan AliyunSTSAssumeRoleAccess terlampir pada pemohon. Setelah kebijakan ini terlampir pada pemohon, pemohon memiliki izin pengelolaan pada STS.
Jika Anda tidak melampirkan kebijakan AliyunSTSAssumeRoleAccess pada pemohon, pesan kesalahan berikut akan dikembalikan:
You are not authorized to do this action. You should be authorized by RAM.
Anda dapat merujuk pada informasi berikut untuk memecahkan masalah kesalahan:
Penyebab kesalahan: Kebijakan yang diperlukan untuk mengasumsikan peran RAM tidak terlampir pada pemohon. Untuk mengatasi masalah ini, lampirkan kebijakan AliyunSTSAssumeRoleAccess atau kebijakan kustom pada pemohon. Untuk informasi lebih lanjut, lihat Dapatkah saya menentukan peran RAM yang dapat diasumsikan oleh pengguna RAM? dan Berikan izin kepada pengguna RAM.
Penyebab kesalahan: Pemohon tidak diotorisasi untuk mengasumsikan peran RAM. Untuk mengatasi masalah ini, tambahkan pemohon ke elemen Principal dalam kebijakan kepercayaan peran RAM. Untuk informasi lebih lanjut, lihat Edit kebijakan kepercayaan peran RAM.
Praktik terbaik
Token STS valid untuk jangka waktu tertentu setelah diterbitkan, dan jumlah token STS yang dapat diterbitkan dalam suatu interval juga terbatas. Oleh karena itu, kami menyarankan Anda mengonfigurasi periode validitas yang sesuai untuk token STS dan menggunakannya secara berulang dalam periode tersebut. Hal ini mencegah penerbitan token STS yang sering memengaruhi layanan Anda secara negatif jika sejumlah besar permintaan dikirim. Untuk informasi lebih lanjut tentang batasan, lihat Apakah jumlah permintaan API STS dibatasi? Anda dapat mengonfigurasi parameter DurationSeconds untuk menentukan periode validitas token STS.
Saat Anda mengunggah atau mengunduh objek Object Storage Service (OSS) di perangkat seluler, sejumlah besar permintaan API STS dikirim. Dalam hal ini, penggunaan berulang token STS mungkin tidak memenuhi kebutuhan bisnis Anda. Untuk menghindari batasan permintaan API STS yang memengaruhi akses ke OSS, Anda dapat menambahkan tanda tangan ke URL objek OSS. Untuk informasi lebih lanjut, lihat Tambahkan tanda tangan ke URL dan Dapatkan informasi tanda tangan dari server dan unggah data ke OSS.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
sts:AssumeRole |
get |
*Role
|
None | None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| DurationSeconds |
integer |
No |
Periode validitas token STS. Satuan: detik. Nilai minimum: 900. Nilai maksimum: nilai parameter Anda dapat memanggil operasi CreateRole atau UpdateRole untuk mengonfigurasi parameter |
3600 |
| Policy |
string |
No |
Kebijakan yang menentukan izin token STS yang dikembalikan. Hal ini memungkinkan Anda menerapkan kontrol akses yang lebih terperinci.
Nilai harus memiliki panjang 1 hingga 2.048 karakter. Untuk informasi lebih lanjut tentang elemen kebijakan dan contoh kebijakan, lihat Elemen kebijakan dan Ikhtisar contoh kebijakan. |
{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} |
| RoleArn |
string |
Yes |
Alibaba Cloud Resource Name (ARN) dari peran RAM. Entitas tepercaya dari peran RAM adalah akun Alibaba Cloud. Untuk informasi lebih lanjut, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya dan CreateRole. Format: Anda dapat melihat ARN peran RAM dengan menggunakan konsol RAM atau dengan memanggil operasi API.
|
acs:ram::123456789012****:role/adminrole |
| RoleSessionName |
string |
Yes |
Nama sesi peran. Nilai ditentukan oleh pengguna. Dalam sebagian besar kasus, Anda dapat mengatur parameter ini ke identitas pengguna yang memanggil operasi. Misalnya, Anda dapat menentukan nama pengguna. Anda dapat menentukan Nama harus memiliki panjang 2 hingga 64 karakter, dan dapat berisi huruf, angka, serta karakter khusus berikut: |
alice |
| ExternalId |
string |
No |
ID eksternal dari peran RAM. Nilai parameter ini disediakan oleh pihak eksternal dan digunakan untuk mencegah masalah confused deputy. Untuk informasi lebih lanjut, lihat Gunakan ID eksternal untuk mencegah masalah confused deputy. ID harus memiliki panjang 2 hingga 1.224 karakter, dan dapat berisi huruf, angka, serta karakter khusus berikut: |
abcd1234 |
| SourceIdentity |
string |
No |
Informasi identitas sumber. Ketika pengguna mengasumsikan peran, identitas sumber pengguna dapat ditentukan sebagai identitas awal sebuah sesi. Identitas sumber yang ditentukan akan tetap ada sepanjang sesi peran dan tidak dapat diubah. Hal ini memastikan keterlacakan dan keamanan operasi. Nilai harus memiliki panjang 2 hingga 64 karakter, dan dapat berisi huruf, angka, serta karakter khusus berikut: |
Alice |
Untuk informasi lebih lanjut tentang parameter permintaan umum, lihat Parameter umum.
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Parameter respons. |
||
| RequestId |
string |
ID permintaan. |
6894B13B-6D71-4EF5-88FA-F32781734A7F |
| AssumedRoleUser |
object |
Identitas sementara yang Anda gunakan untuk mengasumsikan peran RAM. |
|
| AssumedRoleId |
string |
ID identitas sementara yang Anda gunakan untuk mengasumsikan peran RAM. |
34458433936495****:alice |
| Arn |
string |
ARN identitas sementara yang Anda gunakan untuk mengasumsikan peran RAM. |
acs:ram::123456789012****:role/adminrole/alice |
| Credentials |
object |
Kredensial STS. |
|
| SecurityToken |
string |
Token STS. Catatan
Alibaba Cloud STS tidak menetapkan batasan pada panjang token STS. Kami menyarankan agar Anda tidak menentukan panjang maksimum untuk token STS. |
******** |
| Expiration |
string |
Waktu kedaluwarsa token STS. Waktu ditampilkan dalam UTC. |
2015-04-09T11:52:19Z |
| AccessKeySecret |
string |
AccessKey secret. |
wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK**** |
| AccessKeyId |
string |
ID AccessKey. |
STS.L4aBSCSJVMuKg5U1**** |
| SourceIdentity |
string |
Informasi identitas sumber. Ketika pengguna mengasumsikan peran, identitas sumber pengguna dapat ditentukan sebagai identitas awal sebuah sesi. Identitas sumber yang ditentukan akan tetap ada sepanjang sesi peran dan tidak dapat diubah. Hal ini memastikan keterlacakan dan keamanan operasi. Jika parameter SourceIdentity tidak ditentukan dalam permintaan, bidang ini akan dihilangkan dari respons. |
Alice |
Contoh
Respons sukses
JSONformat
{
"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****"
},
"SourceIdentity": "Alice"
}
Kode kesalahan
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | InvalidParameter.DurationSeconds | The Min/Max value of DurationSeconds is 15min/1hr. | DurationSeconds parameter is illegal, DurationSeconds minimum value is 15 minutes, maximum value is 1 hour |
| 400 | InvalidParameter.ExternalId | The parameter ExternalId is wrongly formed. | Parameters |
| 400 | InvalidParameter.RoleArn | The parameter RoleArn is wrongly formed. | Parameters |
| 400 | InvalidParameter.RoleSessionName | The parameter RoleSessionName is wrongly formed. | |
| 400 | InvalidParameter.SerialNumber | The parameter SerialNumber is wrongly formed. | |
| 400 | InvalidParameter.TokenCode | The parameter TokenCode is wrongly formed. | |
| 400 | InvalidParameter.PolicyGrammar | The parameter Policy has not passed grammar check. | Parameter Policy syntax format check failed |
| 400 | InvalidParameter.PolicySize | The size of Policy must be smaller than 2048 bytes. | The policy parameter is invalid. The policy length must be less than 2048 bytes. |
| 400 | InvalidParameter.ContentType | The ContentType request header must be either "application/json" or "application/x-www-form-urlencoded". | |
| 500 | InternalError | STS Server Internal Error happened, please send the RequestId to us. | |
| 403 | NoPermission | You are not authorized to do this action. You should be authorized by RAM. | |
| 403 | AuthenticationFail.ApiUsername | The specified api username is not legal. | |
| 403 | AuthenticationFail.ApiPassword | The specified api password is not legal. | |
| 404 | EntityNotExist.Role | The specified Role not exists . |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.