全部产品
Search
文档中心

Resource Access Management:Mengasumsikan Peran RAM

更新时间:Feb 09, 2026

Peran Resource Access Management (RAM) tidak memiliki kredensial jangka panjang. Pihak yang berwenang yang dipercaya harus mengasumsikan peran tersebut untuk memperoleh kredensial keamanan sementara dan menggunakan izin peran tersebut. Topik ini menjelaskan cara mengasumsikan peran RAM melalui Alibaba Cloud Management Console, Alibaba Cloud CLI, dan API.

Memahami pengasumsian peran

Peran RAM tidak memiliki kredensial keamanan jangka panjang seperti kata sandi atau pasangan AccessKey. Untuk menggunakan suatu peran, pihak yang berwenang yang dipercaya (seperti Pengguna RAM, layanan Alibaba Cloud, atau pengguna federasi) harus mengasumsikan peran tersebut. Proses ini, yang dikenal sebagai role assumption, memberikan kredensial keamanan sementara kepada pihak tersebut.

Ketika suatu pihak mengasumsikan peran RAM, mereka sementara melepaskan izin mereka sendiri dan mengambil alih izin yang diberikan kepada peran tersebut. Peran tersebut dapat berada dalam akun Alibaba Cloud yang sama dengan pihak tersebut atau dalam akun yang berbeda (cross-account access).

Cara kerja

Proses mengasumsikan peran RAM melibatkan langkah-langkah berikut, yang difasilitasi oleh Alibaba Cloud Security Token Service (STS).

image
  1. Meminta kredensial. Suatu pihak (misalnya Pengguna RAM Alice) mengirim permintaan AssumeRole ke STS, dengan menentukan ARN dari peran yang akan diasumsikan (misalnya prod-role).

  2. Memverifikasi izin. RAM memverifikasi dua hal: (a) bahwa Alice memiliki izin sts:AssumeRole dalam kebijakan aksesnya, dan (b) bahwa kebijakan kepercayaan prod-role menetapkan Alice (atau akunnya) sebagai pihak yang berwenang yang dipercaya.

  3. Mendapatkan kredensial sementara. Jika kedua pemeriksaan berhasil, STS mengembalikan kredensial keamanan sementara (token STS).

  4. Membuat permintaan. Pihak tersebut menggunakan token STS untuk membuat permintaan ke layanan Alibaba Cloud, seperti OSS. Layanan tersebut mengotorisasi permintaan berdasarkan kebijakan akses yang disambungkan ke prod-role.

Metode mengasumsikan peran

Suatu pihak dapat mengasumsikan peran dengan beberapa cara, tergantung pada kasus penggunaannya:

  • Switching roles di console: Pengguna RAM yang telah diautentikasi dapat beralih dari identitas saat ini ke peran RAM untuk melakukan tugas di Alibaba Cloud Management Console.

  • Akses programatik (API/CLI/SDK): Aplikasi atau skrip dapat memanggil operasi API (seperti AssumeRole dan AssumeRoleWithSAML) untuk memperoleh kredensial sementara bagi peran RAM. Alibaba Cloud CLI dan SDK menyederhanakan proses ini.

  • Federasi identitas (SAML/OIDC): Pengguna dari penyedia identitas eksternal (IdP) dapat diberikan akses untuk mengasumsikan peran RAM, memungkinkan single sign-on (SSO) ke console atau akses API terfederasi. Untuk informasi lebih lanjut, lihat Role-based SSO.

  • Peran layanan untuk resource Alibaba Cloud: Layanan Alibaba Cloud (seperti Elastic Compute Service atau Function Compute) dapat mengasumsikan peran RAM untuk mengakses resource lain atas nama Anda. Ini umum digunakan untuk aplikasi yang berjalan di infrastruktur Alibaba Cloud. Untuk informasi lebih lanjut, lihat Aplikasi di Alibaba Cloud mengakses resource Alibaba Cloud.

Topik ini berfokus pada pengasumsian peran melalui console, CLI, dan API. Untuk informasi tentang federasi dan peran layanan, lihat dokumentasi terkait.

Durasi sesi peran

Ketika peran RAM diasumsikan, sesi sementara dibuat. Durasi sesi tersebut ditentukan oleh nilai yang lebih kecil dari berikut ini:

  • Durasi sesi maksimum peran RAM: Atribut dari peran itu sendiri, yang dapat dikonfigurasi dari 1 hingga 12 jam (default adalah 1 jam).

  • Durasi sesi yang diminta:

    • Console: Durasi ditentukan oleh pengaturan global logon session expiration untuk akun Anda, yang berlaku untuk semua Pengguna RAM dan peran. Pengaturan ini dapat diatur dari 1 hingga 24 jam (default adalah 6 jam).

    • API/CLI: Durasi ditentukan oleh parameter DurationSeconds dalam panggilan AssumeRole. Nilai ini dapat diatur dari 15 menit (900 detik) hingga durasi sesi maksimum peran tersebut. Durasi default adalah 1 jam (3.600 detik).

Sebagai contoh, jika durasi sesi maksimum suatu peran adalah 4 jam dan Anda melakukan panggilan AssumeRole dengan meminta durasi 8 jam, sesi tersebut hanya akan berlangsung selama 4 jam. Jika Anda beralih ke peran yang sama di console, dan pengaturan logon session expiration global adalah 2 jam, sesi peran Anda akan berlangsung selama 2 jam.

Untuk mempelajari cara mengonfigurasi pengaturan ini, lihat Tentukan durasi sesi maksimum untuk peran RAM dan Kelola pengaturan keamanan Pengguna RAM.

Cara mengasumsikan peran

Mengasumsikan peran RAM di console

Setelah masuk ke console sebagai Pengguna RAM atau pengguna federasi, Anda dapat beralih ke peran RAM untuk melakukan tugas dengan izin peran tersebut.

Prasyarat

  • Masuk sebagai Pengguna RAM

    Pihak yang melakukan switching peran (baik Pengguna RAM maupun peran lain) harus memiliki izin sts:AssumeRole dalam kebijakan aksesnya. Anda dapat memberikan izin ini dengan menyambungkan kebijakan sistem AliyunSTSAssumeRoleAccess atau kebijakan kustom. Untuk informasi lebih lanjut, lihat Kelola izin untuk Pengguna RAM.

    Catatan

    Kebijakan sistem AliyunSTSAssumeRoleAccess memberikan izin untuk mengasumsikan peran apa pun. Untuk keamanan yang lebih baik, buat kebijakan kustom yang membatasi izin ini hanya untuk ARN peran RAM tertentu.

  • Masuk menggunakan role-based SSO

    Kebijakan kepercayaan peran RAM target harus mengizinkan pihak tersebut (atau akun pihak tersebut) untuk mengasumsikan peran tersebut.

Prosedur

  1. Masuk ke RAM console sebagai Pengguna RAM atau pengguna federasi.

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

    Snipaste_2025-12-12_10-24-09

    切换身份

  3. Di halaman Switch Role, masukkan informasi berikut:

    • Enterprise Alias / Domain / Account UID: Masukkan akhiran logon default Pengguna RAM, atau ID akun atau alias akun Alibaba Cloud yang memiliki peran tersebut.

    • Role Name: Masukkan nama peran RAM yang ingin Anda asumsikan.

  4. Klik Submit.

    Anda sekarang menggunakan izin dari peran RAM yang diasumsikan. Bilah navigasi di pojok kanan atas menampilkan peran saat ini dan identitas logon awal Anda dalam format CurrentRole/LogonIdentity.

    角色切换成功

    Metode logon

    Identitas yang ditampilkan

    (CurrentRole/LogonIdentity)

    Logged on as a RAM user

    AssumedRoleName/RAMUserName

    Logged on via SSO (first assumed role)

    AssumedRoleName/RoleSessionNameFromIdP

    Logged on from an SSO role (role chaining)

    SecondAssumedRole/RoleSessionNameFromIdP

  5. (Opsional) Untuk berhenti menggunakan peran RAM, arahkan kursor ke gambar profil di pojok kanan atas dan klik Back to Logon Identity. Tindakan ini mengembalikan izin awal Anda.

Catatan

Jika switching gagal, verifikasi bahwa kebijakan akses Pengguna RAM Anda dan kebijakan kepercayaan peran RAM target dikonfigurasi dengan benar. Kegagalan dapat terjadi jika kebijakan kepercayaan mencakup kondisi seperti sts:ExternalId atau sts:SourceIdentity yang tidak dipenuhi oleh sesi Anda.

Mengasumsikan peran RAM secara pemrograman (API)

Aplikasi Anda dapat memanggil operasi API untuk mengasumsikan peran RAM dan menerima kredensial sementara.

Operasi API

Operasi API

Deskripsi

AssumeRole

Operasi utama untuk mengasumsikan peran. Pemanggil harus merupakan pihak yang telah diautentikasi (Pengguna RAM atau peran).

AssumeRoleWithSAML

Digunakan dalam skenario federasi untuk menukar pernyataan SAML dari IdP menjadi kredensial peran sementara. Pernyataan SAML harus valid dan belum kedaluwarsa pada saat pemanggilan.

AssumeRoleWithOIDC

Digunakan dalam skenario federasi untuk menukar token identitas OIDC dari IdP menjadi kredensial peran sementara. Token OIDC harus valid dan belum kedaluwarsa pada saat pemanggilan.

Prasyarat

  • Untuk memanggil AssumeRole, pihak pemanggil harus memiliki izin sts:AssumeRole untuk peran RAM target. Misalnya, Anda dapat menyambungkan kebijakan sistem AliyunSTSAssumeRoleAccess ke pihak pemanggil.

  • Untuk memanggil AssumeRoleWithSAML atau AssumeRoleWithOIDC, kebijakan kepercayaan peran RAM target harus mempercayai IdP yang sesuai. Pemanggil tidak memerlukan kebijakan akses.

Kami merekomendasikan penggunaan Alibaba Cloud SDK untuk memanggil operasi API ini. SDK mengelola pengambilan kredensial dan logon untuk Anda. Untuk contoh, lihat Gunakan pasangan AccessKey dan RamRoleArn untuk memperoleh token STS (Python SDK).

Catatan

Jika switching gagal, verifikasi bahwa kebijakan akses Pengguna RAM Anda dan kebijakan kepercayaan peran RAM target dikonfigurasi dengan benar. Kegagalan dapat terjadi jika kebijakan kepercayaan mencakup kondisi seperti sts:ExternalId atau sts:SourceIdentity yang tidak dipenuhi oleh sesi Anda.

Mengasumsikan peran RAM dengan CLI

Anda dapat mengonfigurasi profil Alibaba Cloud CLI untuk secara otomatis mengasumsikan peran RAM saat menjalankan perintah.

  1. Buat profil menggunakan mode RamRoleArn. Mode ini menggunakan kredensial dari profil sumber (seperti pasangan AccessKey Pengguna RAM) untuk mengasumsikan peran RAM.

    aliyun configure --profile RamRoleArnProfile --mode RamRoleArn
  2. Pada prompt, masukkan ID AccessKey dan rahasia Pengguna RAM yang akan mengasumsikan peran tersebut, serta ARN dari peran yang akan diasumsikan (Ram Role Arn). Untuk deskripsi parameter lengkap, lihat Konfigurasikan 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.
  3. Jalankan perintah menggunakan opsi --profile. CLI secara otomatis mengasumsikan peran dan menggunakan kredensial sementara untuk menjalankan perintah.

    aliyun ram ListUsers --profile RamRoleArnProfile

Untuk langkah-langkah detail, lihat Buat dan gunakan pasangan AccessKey untuk akses programatik.

Kasus penggunaan lanjutan

Cross-account access

Anda dapat menggunakan peran RAM untuk memungkinkan pihak di satu akun mengakses resource di akun lain.

Hal ini memerlukan dua pengaturan izin utama:

  • Kebijakan kepercayaan peran RAM di akun tujuan harus menetapkan akun sumber (atau pihak tertentu di dalamnya) sebagai pihak yang berwenang yang dipercaya.

  • Pihak di akun sumber harus memiliki izin sts:AssumeRole dalam kebijakan aksesnya.

Untuk informasi lebih lanjut, lihat Akses resource lintas akun Alibaba Cloud.

Role chaining

Role chaining terjadi ketika Anda menggunakan kredensial satu peran RAM untuk mengasumsikan peran kedua. Misalnya, pengguna mengasumsikan Role-A, lalu menggunakan kredensial sementara dari Role-A untuk mengasumsikan Role-B.

Untuk mengaktifkan role chaining, peran pertama (Role-A) harus memiliki kebijakan akses yang mengizinkannya memanggil sts:AssumeRole pada peran kedua (Role-B). Selain itu, kebijakan kepercayaan Role-B harus menetapkan Role-A sebagai pihak yang berwenang yang dipercaya.

Contoh berikut menunjukkan cara menyiapkan role chaining dengan CLI.

  1. Konfigurasikan profil CLI (seperti RamRoleArnProfile) untuk mengasumsikan peran awal (seperti admin-role) dalam rantai tersebut. Untuk petunjuk, lihat bagian "Mengasumsikan peran RAM dengan CLI" dalam topik ini.

  2. Berikan izin peran sumber untuk mengasumsikan peran lain. Misalnya, sambungkan kebijakan AliyunSTSAssumeRoleAccess ke peran sumber.

  3. Buat peran tujuan (seperti target-role) dan konfigurasikan kebijakan kepercayaannya untuk mempercayai peran sumber.

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "RAM": [
              "acs:ram::<ACCOUNT_ID>:role/admin-role"
            ]
          }
        }
      ],
      "Version": "1"
    }
  4. Konfigurasikan profil CLI baru menggunakan mode ChainableRamRoleArn.

    aliyun configure --profile ChainableProfile --mode ChainableRamRoleArn
  5. Pada prompt, tentukan nama profil sumber (RamRoleArnProfile) dan ARN dari peran tujuan.

    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. Gunakan profil berantai baru untuk menjalankan perintah. Perintah tersebut dieksekusi dengan izin peran terakhir dalam rantai. Anda dapat memverifikasi hal ini dengan memanggil sts GetCallerIdentity.

    aliyun sts GetCallerIdentity
Catatan

Role chaining dapat menyulitkan identifikasi pengguna awal dalam log ActionTrail. Untuk meningkatkan kemampuan pelacakan, Anda dapat menggunakan kunci kondisi SourceIdentity untuk meneruskan identitas pengguna awal melalui rantai peran. Untuk informasi lebih lanjut, lihat Gunakan SourceIdentity untuk auditing dan kontrol akses.

FAQ

Bagaimana cara mengizinkan Pengguna RAM mengasumsikan hanya peran RAM tertentu?

Alih-alih menyambungkan kebijakan sistem AliyunSTSAssumeRoleAccess, buat kebijakan kustom untuk pengguna tersebut. Dalam kebijakan ini, tetapkan Action ke sts:AssumeRole dan tentukan ARN dari peran spesifik yang boleh diasumsikan dalam elemen Resource. Untuk contoh, lihat bagian "How do I restrict a specific RAM user from assuming a specific RAM role? " dalam FAQ tentang peran RAM dan token STS.

Bisakah pemilik akun Alibaba Cloud mengasumsikan peran RAM?

Tidak. Pemilik akun Alibaba Cloud tidak dapat mengasumsikan peran RAM. Pengasumsian peran dirancang untuk Pengguna RAM dan peran (serta pengguna federasi).

Apa yang harus saya lakukan jika kredensial sementara peran RAM bocor?

Jika Anda mencurigai bahwa kredensial sementara telah dikompromikan, Anda dapat segera membatalkan semua token aktif untuk peran RAM tersebut. Untuk petunjuk, lihat bagian "What do I do if an STS token is leaked? " dalam FAQ tentang peran RAM dan token STS.

Referensi