本文提供一個以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庫中添加應用程序
管理員用戶登錄Azure門戶。
在主頁左上角,單擊圖標。
在左側導航欄,選擇 。
單擊新建應用程序。
搜索Alibaba Cloud Service (Role-based SSO)并單擊選擇。
輸入應用名稱,然后單擊創建。
本示例中,使用默認應用名稱
Alibaba Cloud Service (Role-based SSO)
,您也可以自定義應用名稱。在Alibaba Cloud Service (Role-based SSO)頁面,單擊左側導航欄的屬性,復制并保存對象ID。
步驟二:配置Azure AD SSO
在Alibaba Cloud Service (Role-based SSO)頁面,單擊左側導航欄的單一登錄。
在選擇單一登錄方法頁面,單擊SAML。
在設置SAML單一登錄頁面,配置SSO信息。
在頁面左上角,單擊上傳元數據文件,選擇文件后,單擊添加。
說明您可以通過以下URL獲取元數據文件:
https://signin.aliyun.com/saml-role/sp-metadata.xml
。在基本SAML配置頁面,配置以下信息,然后單擊保存。
標識符(實體 ID):從上一步的元數據文件中自動讀取
entityID
的值。回復 URL(斷言使用者服務 URL):從上一步的元數據文件中自動讀取
Location
的值。中繼狀態:用來配置角色SSO登錄成功后跳轉到的阿里云頁面。
說明出于安全原因,您只能填寫阿里巴巴旗下的域名URL作為中繼狀態的值,例如:*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com,否則配置無效。若不配置,默認跳轉到阿里云控制臺首頁。
在屬性和索賠區域,單擊圖標。
單擊添加新的聲明,配置以下信息,然后單擊保存。
在名稱區域,輸入
Role
。在命名空間區域,輸入
https://www.aliyun.com/SAML-Role/Attributes
。在源區域,選擇屬性。
在源屬性區域,從下拉列表中選擇user.assignedroles。
重復上述步驟,添加一個新的聲明。
在名稱區域,輸入
RoleSessionName
。在命名空間區域,輸入
https://www.aliyun.com/SAML-Role/Attributes
。在源區域,選擇屬性。
在源屬性區域,從下拉列表中選擇user.userprincipalname。
在SAML證書區域,單擊下載,獲取聯合元數據XML。
步驟三:在阿里云創建身份提供商
阿里云賬號(Account1)登錄RAM控制臺。
在左側導航欄,選擇 。
在角色SSO頁簽,單擊SAML頁簽,然后單擊創建身份提供商。
在創建身份提供商頁面,輸入身份提供商名稱
AAD
和備注。在元數據文檔區域,單擊上傳文件。
說明上傳在步驟二:配置Azure AD SSO中下載的聯合元數據XML。
單擊完成。
單擊關閉。
步驟四:在阿里云創建RAM角色
在RAM控制臺的左側導航欄,選擇 。
在角色頁面,單擊創建角色。
在創建角色面板,選擇可信實體類型為身份提供商,然后單擊下一步。
輸入角色名稱
AADrole
和備注。選擇身份提供商類型為SAML。
在下拉列表中選擇身份提供商
AAD
,單擊完成。單擊關閉。
步驟五:將阿里云RAM角色與Azure AD用戶進行關聯
在Azure AD中創建角色。
管理員用戶登錄Azure門戶。
在左側導航欄,選擇 。
單擊所有應用程序頁簽,然后單擊Alibaba Cloud Service (Role-based SSO)。
在左側導航欄,單擊應用角色。
單擊創建應用程序角色。
在創建應用程序角色頁面,配置以下角色信息,然后單擊應用。
顯示名稱:本示例中輸入
Admin
。允許的成員類型:本示例中選中用戶/組+應用程序。
值:輸入RAM角色ARN和身份提供商ARN,兩者之間用半角逗號(,)分隔。本示例中輸入
acs:ram::187125022722****:role/aadrole,acs:ram::187125022722****:saml-provider/AAD
。說明:輸入備注信息。
選中是否要啟用此應用程序角色。
說明如果您需要在Azure AD中創建多個角色,請重復上述步驟。
將角色添加到用戶(u2)中。
在左側導航欄,選擇 。
在名稱列表下,單擊Alibaba Cloud Service (Role-based SSO)。
在左側導航欄,單擊用戶和組。
單擊左上角的添加用戶/組。
單擊用戶,從用戶列表中選擇用戶(u2),單擊選擇。
單擊分配。
查看分配的角色。
說明如果您分配了用戶(u2),創建的角色會自動附加給該用戶。如果您創建了多個角色,您可以根據需要合理分配角色。
驗證結果
獲取用戶訪問URL。
管理員用戶登錄Azure門戶。
在左側導航欄,選擇 。
在名稱列表下,單擊Alibaba Cloud Service (Role-based SSO)。
在左側導航欄,選擇屬性,獲取用戶訪問URL。
用戶(u2)從管理員用戶處獲取上述用戶訪問URL,然后在瀏覽器中輸入該URL,使用自己的賬號登錄。
系統將自動SSO登錄并重定向到您指定的中繼狀態頁面。如果未指定中繼狀態或超出允許范圍,則系統會訪問阿里云控制臺首頁。
(可選)配置Azure AD與多個阿里云賬號的角色SSO
假設您有兩個阿里云賬號(Account1和Account2),您希望經過配置,使得企業員工用戶(u2)在登錄Azure AD后,通過角色SSO既能訪問阿里云賬號(Account1),也能訪問阿里云賬號(Account2)。
在Azure AD庫中添加應用程序
Alibaba Cloud Service (Role-based SSO)
。具體操作,請參見步驟一:在Azure AD庫中添加應用程序。
配置Azure AD SSO。
具體操作,請參見步驟二:配置Azure AD SSO。
在阿里云創建身份提供商。
您需要在兩個阿里云賬號(Account1和Account2)中分別創建身份提供商
AAD
。每個阿里云賬號內的具體操作,請參見步驟三:在阿里云創建身份提供商。
在阿里云創建RAM角色。
您需要在兩個阿里云賬號(Account1和Account2)中分別創建RAM角色,本示例中假設在阿里云賬號(Account1)中創建兩個RAM角色,在阿里云賬號(Account2)中創建一個RAM角色。具體如下:
阿里云賬號(Account1)的RAM角色:
adminaad
和readaad
。阿里云賬號(Account2)的RAM角色:
financeaad
。
每個阿里云賬號內的具體操作,請參見步驟四:在阿里云創建RAM角色。
將阿里云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用戶進行關聯。
Azure AD用戶(u2)通過角色SSO訪問阿里云。
用戶(u2)登錄Azure的我的應用頁面,單擊應用程序Alibaba Cloud Service (Role-based SSO)。然后在阿里云界面上,您需要根據提示選擇要訪問的阿里云賬號(Account1或Account2)及其角色,從而以角色SSO方式訪問阿里云。