全部產品
Search
文件中心

Resource Access Management:使用Microsoft Entra ID進行角色SSO的樣本

更新時間:Nov 11, 2025

本文提供一個以Microsoft Entra ID(原Azure AD)與阿里雲進行角色SSO的樣本。配置完成後,您將可以使用Microsoft Entra ID中的使用者帳號通過SAML SSO的方式登入到阿里雲,並臨時扮演阿里雲RAM角色。

說明

在決定是否要在您的環境中配置角色SSO之前,請確認您要使用的雲端服務是否支援使用RAM角色:支援STS的雲端服務

應用情境

在本樣本中,企業擁有一個阿里雲帳號和一個Microsoft Entra ID租戶。在Microsoft Entra ID租戶中,您有一個管理使用者(已授予全域管理員許可權)和一個企業員工使用者(UPN為ssotest01@example.onmicrosoft.com)。您希望經過配置,使企業員工使用者(ssotest01@example.onmicrosoft.com)在登入Microsoft Entra ID後,通過角色SSO訪問阿里雲。

說明

配置角色SSO不影響RAM使用者的正常登入,這意味著使用者可以從IdP進行角色SSO登入到阿里雲的RAM角色,也可以繼續使用RAM使用者登入(包括密碼、使用者SSO等登入方式)。當需要使用角色SSO進行登入時,您需要從IdP側發起登入(這被稱之為IdP發起的SSO)。角色SSO不支援從SP側(即阿里雲)發起登入。

另外需要注意的是,使用角色SSO並不需要在阿里雲預先建立與IdP中匹配的使用者。使用者通過IdP發起SSO登入後,阿里雲會根據SAML斷言中指定的RAM角色,臨時扮演該角色進行訪問。

關於更多使用者SSO與角色SSO的比較,請參見:SSO方式比較

準備工作

  • 您需要通過Resource Access Management員(已授予AliyunRAMFullAccess許可權)執行本樣本阿里雲RAM中的操作。關於如何在RAM中建立使用者並授權,請參見建立RAM使用者為RAM使用者授權

  • 您需要通過 Microsoft Entra ID 管理使用者(已授予全域管理員許可權)執行本樣本 Microsoft Entra ID 中的操作。關於如何在Microsoft Entra ID中建立使用者並授權,請參見Microsoft Entra ID文檔

配置流程

在本樣本中,Microsoft Entra ID是身份供應商(IdP),阿里雲RAM是服務提供者(SP)。我們的配置核心是在IdP和SP之間建立雙向的信任關係,並將Microsoft Entra ID上的應用程式角色映射為在阿里雲上配置的RAM角色。

  1. 步驟一:在 Microsoft Entra ID 建立公司專屬應用程式。從Microsoft Entra ID應用程式庫中使用Alibaba Cloud Service (Role-based SSO)應用模板來建立公司專屬應用程式程式。

  2. 步驟二:在Microsoft Entra ID中配置SAML。在Microsoft Entra ID中將阿里雲角色SSO配置為受信的SAML服務提供者

  3. 步驟三:在阿里雲建立身份供應商。在阿里雲RAM中將Microsoft Entra ID配置為受信的SAML身份供應商

  4. 步驟四:在阿里雲建立RAM角色。在阿里雲RAM中建立信任主體類型為身份供應商的RAM角色。

  5. 步驟五:在 Microsoft Entra ID 建立應用角色並分配使用者。在Microsoft Entra ID中為阿里雲角色SSO應用程式建立和配置應用角色,並將測試使用者指派給公司專屬應用程式程式。

  6. 驗證 SSO 登入。驗證角色SSO登入是否可以正常工作。

步驟一:在 Microsoft Entra ID 建立公司專屬應用程式

  1. 使用Microsoft Entra ID管理使用者登入Azure門戶

  2. 在首頁左上方,單擊SSO_AAD_icon表徵圖。

  3. 在左側導覽列,選擇Microsoft Entra ID > 管理 > 公司專屬應用程式程式 > 所有應用程式

  4. 單擊建立應用程式

  5. 搜尋Alibaba Cloud Service (Role-based SSO)並單擊選擇。

  6. 輸入應用程式名稱,然後單擊建立

    本樣本中,使用預設應用程式名稱Alibaba Cloud Service (Role-based SSO),您也可以自訂應用程式名稱。

步驟二:在Microsoft Entra ID中配置SAML

  1. Alibaba Cloud Service (Role-based SSO)頁面的左側導覽列,選擇管理 > 單一登入

  2. 單擊SAML

  3. 配置SSO資訊。

    1. 在頁面左上方,單擊上傳中繼資料檔案,選擇阿里雲的角色SSO中繼資料檔案後,單擊添加

      說明

      您可以在新的瀏覽器視窗中通過以下URL擷取中繼資料檔案: https://signin.alibabacloud.com/saml-role/sp-metadata.xml,並將中繼資料XML檔案另存到本地。

    2. 基本SAML配置頁面,配置以下資訊,然後單擊儲存

      • 標識符(實體 ID):從上一步的中繼資料檔案中自動讀取entityID的值。

      • 回複 URL(判斷提示取用者服務 URL):從上一步的中繼資料檔案中自動讀取Location的值。

      • 中繼狀態:用來配置角色SSO登入成功後跳轉到的阿里雲頁面。此配置為可選項。

        說明

        出於安全原因,您只能填寫阿里巴巴旗下的網域名稱URL作為中繼狀態的值,例如:*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com,否則配置無效。若不配置,預設跳轉到阿里雲控制台首頁。

    3. 屬性和聲明地區,單擊編輯表徵圖,檢查是否存在以下兩條聲明。

      image

      如果不存在,請單擊添加新的聲明,按下表資訊依次添加兩條聲明。

      名稱

      命名空間

      源屬性

      Role

      https://www.aliyun.com/SAML-Role/Attributes

      屬性

      user.assignedroles

      RoleSessionName

      https://www.aliyun.com/SAML-Role/Attributes

      屬性

      user.userprincipalname

    4. SAML認證地區,單擊下載,擷取聯合中繼資料XML

步驟三:在阿里雲建立身份供應商

  1. 使用Resource Access Management員登入RAM控制台

  2. 在左側導覽列,選擇整合管理 > SSO管理

  3. 角色SSO頁簽,單擊SAML頁簽,然後單擊建立身份供應商

  4. 建立身份供應商頁面,輸入身份供應商名稱AAD

  5. 單擊上傳中繼資料,上傳在步驟二:在Microsoft Entra ID中配置SAML中下載的聯合中繼資料XML

  6. 單擊建立身份供應商

  7. 點擊建立好的身份供應商AAD基本資料中找到身份供應商的ARN並複製,方便後續配置。

步驟四:在阿里雲建立RAM角色

  1. 在RAM控制台的左側導覽列,選擇身份管理 > 角色

  2. 角色頁面,單擊建立角色

  3. 建立角色頁面的右上方,單擊切換編輯器

  4. 在編輯器中指定具體的SAML身份供應商。

    編輯器支援可視化編輯和指令碼編輯兩種模式,您可以任選其一。以可視化編輯模式為例,您需要在主體中選擇身份供應商類型,點擊編輯。然後指定AAD為身份供應商,身份供應商類型選擇SAML

  5. 建立角色對話方塊,輸入角色名稱(AADrole),然後單擊確定完成角色建立。

  6. 點擊建立好的RAM角色,在基本資料中找到角色的ARN並複製,方便後續配置。

說明

您可以根據需要為RAM角色添加許可權。具體操作,請參見為RAM角色授權

步驟五:在 Microsoft Entra ID 建立應用角色並分配使用者

  1. 在Microsoft Entra ID中建立角色。

    1. 管理使用者登入Azure門戶

    2. 在左側導覽列,選擇Microsoft Entra ID > 管理 > 應用註冊

    3. 單擊所有應用程式頁簽,然後單擊Alibaba Cloud Service (Role-based SSO)

    4. 在左側導覽列,選擇管理 > 應用角色

    5. 單擊建立應用程式角色

    6. 建立應用程式角色頁面,配置以下角色資訊,然後單擊應用

      • 顯示名稱:本樣本中輸入Admin

      • 允許的成員類型:本樣本中選中使用者/組+應用程式

      • :輸入RAM角色ARN和身份供應商ARN,兩者之間用半形逗號(,)分隔。本樣本中輸入acs:ram::187125022722****:role/aadrole,acs:ram::187125022722****:saml-provider/AAD

        說明

        請注意這裡的輸入順序必須是RAM角色ARN,身份供應商ARN。順序錯誤會導致角色SSO登入失敗。

      • 說明:輸入備忘資訊。

      • 選中是否要啟用此應用程式角色

    說明

    如果您需要在Microsoft Entra ID中建立多個角色,請重複上述步驟並設定不同的顯示名稱和應用程式角色值。

  2. 將使用者指派給公司專屬應用程式並指定角色。

    1. 在左側導覽列,選擇Microsoft Entra ID > 管理 > 公司專屬應用程式程式 > 所有應用程式

    2. 名稱列表下,單擊Alibaba Cloud Service (Role-based SSO)

    3. 在左側導覽列,選擇管理 > 使用者和組

    4. 單擊左上方的添加使用者/組

    5. 添加分配頁面,選擇目標使用者,然後單擊選擇

    6. 確認選擇的角色是否為Admin,如果不是請更換為Admin。然後單擊分配

      說明

      在實際生產環境中,更加推薦您在Microsoft Entra ID中將使用者加入到使用者組,然後將使用者組分配給公司專屬應用程式程式。

      在設定了多個角色的情況下,您可以將不同的使用者組關聯到不同的角色(例如:建立ecs-admin組關聯到ecs-admin角色,oss-admin組關聯到oss-admin角色),以實現更精細化的許可權管控和更高效的使用者管理。

驗證 SSO 登入

角色SSO僅支援從IdP側發起SSO登入,因此您需要從Microsoft Entra ID側進行登入來驗證結果。

  1. 擷取使用者訪問URL。

    1. 管理使用者登入Azure門戶

    2. 在左側導覽列,選擇Microsoft Entra ID > 管理 > 公司專屬應用程式程式 > 所有應用程式

    3. 名稱列表下,單擊Alibaba Cloud Service (Role-based SSO)

    4. 在左側導覽列,選擇管理 > 屬性,擷取使用者訪問URL

      使用者訪問URL

  2. 使用者(ssotest01@example.onmicrosoft.com)從管理使用者處擷取上述使用者訪問URL,然後在瀏覽器中輸入該URL,使用自己的帳號登入。登入成功後,預設使用者會登入到阿里雲控制台。可以在帳號名前面看到我們定義的RAM角色(aadrole)。

    74AD0757-1D76-4AA9-BE1B-CEA53CD9219A

    系統將自動SSO登入並重新導向到您指定的中繼狀態頁面。如果未指定中繼狀態或超出允許範圍,則系統會訪問阿里雲控制台首頁。

進階:配置Microsoft Entra ID與多個阿里雲帳號的角色SSO

假設您有兩個阿里雲帳號(Account1和Account2),您希望經過配置,使得企業員工使用者(ssotest01@example.onmicrosoft.com)在登入Microsoft Entra ID後,通過角色SSO既能訪問阿里雲帳號(Account1),也能訪問阿里雲帳號(Account2)。

  1. 在Microsoft Entra ID庫中添加應用程式Alibaba Cloud Service (Role-based SSO)

  2. 配置Microsoft Entra ID SSO。

  3. 在阿里雲建立身份供應商。

    您需要在兩個阿里雲帳號(Account1和Account2)中分別建立身份供應商AAD

    每個阿里雲帳號內的具體操作,請參見步驟三:在阿里雲建立身份供應商

  4. 在阿里雲建立RAM角色。

    您需要在兩個阿里雲帳號(Account1和Account2)中分別建立RAM角色,本樣本中假設在阿里雲帳號(Account1)中建立兩個RAM角色,在阿里雲帳號(Account2)中建立一個RAM角色。具體如下:

    • 阿里雲帳號(Account1)的RAM角色:adminaadreadaad

    • 阿里雲帳號(Account2)的RAM角色:financeaad

    每個阿里雲帳號內的具體操作,請參見步驟四:在阿里雲建立RAM角色

  5. 將阿里雲RAM角色與Microsoft Entra ID使用者進行關聯。

    在Microsoft Entra ID中建立三個應用程式角色,將三個角色指派給使用者(ssotest01@example.onmicrosoft.com)。三個角色的值分別為:

    • acs:ram::<Account1_ID>:role/adminaad,acs:ram::<Account1_ID>:saml-provider/AAD

    • acs:ram::<Account1_ID>:role/readaad,acs:ram::<Account1_ID>:saml-provider/AAD

    • acs:ram::<Account2_ID>:role/financeaad,acs:ram::<Account2_ID>:saml-provider/AAD

    具體操作,請參見步驟五:在 Microsoft Entra ID 建立應用角色並分配使用者

  6. Microsoft Entra ID使用者通過角色SSO訪問阿里雲。

    使用者(ssotest01@example.onmicrosoft.com)登入Azure的我的應用程式頁面,單擊應用程式Alibaba Cloud Service (Role-based SSO)。然後在阿里雲介面上,您需要根據提示選擇要訪問的阿里雲帳號(Account1或Account2)及其角色,從而以角色SSO方式訪問阿里雲。

問題排查

請參見單點登入(SSO)常見問題