All Products
Search
Document Center

Resource Access Management:AssumeRole

Last Updated:Oct 27, 2026

Mengambil kredensial identitas sementara (token STS) untuk mengasumsikan Peran RAM.

Deskripsi operasi

Skenario umum

  • Otorisasi akses sementara: Biasanya, panggil Operasi API dari sisi server untuk mencegah kebocoran kunci akses. Namun, dalam beberapa skenario unggah file, lebih baik menggunakan unggahan langsung dari sisi Klien untuk menghindari overhead penerusan sisi server. Dalam hal ini, server dapat menerbitkan token keamanan sementara (token STS), dan Klien dapat menggunakan token STS untuk mengunggah Sumber daya secara langsung. Untuk informasi lebih lanjut, lihat Gunakan token keamanan sementara untuk aplikasi seluler guna mengakses Alibaba Cloud.

  • Akses lintas akun: Jika Anda memiliki beberapa akun Alibaba Cloud, seperti Akun A dan Akun B, dan Anda ingin Akun B mengakses Sumber daya tertentu dari Akun A. Dalam hal ini, Anda dapat membuat Peran RAM di Akun A dengan Akun B sebagai entitas tepercaya, dan memberikan otorisasi kepada Pengguna RAM atau Peran RAM di Akun B untuk mengasumsikan peran tersebut. Kemudian, Pengguna RAM atau Peran RAM di Akun B dapat mengakses Sumber daya tertentu dari Akun A dengan mengasumsikan peran tersebut. Untuk informasi lebih lanjut, lihat Akses Sumber daya lintas akun Alibaba Cloud.

Sebelum Anda memulai

Anda tidak dapat memanggil operasi ini menggunakan akun Alibaba Cloud. Anda hanya dapat memanggil operasi ini sebagai Pengguna RAM atau Peran RAM. Pastikan pemanggil (Pengguna RAM atau Peran RAM) telah diberikan otorisasi untuk asumsi peran STS (AliyunSTSAssumeRoleAccess).

Jika tidak, error berikut akan dikembalikan:

Anda tidak diotorisasi untuk melakukan aksi ini. Anda harus diotorisasi oleh RAM.

Penyebab dan Solusi:

Praktik terbaik

Token STS berlaku untuk periode tertentu setelah diterbitkan. Kami menyarankan Anda menetapkan periode validitas token yang wajar dan menggunakan kembali token tersebut dalam periode validitas. Hal ini mencegah batas laju penerbitan token STS memengaruhi bisnis Anda saat laju permintaan meningkat. Untuk informasi lebih lanjut tentang batas laju, lihat Apakah ada batas berapa kali Anda dapat memanggil layanan STS?. Anda dapat menetapkan periode validitas token menggunakan parameter permintaan DurationSeconds.

Dalam skenario seperti mengunggah atau mengunduh file OSS dari Klien seluler, volume akses adalah Tingkat Tinggi. Bahkan jika Anda menggunakan kembali token STS, persyaratan Pembatasan kecepatan mungkin tidak terpenuhi. Untuk mencegah Pembatasan kecepatan STS menjadi hambatan bagi akses OSS, coba Solusi OSS menyertakan tanda tangan dalam URL. Untuk informasi lebih lanjut, lihat Sertakan tanda tangan dalam URL dan Penandatanganan sisi server dan unggahan langsung.

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}

  • sts:SourceIdentity
  • sts:SetSourceIdentity

Parameter permintaan

Parameter

Type

Required

Description

Example

DurationSeconds

integer

No

Periode validitas token. Unit: detik.

Periode validitas minimum adalah 900 detik, dan periode validitas maksimum adalah nilai MaxSessionDuration dari Peran RAM yang akan diasumsikan. Nilai default: 3600.

Anda dapat menetapkan parameter MaxSessionDuration dengan memanggil operasi CreateRole atau UpdateRole. Untuk informasi lebih lanjut, lihat CreateRole atau UpdateRole.

3600

Policy

string

No

Kebijakan akses tambahan yang disambungkan ke token STS untuk lebih membatasi izin token STS. Detail:

  • Jika Kebijakan akses ini ditentukan, Kebijakan akses akhir token STS adalah irisan dari Kebijakan akses Peran RAM dan Kebijakan akses ini.

  • Jika Kebijakan akses ini tidak ditentukan, Kebijakan akses akhir token STS adalah Kebijakan akses Peran RAM.

Nilai harus memiliki panjang 1 hingga 2.048 karakter.

Untuk informasi lebih lanjut tentang elemen dan contoh Kebijakan akses, lihat Elemen dasar Kebijakan akses dan Contoh Kebijakan akses.

{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}

RoleArn

string

Yes

Nama Sumber Daya Alibaba Cloud Peran RAM yang akan diasumsikan.

Entitas tepercaya Peran RAM adalah akun Alibaba Cloud. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk akun Alibaba Cloud tepercaya atau CreateRole.

Format: acs:ram::<account_id>:role/<role_name>.

Anda dapat melihat Nama Sumber Daya Alibaba Cloud Peran RAM di Konsol RAM atau dengan memanggil Operasi API. Detail:

acs:ram::123456789012****:role/adminrole

RoleSessionName

string

Yes

Nama sesi peran.

Parameter ini ditentukan pengguna. Biasanya, tetapkan parameter ini ke identitas pengguna yang memanggil Operasi API, seperti nama pengguna. Dalam log ActionTrail, meskipun operasi dilakukan oleh Peran RAM yang sama, Anda dapat mengidentifikasi operator sebenarnya berdasarkan RoleSessionName untuk menerapkan audit akses tingkat pengguna.

Nilai harus memiliki panjang 2 hingga 64 karakter dan dapat berisi huruf, angka, serta karakter khusus berikut: .@-_.

alice

ExternalId

string

No

ID eksternal peran.

Parameter ini disediakan oleh pihak eksternal untuk mengidentifikasi peran. Tujuan utamanya adalah mencegah masalah wakil yang bingung. Untuk informasi lebih lanjut, lihat Gunakan ExternalId untuk mencegah masalah wakil yang bingung.

Nilai harus memiliki panjang 2 hingga 1.224 karakter dan dapat berisi huruf, angka, serta karakter khusus berikut: =,.@:/-_. Ekspresi reguler: [\w+=,.@:\/-]*.

abcd1234

SourceIdentity

string

No

Identitas sumber.

Saat Anda mengasumsikan peran, Anda dapat menentukan identitas sumber pemanggil sebagai identitas awal sesi. Identitas sumber tetap ada di seluruh sesi berantai asumsi peran dan tidak dapat diubah. Hal ini memastikan keterlacakan dan keamanan operasi.

Nilai SourceIdentity harus memiliki panjang 2 hingga 64 karakter dan dapat berisi huruf, angka, serta karakter khusus berikut: =,.@-_. Ekspresi reguler: [\w+=,.@-]*. Anda tidak dapat menggunakan nilai yang dimulai dengan acs:, aliyun:, atau alibabacloud:. Prefiks ini dicadangkan untuk penggunaan internal oleh Alibaba Cloud.

Alice

Untuk informasi lebih lanjut tentang parameter permintaan umum, lihat Parameter umum.

Elemen respons

Element

Type

Description

Example

object

Parameter tanggapan.

RequestId

string

ID permintaan.

6894B13B-6D71-4EF5-88FA-F32781734A7F

AssumedRoleUser

object

Identitas sementara yang digunakan untuk asumsi peran.

AssumedRoleId

string

ID identitas sementara.

34458433936495****:alice

Arn

string

ARN identitas sementara.

acs:ram::123456789012****:role/adminrole/alice

Credentials

object

Kredensial akses.

SecurityToken

string

Token keamanan.

Catatan

Panjang token keamanan tidak tetap. Jangan batasi panjang maksimum token keamanan.

********

Expiration

string

Pengatur waktu saat token kedaluwarsa. Pengatur waktu ditampilkan dalam UTC.

2015-04-09T11:52:19Z

AccessKeySecret

string

Rahasia AccessKey.

wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****

AccessKeyId

string

ID AccessKey.

STS.L4aBSCSJVMuKg5U1****

SourceIdentity

string

Identitas sumber.

Saat Anda mengasumsikan peran, Anda dapat menentukan identitas sumber pemanggil sebagai identitas awal sesi. Identitas sumber tetap ada di seluruh sesi berantai asumsi peran dan tidak dapat diubah. Hal ini memastikan keterlacakan dan keamanan operasi.

Jika identitas sumber tidak ditentukan, bidang ini tidak dikembalikan.

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. Parameter DurationSeconds tidak valid. Nilai minimum DurationSeconds adalah 15 menit dan nilai maksimum adalah 1 jam.
400 InvalidParameter.ExternalId The parameter ExternalId is wrongly formed. Parameter ExternalId tidak valid.
400 InvalidParameter.RoleArn The parameter RoleArn is wrongly formed. Parameter RoleArn tidak boleh kosong.
400 InvalidParameter.RoleSessionName The parameter RoleSessionName is wrongly formed. Format parameter RoleSessionName tidak valid.
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. Sintaks parameter Policy tidak lolos pemeriksaan validasi.
400 InvalidParameter.PolicySize The size of Policy must be smaller than 2048 bytes. Parameter Policy tidak valid. Panjang Policy harus kurang dari 2048 byte.
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. Terjadi error internal.
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.