全部產品
Search
文件中心

Resource Access Management:RAM角色概覽

更新時間:Feb 07, 2026

本文介紹RAM角色的定義、與RAM使用者的區別、應用情境、核心概念和使用流程。

什麼是RAM角色

RAM角色是一種RAM身份類型,可以被授予一組權限原則。與RAM使用者不同,RAM角色沒有長期身份憑證(登入密碼或存取金鑰),需要被一個可信實體扮演後才能使用。扮演成功後,可信實體將獲得RAM角色的臨時身份憑證,即安全性權杖(STS Token),使用該安全性權杖就能以RAM角色身份訪問被授權的資源。

每個RAM角色都有一個全域唯一的資源描述符(ARN),格式為acs:ram::<account-id>:role/<role-name>,用於在策略和API調用中指定具體角色。關於如何查看角色ARN,請參見查看RAM角色

為什麼使用RAM角色

相比直接使用RAM使用者身份訪問雲資源,扮演RAM角色具備更高的靈活性與安全性:

  • 動態許可權提升:日常以許可權受限的RAM使用者登入控制台,需要執行特定操作時臨時切換到具備要求的權限的角色,操作完成後切回原身份。

  • 跨帳號資源訪問:扮演其他阿里雲帳號下的RAM角色,訪問該帳號的資源。

  • 臨時憑證擷取:通過調用API扮演角色擷取STS Token,用於程式或服務訪問阿里雲資源,避免在代碼中寫入程式碼長期AccessKey。

核心概念

在使用RAM角色前,需要瞭解以下核心概念。這些概念有助於理解角色的工作機制和配置方式。

image

可信實體

可信實體是指被允許扮演該角色的實體身份,通過角色信任策略指定。主要包括以下三類:

  • 雲帳號:允許雲帳號本身,或阿里雲帳號下的RAM身份(RAM使用者或RAM角色)扮演該角色,可以是當前帳號或其他帳號。

    適用情境:

    • RAM使用者在控制台切換身份扮演角色。

    • 通過CLI/SDK調用 AssumeRole介面扮演角色。

    說明

    建立可信實體為雲帳號類型的RAM角色時,預設信任該雲帳號本身,也即帳號下的所有身份均可扮演該角色。可通過修改角色信任策略,限定該RAM角色只能被帳號(當前或其他特定帳號)下的指定RAM身份扮演,具體請參見修改RAM角色的信任策略

  • 雲端服務:允許指定的雲端服務扮演該角色。這種角色稱之為服務角色。

    適用情境:

    • 委託雲端服務代表使用者完成指定操作。如使用者可通過執行個體RAM角色,在ECS執行個體中訪問OSS bucket中的資料。

    • 大多數雲端服務會自動建立服務關聯角色(一種特殊的RAM角色,由雲端服務預定義),用於解決雲端服務間的授權訪問問題。

  • 身份供應商:允許來自指定身份供應商(支援SAML2.0或OIDC協議)的使用者扮演該角色。

    適用情境:

    • IdP使用者使用角色SSO的方式登入控制台。

    • 調用AssumeRoleWithSAMLAssumeRoleWithOIDC介面,傳入從IdP處獲得的令牌(SAML響應或ID Token)扮演角色。

角色扮演

角色扮演是指RAM使用者或其他實體身份切換到目標RAM角色的過程。角色扮演依賴於阿里雲Security Token Service(Security Token Service, STS),扮演成功後調用者獲得由STS服務頒發的STS Token,並建立角色會話。在角色會話持續期間,原身份的許可權暫時失效,獲得RAM角色的許可權,以RAM角色的身份訪問資源。被扮演的RAM角色可與原身份屬於同一帳號,也可屬於不同帳號(跨帳號角色扮演)。

可登入控制台後切換身份,也可通過調用AssumeRole 或 AssumeRoleWithSAML/AssumeRoleWithOIDC等介面扮演角色。具體請參見扮演RAM角色

信任策略

角色信任策略(Trust Policy)是為RAM角色配置的JSON格式策略文檔,定義了哪些身份主體(即可信實體)可以扮演該角色。角色信任策略本質上是一種附加在角色上的基於資源的權限原則。

核心作用

  • 控制身份信任邊界:決定哪些主體可以扮演該角色。

  • 支撐跨帳號和跨服務訪問:是實現多帳號協同、跨服務授權訪問的基礎機制。

  • 配合權限原則:信任策略決定“誰能扮演”,權限原則決定“能做什麼”,二者協同工作。

策略樣本

以下信任策略允許帳號 123456789012**** 下的所有身份(RAM使用者、RAM角色)扮演該角色:

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "RAM": [
          "acs:ram::123456789012****:root"
        ]
      }
    }
  ],
  "Version": "1"
}

RAM角色與RAM使用者的區別

RAM角色和RAM使用者都是RAM身份類型,但它們的使用方式和適用情境有顯著差異。下表對比了兩者的主要區別:

對比項

RAM使用者

RAM角色

使用方式

可直接使用(如使用使用者名稱和密碼登入控制台)

需被可信實體扮演後才能使用

身份憑證

擁有長期憑證(登入密碼或AccessKey)

無長期憑證,扮演成功後獲得臨時安全憑證(STS Token)

憑證有效期間

長期有效

STS Token有時效性,到期後需重新扮演角色擷取

信任策略

擁有信任策略,定義誰可以扮演該角色

角色會話

角色會話是指實體身份(如RAM使用者、雲端服務或其他可信實體)在成功扮演角色後,所建立的臨時訪問會話。在會話有效期間,調用者以該角色身份執行操作,原身份所擁有的許可權將暫時失去。

一個完整的角色會話通常由以下要素構成:

  1. 會話名稱(RoleSessionName): 這是一個由調用方自訂的標識符(一般設定為使用者名稱、服務名或任務名),用於在審計日誌(如Action Trail ActionTrail)中區分同一角色下不同的會話執行個體,實現操作的可追溯性。

  2. 有效時間:角色會話具有明確的生命週期,到期後憑證自動失效。具體請參見:角色會話的有效時間

說明

在建立會話時,可以額外指定一個權限原則,稱之為會話策略。最終角色會話的許可權是角色本身許可權會話策略許可權的交集,實現了許可權的二次精細化管控。具體使用方式請參見AssumeRole - 擷取扮演角色的臨時身份憑證中的請求參數Policy描述。

角色鏈

角色鏈是指一個身份(如RAM使用者)首先扮演第一個角色,然後利用該角色的臨時安全憑證去扮演第二個(甚至更多)角色的過程。簡單來說,就是:A 扮演 B,B 再扮演 C。角色鏈中的RAM角色可以屬於同一個阿里雲帳號,也可以屬於不同帳號。

角色鏈適用於需要跨多個帳號進行資源訪問的情境,例如:

企業採用多帳號架構管理雲資源(如管理帳號、開發帳號、測試帳號、生產帳號),營運人員通過企業IdP以角色SSO方式登入阿里雲後,獲得一個基礎營運角色(僅具備查看許可權)。當需要在生產帳號執行變更操作時,營運人員切換身份扮演生產帳號下的“生產變更角色”,完成操作後切回基礎角色。 角色鏈路徑:企業IdP → 基礎營運角色(管理帳號)→ 生產變更角色(生產帳號)。

可以使用阿里雲控制台(切換身份)、阿里雲CLI或API來進行鏈式角色扮演。具體請參見角色鏈使用方式

使用限制

關於RAM角色的使用限制,請參見使用限制

使用流程

  1. 建立RAM角色

    您可以根據不同的用途,選擇建立不同可信實體類型的RAM角色。

  2. 為RAM角色授權

    為RAM角色添加系統策略或自訂策略。具體操作,請參見管理RAM角色的許可權

  3. 扮演RAM角色

    身份主體(如RAM使用者、RAM角色、雲端服務等)通過控制台或API扮演角色並擷取安全性權杖。具體操作,請參見扮演RAM角色的操作方式

應用情境

  • 臨時授權訪問

    開發人員日常使用許可權受限的RAM使用者帳號工作,當需要執行敏感操作(如修改生產環境配置)時,需要臨時擷取更高許可權。此時,您可以建立可信實體為雲帳號的RAM角色。開發人員通過控制台切換身份臨時扮演該角色執行操作,完成後切回原身份。這種方式既保證了日常工作的安全性,又滿足了臨時許可權需求。

    更多資訊,請參見扮演RAM角色的操作方式

  • 跨帳號訪問

    當擁有多個阿里雲帳號時(如帳號A和帳號B),希望帳號B訪問帳號A的資源:

    1. 在帳號A下建立可信實體為帳號B的RAM角色

    2. 授權帳號B下的RAM使用者或RAM角色可以扮演該角色

    3. 帳號B通過扮演該角色訪問帳號A的指定資源

    更多資訊,請參見跨阿里雲帳號訪問資源

  • 委託服務訪問

    ECS執行個體上啟動並執行應用程式需要訪問OSS等雲資源時,通常需要在代碼中配置AccessKey,存在憑證泄露風險。此時,您可以建立可信實體為雲端服務(ECS)的RAM角色,並為ECS執行個體綁定該RAM角色,執行個體會自動擷取並使用安全憑證訪問雲資源,無需在代碼中配置AccessKey。

    更多資訊,請參見執行個體RAM角色

  • 單點登入(角色SSO)

    阿里雲與企業進行角色SSO時,阿里雲是服務提供者(SP),而企業自有的身份管理系統則是身份供應商(IdP)。通過角色SSO,企業可以在本地IdP中管理員工資訊,無需進行阿里雲和企業IdP間的使用者同步,企業員工將使用指定的RAM角色登入阿里雲。此時,您可以建立可信實體為身份供應商的RAM角色解決該問題。

    更多資訊,請參見SAML角色SSO概覽OIDC角色SSO概覽

相關文檔