All Products
Search
Document Center

Resource Access Management:AssumeRole

Last Updated:Jun 10, 2026

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:

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

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

sts:AssumeRole

get

*Role

acs:ram::{#accountId}:role/{#RoleName}

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 MaxSessionDuration. Nilai default: 3600.

Anda dapat memanggil operasi CreateRole atau UpdateRole untuk mengonfigurasi parameter MaxSessionDuration. Untuk informasi lebih lanjut, lihat CreateRole dan UpdateRole.

3600

Policy

string

No

Kebijakan yang menentukan izin token STS yang dikembalikan. Hal ini memungkinkan Anda menerapkan kontrol akses yang lebih terperinci.

  • Jika Anda menentukan parameter ini, izin token STS yang dikembalikan merupakan irisan antara izin yang ditentukan dalam kebijakan ini dan izin yang diberikan oleh kebijakan peran.

  • Jika Anda tidak menentukan parameter ini, token STS yang dikembalikan memiliki semua izin peran RAM.

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: acs:ram::<account_id>:role/<role_name>.

Anda dapat melihat ARN peran RAM dengan menggunakan konsol RAM atau dengan memanggil operasi API.

  • Untuk informasi lebih lanjut tentang cara melihat ARN peran RAM di konsol RAM, lihat bagian "Bagaimana cara melihat ARN peran RAM?" pada topik FAQ tentang peran RAM dan token STS.

  • Untuk informasi lebih lanjut tentang cara melihat ARN dengan memanggil operasi, lihat ListRoles dan GetRole.

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 RoleSessionName untuk mengidentifikasi pemanggil API yang mengasumsikan peran RAM yang sama dalam log ActionTrail. Hal ini memungkinkan Anda melacak pengguna yang melakukan operasi.

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: = , . @ : / - _. Ekspresi reguler untuk parameter ini adalah [\w+=,.@:\/-]*.

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: =,.@-_. Ekspresi reguler untuk parameter ini adalah [\w+=,.@-]*. Nilai tidak boleh diawali dengan acs:, aliyun:, atau alibabacloud:. Awalan ini digunakan secara internal di dalam Alibaba Cloud.

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.