一、創建身份提供商
在阿里雲RAM控制檯創建一個名爲ADFS的身份提供商,並配置相應的元數據。AD FS的元數據URL爲
https://adfs.domain.com/federationmetadata/2007-06/federationmetadata.xml
瀏覽器輸入鏈接,下載元數據文件。(連接中域名換爲自己的)
- 雲賬號登錄RAM控制檯。
- 在左側導航欄,單擊SSO管理。
- 在角色SSO頁簽下,單擊新建身份提供商。
- 輸入提供商名稱和備註。
- 在元數據文檔處,單擊上傳文件。
二、創建RAM賬號並授權
- 雲賬號登錄RAM控制檯。
- 在左側導航欄,單擊RAM角色管理。
- 單擊新建RAM角色。
- 選擇可信實體類型爲身份提供商,單擊下一步。
- 輸入角色名稱和備註。
- 選擇身份提供商並查看限制條件後,單擊完成。
點擊完成並根據需求授予權限。
三、 在AD FS中將阿里雲配置爲可信SAML SP
- 在服務器管理器的工具菜單中選擇AD FS管理。
- 在AD FS管理工具中添加信賴方信任。
- 爲新創建的信賴方設置阿里雲的角色SSO的SAML SP元數據,元數據URL爲https://signin.aliyun.com/saml-role/sp-metadata.xml。
- 按照嚮導完成配置。
四、爲阿里雲SP配置SAML斷言屬性
阿里雲需要AD FS在SAML斷言中提供NameID、Role和RoleSessionName屬性。AD FS中通過頒發轉換規則來實現這一功能。
• NameID
配置Active Directory中的Windows賬戶名爲SAML斷言中的NameID,其操作步驟如下。
- 爲信賴方編輯聲明規則。
- 添加頒發轉換規則。
說明 頒發轉換規則(Issuance Transform Rules):指如何將一個已知的用戶屬性,經過轉換後,頒發爲SAML斷言中的屬性。由於我們要將用戶在AD中的Windows賬戶名頒發爲NameID,因此需要添加一個新的規則。 - 聲明規則模版選擇轉換傳入聲明。
- 使用如下配置規則,並點擊完成。
- 聲明規則名稱:NameID
- 傳入聲明類型:Windows賬戶名
- 傳出聲明類型:名稱ID
- 傳出名稱ID格式:永久標識符
- 傳遞所有聲明值:勾選
配置Active Directory中的UPN爲SAML斷言中的RoleSessionName,其操作步驟如下。
5.單擊添加轉換聲明規則。
6.從聲明規則模板中選擇以聲明方式發送LDAP特性。
7.使用如下配置規則,並點擊完成。
- 聲明規則名稱:RoleSessionName
- 特性存儲:Active Directory
- LDAP 特性列:User-Principal-Name(您也可以根據具體需求選擇其他屬性,例如email。)
- 傳出聲明類型:https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName
通過自定義規則將特定的用戶所屬組的信息轉化成阿里雲上的角色名稱,其操作步驟如下。
8.單擊添加轉換聲明規則。
9.從聲明規則模板中選擇使用自定義規則發送聲明,點擊下一步。
使用如下配置規則,並點擊完成。
- 聲明規則名稱:Get AD Groups
- 自定義規則:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccount name", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);
10.單擊添加轉換聲明規則。
11.重複以上步驟,並點擊完成。 - 聲明規則名稱:Role
- 自定義規則:
c:[Type == "http://temp/variable", Value =~ "(?i)^Aliyun-([\d]+)"] => issue(Type = "https://www.aliyun.com/SAML-Role/Attributes/Role", Value = RegExReplace(c.Value, "Aliyun-([\d]+)-(.+)", "acs:ram:: $1:role/$2,acs:ram::$1:saml-provider/ADFS"));
五、在AD域中創建對應用戶組
在AD域中創建用戶組
名命格式爲Aliyun-<Account-ID>-adfs,Aliyun-<Account-ID>-adfs-user
將所需的對應的用戶添加至用戶組。
六、驗證配置
登錄AD FS SSO門戶
(URL:https://adfs.domain.com/adfs/ls/IdpInitiatedSignOn.aspx)
選擇阿里雲應用,輸入用戶名密碼。
官方文檔參考
https://help.aliyun.com/document_detail/109791.html?spm=a2c4g.11186623.6.643.461a62b3tlKb3p