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