全部產品
Search
文件中心

Resource Access Management:使用Azure AD進行角色SSO的樣本

更新時間:Feb 05, 2024

本文提供一個以Azure AD(Azure Active Directory)與阿里雲進行角色SSO的樣本,協助使用者理解企業IdP與阿里雲進行SSO的端到端配置流程。

背景資訊

在本樣本中,企業擁有一個阿里雲帳號(Account1)和一個Azure AD租戶。在Azure AD租戶中,您有一個管理使用者(已授予全域管理員許可權)和一個企業員工使用者(u2)。您希望經過配置,使得企業員工使用者(u2)在登入Azure AD後,通過角色SSO訪問阿里雲帳號(Account1)。

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

步驟一:在Azure AD庫中添加應用程式

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

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

  3. 在左側導覽列,選擇Azure Active Directory > 公司專屬應用程式程式 > 所有應用程式

  4. 單擊建立應用程式

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

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

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

  7. Alibaba Cloud Service (Role-based SSO)頁面,單擊左側導覽列的屬性,複製並儲存對象ID

步驟二:配置Azure AD SSO

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

  2. 選擇單一登入方法頁面,單擊SAML

  3. 設定SAML單一登入頁面,配置SSO資訊。

    1. 在頁面左上方,單擊上傳中繼資料檔案,選擇檔案後,單擊添加

      說明

      您可以通過以下URL擷取中繼資料檔案: https://signin.alibabacloud.com/saml-role/sp-metadata.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. 屬性和索賠地區,單擊編輯表徵圖。

    4. 單擊添加新的聲明,配置以下資訊,然後單擊儲存

      • 名稱地區,輸入Role

      • 命名空間地區,輸入https://www.aliyun.com/SAML-Role/Attributes

      • 地區,選擇屬性

      • 源屬性地區,從下拉式清單中選擇user.assignedroles

    5. 重複上述步驟,添加一個新的聲明。

      • 名稱地區,輸入RoleSessionName

      • 命名空間地區,輸入https://www.aliyun.com/SAML-Role/Attributes

      • 地區,選擇屬性

      • 源屬性地區,從下拉式清單中選擇user.userprincipalname

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

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

  1. 阿里雲帳號(Account1)登入RAM控制台

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

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

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

  5. 中繼資料文檔地區,單擊上傳檔案

    說明

    上傳在步驟二:配置Azure AD SSO中下載的聯合中繼資料XML

  6. 單擊完成

  7. 單擊關閉

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

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

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

  3. 建立角色面板,選擇可信實體類型為身份供應商,然後單擊下一步

  4. 輸入角色名稱AADrole備忘

  5. 選擇身份供應商類型為SAML

  6. 在下拉式清單中選擇身份供應商AAD,單擊完成

    說明
    • 您可以根據需要為RAM角色添加許可權。關於如何為RAM角色添加許可權,請參見為RAM角色授權

    • 當身份供應商和對應的RAM角色建立完成後,請儲存好對應的ARN。關於如何查看ARN,請參見查看RAM角色

  7. 單擊關閉

步驟五:將阿里雲RAM角色與Azure AD使用者進行關聯

  1. 在Azure AD中建立角色。

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

    2. 在左側導覽列,選擇Azure Active Directory > 應用註冊

    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

      • 說明:輸入備忘資訊。

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

    說明

    如果您需要在Azure AD中建立多個角色,請重複上述步驟。

  2. 將角色添加到使用者(u2)中。

    1. 在左側導覽列,選擇Azure Active Directory > 公司專屬應用程式程式 > 所有應用程式

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

    3. 在左側導覽列,單擊使用者和組

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

    5. 單擊使用者,從使用者列表中選擇使用者(u2),單擊選擇

    6. 單擊分配

    7. 查看分配的角色。

      查看分配的角色

      說明

      如果您分配了使用者(u2),建立的角色會自動附加給該使用者。如果您建立了多個角色,您可以根據需要合理分配角色。

驗證結果

  1. 擷取使用者訪問URL。

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

    2. 在左側導覽列,選擇Azure Active Directory > 公司專屬應用程式程式 > 所有應用程式

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

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

      使用者訪問URL

  2. 使用者(u2)從管理使用者處擷取上述使用者訪問URL,然後在瀏覽器中輸入該URL,使用自己的帳號登入。

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

    角色SSO成功

(可選)配置Azure AD與多個阿里雲帳號的角色SSO

假設您有兩個阿里雲帳號(Account1和Account2),您希望經過配置,使得企業員工使用者(u2)在登入Azure AD後,通過角色SSO既能訪問阿里雲帳號(Account1),也能訪問阿里雲帳號(Account2)。

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

  2. 配置Azure AD SSO。

    具體操作,請參見步驟二:配置Azure AD SSO

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

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

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

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

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

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

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

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

  5. 將阿里雲RAM角色與Azure AD使用者(u2)進行關聯。

    在Azure AD中建立三個角色,將三個角色添加到使用者(u2)中。三個角色的值分別為:

    • 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

    具體操作,請參見步驟五:將阿里雲RAM角色與Azure AD使用者進行關聯

  6. Azure AD使用者(u2)通過角色SSO訪問阿里雲。

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