All Products
Search
Document Center

Resource Access Management:Mengasumsikan Peran RAM

Last Updated:Aug 28, 2026

Mengasumsikan Peran RAM memungkinkan Anda sementara waktu mendapatkan izin peran tersebut untuk mengakses sumber daya Alibaba Cloud. Anda dapat mengasumsikan Peran RAM melalui Konsol, menggunakan Alibaba Cloud CLI, atau dengan memanggil operasi API Layanan Token Keamanan (STS).

Apa itu asumsi peran

Berbeda dengan Pengguna RAM, Peran RAM tidak dapat digunakan untuk login langsung ke Konsol. Anda harus terlebih dahulu login ke Konsol sebagai Pengguna RAM atau melalui SSO, lalu beralih ke Peran RAM target. Proses ini disebut asumsi peran.

Saat Anda mengganti identitas di Konsol, izin identitas awal akan ditangguhkan sementara, dan Anda beroperasi menggunakan izin dari Peran RAM yang diasumsikan. Peran RAM yang diasumsikan dapat berada dalam Akun Alibaba Cloud yang sama dengan Pengguna RAM yang sedang login, atau dalam akun berbeda (asumsi peran cross-account).

Cara kerjanya

Contoh berikut menunjukkan cara kerja asumsi peran. Dalam contoh ini, Pengguna RAM Alice mengasumsikan Peran RAM prod-role dan mengakses OSS sebagai peran tersebut:

  • Permintaan untuk mengasumsikan Peran RAM. Pengguna RAM Alice meminta kredensial sementara (token STS) untuk Peran RAM prod-role dari Alibaba Cloud Security Token Service (STS). RAM memverifikasi identitas Alice (misalnya, menggunakan Pasangan AccessKey), apakah Alice memiliki izin untuk mengasumsikan peran tersebut (sts:AssumeRole), serta apakah kebijakan kepercayaan prod-role mengizinkan Alice mengasumsikannya (apakah Principal sesuai dengan Alice).

  • Mendapatkan token STS. Setelah verifikasi berhasil, Alice menerima token STS yang dikembalikan oleh STS.

  • Mengakses sumber daya cloud sebagai peran tersebut. Alice menggunakan token STS untuk mengakses sumber daya cloud seperti OSS sebagai peran prod-role. Permintaan ini dievaluasi berdasarkan kebijakan akses peran prod-role (misalnya, oss:*). Kredensial asli Alice tetap valid; hanya permintaan yang menggunakan token STS yang menggunakan izin peran tersebut.

Metode asumsi peran

Anda dapat mengasumsikan Peran RAM dengan cara-cara berikut:

  • Ganti identitas di Konsol — Setelah Pengguna RAM login ke Alibaba Cloud Management Console, pengguna tersebut menggunakan fitur Switch Identity untuk beralih ke peran target. Metode ini dijelaskan secara rinci dalam topik ini.

  • Panggil operasi API — Administrator atau developer menggunakan Alibaba Cloud CLI, SDK, atau OpenAPI untuk memanggil operasi AssumeRole (atau operasi asumsi peran lainnya, seperti AssumeRoleWithSAML) guna mendapatkan token STS. Metode ini dijelaskan secara rinci dalam topik ini.

  • SSO berbasis peran — Pengguna login ke Konsol melalui SSO berbasis peran (berdasarkan protokol SAML 2.0) menggunakan penyedia identitas (IdP) perusahaan mereka. Saat proses login ke Konsol selesai, pengguna tersebut telah mengasumsikan Peran RAM.

  • Kaitkan peran ke sumber daya Alibaba Cloud — Kaitkan atau asosiasikan peran tersebut dengan sumber daya Alibaba Cloud tertentu (seperti Instance ECS, Function Compute, atau Pod ACK/ACS), lalu gunakan fitur bawaan platform Alibaba Cloud untuk menyelesaikan asumsi peran. Untuk informasi lebih lanjut, lihat Aplikasi di Alibaba Cloud mengakses sumber daya Alibaba Cloud.

    Dua skenario terakhir tidak dijelaskan secara rinci dalam topik ini. Untuk petunjuk penggunaan, lihat dokumen referensi di atas.

Cara mengasumsikan Peran RAM

Pilih metode berdasarkan skenario Anda. Untuk semua metode asumsi peran yang tersedia, lihat Metode asumsi peran.

  • Operasi manual di Konsol — Beralih ke Peran RAM di Konsol untuk melakukan operasi secara interaktif.

  • Otomatisasi untuk program atau layanan — Panggil operasi STS untuk mendapatkan token STS, lalu gunakan token tersebut untuk mengakses sumber daya Alibaba Cloud secara programatik.

  • Operasi interaktif di command line — Gunakan Alibaba Cloud CLI untuk melakukan operasi sebagai Peran RAM.

Prasyarat

Sebelum mengasumsikan Peran RAM, pastikan persyaratan berikut terpenuhi:

  • Peran RAM target — Peran RAM target tersedia, dan kebijakan kepercayaannya mengizinkan identitas awal untuk mengasumsikan peran tersebut. Misalnya, kata kunci Principal dalam kebijakan kepercayaan sesuai dengan identitas awal.

  • Izin identitas awal — Identitas awal diberikan izin untuk mengasumsikan peran target. Sambungkan kebijakan sistem AliyunSTSAssumeRoleAccess atau kebijakan kustom yang berisi operasi sts:AssumeRole ke identitas awal. Kebijakan sistem AliyunSTSAssumeRoleAccess memungkinkan Pengguna RAM mengasumsikan semua Peran RAM. Untuk informasi lebih lanjut tentang otorisasi, lihat Memberikan izin kepada Pengguna RAM.

  • Login SSO berbasis peran — Jika Anda login melalui SSO berbasis peran, Anda sudah login sebagai Peran RAM. Untuk beralih ke peran lain, pastikan peran saat ini memiliki izin untuk mengasumsikan peran target. Misalnya, jika identitas setelah login SSO berbasis peran adalah Peran A dan Anda ingin beralih ke Peran B, Peran A harus memiliki kebijakan akses yang mengizinkan asumsi Peran B.

  • Pasangan AccessKey (hanya untuk API dan CLI) — Persiapkan Pasangan AccessKey Pengguna RAM untuk autentikasi programatik. Untuk langkah-langkah detail, lihat Membuat dan menggunakan Pasangan AccessKey untuk akses programatik.

Mengasumsikan Peran RAM di Konsol

Setelah Anda login ke Konsol sebagai Pengguna RAM atau melalui SSO berbasis peran, Anda dapat mengasumsikan Peran RAM dengan mengganti identitas.

Prosedur1. Login ke Konsol RAM sebagai Pengguna RAM atau melalui SSO berbasis peran.

  1. Arahkan kursor ke gambar profil di pojok kanan atas dan klik Switch Identity.

    Switch Identity

  2. Di halaman Switch Role, masukkan informasi Peran RAM yang ingin Anda asumsikan.

    a. enterprise alias / default domain name / ID akun Alibaba Cloud: Masukkan salah satu dari berikut: enterprise alias (alias akun) dari akun yang memiliki Peran RAM, nama domain default, atau ID akun Alibaba Cloud dari akun yang memiliki peran tersebut. Untuk beralih lintas akun, masukkan ID akun Alibaba Cloud dari akun target.

    b. Role name: Nama Peran RAM yang ingin Anda asumsikan. Tanyakan kepada administrator Anda, atau lihat di halaman Identity Management > Roles di Konsol RAM.

  3. Klik Submit.

    Setelah identitas dialihkan, Anda mengoperasikan Konsol sebagai Peran RAM. Area gambar profil di pojok kanan atas Konsol menampilkan identitas saat ini dan identitas login (identitas awal). Panel tersebut mencakup label RAM role yang mengidentifikasi jenis identitas saat ini. Di bagian bawah, tersedia tombol Back to Logon Identity dan Sign Out.

  4. (Opsional) Untuk kembali ke identitas login awal, arahkan kursor ke gambar profil di pojok kanan atas Konsol dan klik Back to Logon Identity. Setelah beralih, izin Peran RAM menjadi tidak berlaku, dan izin identitas awal dipulihkan.

    Tabel berikut menjelaskan format tampilan identitas login dan identitas saat ini:
Skenario loginIdentitas loginIdentitas saat ini
Login Pengguna RAM<RAM username><RoleName>/<RAM username>
Login SSO berbasis peran (pertama kali)Tidak ditampilkan<RoleName>/<RoleSessionName>
Ganti identitas setelah login SSO berbasis peran<SSO role name>/<RoleSessionName><Switched role name>/<RoleSessionName>

Deskripsi field

  • RoleName: Nama peran yang sedang diasumsikan.

  • RoleSessionName: Nama sesi. Ini adalah username RAM saat Pengguna RAM login. Pada login SSO berbasis peran, nilainya disediakan oleh IdP dan tetap tidak berubah setelah Anda mengganti identitas.

Contoh

Pengguna Tom (UPN: tom@example.com, di mana UPN adalah User Principal Name) login ke Konsol melalui SSO berbasis peran sebagai peran test-saml-role1, lalu beralih ke peran alice-testrole. Asumsikan bahwa RoleSessionName adalah UPN pengguna. Identitas login dan identitas saat ini adalah sebagai berikut:

  • Identitas login: test-saml-role1/tom@example.com

  • Identitas saat ini: alice-testrole/tom@example.com

Mengasumsikan Peran RAM dengan memanggil operasi API

Anda dapat memanggil operasi STS untuk mengasumsikan Peran RAM dan mendapatkan token STS dari peran yang diasumsikan. Saat program atau layanan mengakses sumber daya Alibaba Cloud dengan token STS, program tersebut dapat melakukan operasi dalam batas izin peran yang diasumsikan.

Operasi asumsi peran

Tabel berikut menjelaskan operasi asumsi peran STS. Pilih operasi berdasarkan metode kredensial atau federasi identitas pemanggil.

APIDeskripsi
AssumeRoleMendapatkan token STS untuk mengasumsikan Peran RAM. Berlaku untuk skenario asumsi peran yang menggunakan kredensial seperti Pasangan AccessKey atau token STS.
AssumeRoleWithSAMLMendapatkan token STS menggunakan Pernyataan SAML. Berlaku untuk skenario SSO berbasis peran SAML.
AssumeRoleWithOIDCMendapatkan token STS menggunakan token OpenID Connect (OIDC). Berlaku untuk skenario SSO berbasis peran OIDC.

Saat memanggil operasi di atas, Anda harus menggunakan parameter RoleArn untuk menentukan Peran RAM yang ingin Anda asumsikan. Format ARN adalah acs:ram::<ID akun Alibaba Cloud>:role/<nama peran>.

Anda juga dapat meneruskan parameter Policy (kebijakan sesi) untuk lebih membatasi izin peran yang diasumsikan dalam sesi peran saat ini.

Izin yang diperlukan

Izin yang diperlukan berbeda-beda tergantung pada operasi yang Anda gunakan untuk asumsi peran:

  • Jika Anda menggunakan operasi AssumeRole, pemanggil harus diberikan izin operasi sts:AssumeRole. Misalnya, Anda dapat menyambungkan kebijakan sistem AliyunSTSAssumeRoleAccess ke pemanggil.

  • Jika Anda menggunakan operasi AssumeRoleWithSAML atau AssumeRoleWithOIDC, Anda hanya perlu mengonfigurasi IdP SAML atau OIDC tepercaya dengan benar dalam kebijakan kepercayaan Peran RAM target. Tidak perlu memberikan kebijakan akses RAM secara terpisah ke identitas eksternal.

    Anda dapat menggunakan kit pengembangan perangkat lunak (SDK) Alibaba Cloud untuk memanggil operasi asumsi peran guna mengasumsikan Peran RAM. Untuk contoh kode, lihat dokumentasi SDK terkait, seperti Menggunakan Pasangan AccessKey dan RamRoleArn untuk mendapatkan token STS (Python SDK).

Untuk memverifikasi bahwa token STS berfungsi, gunakan token tersebut untuk memanggil operasi GetCallerIdentity STS. Respons berisi ARN dari peran yang diasumsikan.

Mengasumsikan Peran RAM menggunakan Alibaba Cloud CLI

Contoh berikut menunjukkan cara menggunakan Alibaba Cloud CLI untuk mengasumsikan Peran RAM admin-role dan menyelesaikan tugas manajemen sebagai peran tersebut.

  1. Konfigurasikan kredensial identitas untuk Alibaba Cloud CLI. Contoh ini menggunakan mode RamRoleArn, yang menggunakan Pasangan AccessKey Pengguna RAM sebagai metode autentikasi untuk menyelesaikan asumsi peran.

    aliyun configure --profile RamRoleArnProfile --mode RamRoleArn
  2. Sesuai prompt, masukkan ID AccessKey, Rahasia AccessKey, ARN peran yang ingin Anda asumsikan, nama sesi peran, dan informasi lainnya. Untuk informasi lebih lanjut tentang parameter dan penggunaan, lihat Mengonfigurasi kredensial untuk Alibaba Cloud CLI.

    Configuring profile 'RamRoleArnProfile' in 'RamRoleArn' authenticate mode...
    Access Key Id []: <yourAccessKeyID>
    Access Key Secret []: <yourAccessKeySecret>
    Sts Region []: cn-shanghai
    Ram Role Arn []: acs:ram::012345678910****:role/admin-role
    Role Session Name []: user-name
    External ID []: abcd1234
    Expired Seconds [900]: 900
    Default Region Id []: cn-shanghai
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[RamRoleArnProfile] ...Done.
    Expired Seconds mempertahankan nilai default 900 detik (15 menit) yang ditampilkan dalam prompt CLI. Nilai ini berbeda dari nilai default (3.600 detik) parameter DurationSeconds operasi AssumeRole*.

  3. Setelah autentikasi selesai, jalankan perintah yang diperlukan dengan profil tersebut. Identitas yang digunakan untuk menjalankan perintah adalah Peran RAM yang diasumsikan admin-role, bukan Pengguna RAM pemilik Pasangan AccessKey.

    aliyun ram ListUsers --profile RamRoleArnProfile
    aliyun sts GetCallerIdentity --profile RamRoleArnProfile. Respons berisi ARN dari peran yang diasumsikan.

    Untuk mengasumsikan Peran RAM lain sebagai peran yang telah diasumsikan, lihat Rantai peran.

Jika asumsi peran gagal

Jika administrator mengonfigurasi aturan kondisi khusus untuk Peran RAM target, seperti sts:ExternalId atau sts:SourceIdentity, atau jika peran target hanya memercayai pihak utama tertentu seperti Pengguna RAM tertentu, asumsi peran mungkin gagal.

Jika asumsi peran gagal atau panggilan API mengembalikan error terkait izin, periksa kebijakan akses yang diberikan kepada identitas awal dan kebijakan kepercayaan peran target.

Asumsi peran cross-account

Asumsi peran cross-account memungkinkan Anda menggunakan identitas (Pengguna RAM atau Peran RAM) di bawah satu Akun Alibaba Cloud untuk mengasumsikan Peran RAM di bawah Akun Alibaba Cloud lain, sehingga dapat mengakses sumber daya akun tersebut.

Asumsi peran cross-account memerlukan kondisi berikut:

  • Peran target harus memercayai akun sumber, atau Pengguna RAM atau Peran RAM di bawah akun sumber. Hal ini ditentukan oleh kata kunci Principal dalam kebijakan kepercayaan peran target.

  • Identitas awal harus memiliki izin operasi sts:AssumeRole.

    Untuk informasi lebih lanjut, lihat Melakukan asumsi peran cross-account.

Rantai peran

Rantai peran adalah proses di mana identitas RAM (atau identitas SSO berbasis peran) mengasumsikan satu peran, lalu terus mengasumsikan peran lain sebagai peran tersebut. Rantai peran dibangun di atas mekanisme asumsi peran standar yang dijelaskan dalam topik ini.

Agar Peran A dapat terus mengasumsikan Peran B, Peran A harus diberikan izin operasi sts:AssumeRole, dan Peran B harus memercayai Peran A.

Contoh berikut menggunakan Alibaba Cloud CLI untuk menunjukkan cara menggunakan rantai peran:

  1. Ikuti contoh di Menggunakan CLI untuk mengasumsikan Peran RAM untuk mengonfigurasi Alibaba Cloud CLI dan mengasumsikan peran admin-role (peran sumber).

  2. Tambahkan kebijakan sistem AliyunSTSAssumeRoleAccess ke peran admin-role.

  3. Buat Peran RAM target, misalnya bernama target-role. Ubah kebijakan kepercayaan peran target dan tentukan identitas sebagai admin-role dalam kata kunci Principal:

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "RAM": [
              "acs:ram::<ACCOUNT_ID>:role/admin-role"
            ]
          }
        }
      ],
      "Version": "1"
    }
  4. Gunakan mode ChainableProfile untuk mengonfigurasi Alibaba Cloud CLI.

    aliyun configure --profile ChainableProfile --mode ChainableRamRoleArn
  5. Sesuai prompt, masukkan nama profil sumber, ARN peran yang ingin terus diasumsikan, dan informasi lainnya.

    Configuring profile 'ChainableProfile' in 'ChainableRamRoleArn' authenticate mode...
    Source Profile []: RamRoleArnProfile
    Sts Region []: cn-shanghai
    Ram Role Arn []: acs:ram::012345678910****:role/target-role
    Role Session Name []: user-name
    External ID []: abcd1234
    Expired Seconds [900]: 900
    Default Region Id []: cn-shanghai
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] zh: en
    Saving profile[ChainableProfile] ...Done.
  6. Setelah autentikasi selesai, jalankan perintah berikut untuk melihat informasi identitas pemanggil saat ini. Respons berisi ARN dari peran target.

    aliyun sts GetCallerIdentity --profile ChainableProfile

    Dalam skenario rantai peran, pelacakan identitas pemanggil peran awal melalui log audit menjadi sulit. Sebagai praktik terbaik, aktifkan audit asumsi peran.

Durasi sesi peran

Sesi peran adalah sesi akses berdurasi terbatas yang dibuat setelah pihak utama, seperti Pengguna RAM atau entitas tepercaya lainnya, berhasil mengasumsikan peran. Durasi sesi peran mengontrol berapa lama Anda dapat melakukan operasi sebagai peran tersebut. Setelah sesi berakhir, Anda harus mengasumsikan peran tersebut lagi untuk mendapatkan sesi baru.

Konsol

Faktor penentuNilai defaultRentang validDeskripsi
Durasi sesi maksimum1 jam1 hingga 12 jamDapat dikonfigurasi untuk setiap peran secara individual.
Kedaluwarsa sesi login6 jam1 hingga 24 jamPengaturan global yang berlaku untuk semua Pengguna RAM dan Peran RAM.

Durasi sesi efektif adalah nilai terkecil dari dua faktor di atas. Misalnya, jika kedaluwarsa sesi login diatur ke 8 jam dan durasi sesi maksimum Peran A diatur ke 1 jam, setelah Anda beralih ke Peran A, durasi sesinya adalah 1 jam. Setelah sesi berakhir, ganti identitas lagi untuk mengasumsikan peran tersebut.

OpenAPI

Faktor penentuNilai defaultRentang validDeskripsi
Durasi sesi maksimum1 jam1 hingga 12 jamDapat dikonfigurasi untuk setiap peran secara individual.
DurationSeconds parameter3.600 detik (1 jam)900 detik (15 menit) hingga durasi sesi maksimumDitentukan saat Anda memanggil operasi AssumeRole*.
Validitas respons SAML/token OIDCDitentukan oleh IdP (biasanya 1 jam)Ditentukan oleh IdPHanya untuk skenario SSO berbasis peran, saat Anda mendapatkan token STS melalui operasi AssumeRoleWithSAML atau AssumeRoleWithOIDC.

Durasi sesi efektif adalah nilai terkecil dari faktor-faktor di atas. Setelah sesi berakhir, panggil kembali operasi AssumeRole* untuk mengasumsikan peran tersebut.

Untuk mempelajari cara mengonfigurasi durasi sesi maksimum dan kedaluwarsa sesi login, lihat Mengonfigurasi durasi sesi maksimum Peran RAM dan Mengonfigurasi kedaluwarsa sesi login.

FAQ

Bagaimana cara membatasi pengguna agar hanya dapat mengasumsikan Peran RAM tertentu

Kebijakan sistem AliyunSTSAssumeRoleAccess memungkinkan asumsi semua Peran RAM. Untuk membatasi asumsi peran hanya pada Peran RAM tertentu, konfigurasikan kebijakan akses kustom untuk identitas awal dan ubah kebijakan kepercayaan peran target. Untuk informasi lebih lanjut, lihat Bagaimana cara membatasi Pengguna RAM tertentu agar tidak dapat mengasumsikan Peran RAM tertentu.

Apakah Akun Alibaba Cloud dapat mengasumsikan Peran RAM

Tidak. Akun Alibaba Cloud (akun root) tidak dapat beralih ke Peran RAM di Konsol, dan tidak dapat mengasumsikan Peran RAM dengan memanggil operasi AssumeRole.

Apa yang harus saya lakukan jika kredensial sementara yang diperoleh melalui asumsi peran bocor

Jika kredensial sementara yang Anda peroleh melalui asumsi peran bocor, Anda dapat mencabut semua token STS yang telah dikeluarkan. Untuk informasi lebih lanjut, lihat Apa yang harus saya lakukan jika token STS bocor.

Referensi