本文提供一個以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.alibabacloud.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方式訪問阿里雲。