實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO

1、建立身份提供商
在阿里雲RAM控制檯建立一個名爲ADFS的身份提供商,並配置相應的元數據。AD FS的元數據URL爲
https://adfs.domain.com/federationmetadata/2007-06/federationmetadata.xml
瀏覽器輸入連接,下載元數據文件。(鏈接中域名換爲本身的)html

  1. 雲帳號登陸RAM控制檯。
  2. 在左側導航欄,單擊SSO管理。
  3. 在角色SSO頁簽下,單擊新建身份提供商。
  4. 輸入提供商名稱和備註。
  5. 在元數據文檔處,單擊上傳文件。
    實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO

2、建立RAM帳號並受權windows

  1. 雲帳號登陸RAM控制檯。
  2. 在左側導航欄,單擊RAM角色管理。
  3. 單擊新建RAM角色。
  4. 選擇可信實體類型爲身份提供商,單擊下一步。
  5. 輸入角色名稱和備註。
  6. 選擇身份提供商並查看限制條件後,單擊完成。
    實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
    實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO

點擊完成並根據需求授予權限。瀏覽器


3、 在AD FS中將阿里雲配置爲可信SAML SP服務器

  1. 在服務器管理器的工具菜單中選擇AD FS管理。
  2. 在AD FS管理工具中添加信賴方信任。
    實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
  3. 爲新建立的信賴方設置阿里雲的角色SSO的SAML SP元數據,元數據URL爲https://signin.aliyun.com/saml-role/sp-metadata.xml。
    實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
  4. 按照嚮導完成配置。

4、爲阿里雲SP配置SAML斷言屬性
阿里雲鬚要AD FS在SAML斷言中提供NameID、Role和RoleSessionName屬性。AD FS中經過頒發轉換規則來實現這一功能。
• NameID
配置Active Directory中的Windows帳戶名爲SAML斷言中的NameID,其操做步驟以下。dom

  1. 爲信賴方編輯聲明規則。
  2. 添加頒發轉換規則。
    說明 頒發轉換規則(Issuance Transform Rules):指如何將一個已知的用戶屬性,通過轉換後,頒發爲SAML斷言中的屬性。因爲咱們要將用戶在AD中的Windows帳戶名頒發爲NameID,所以須要添加一個新的規則。
  3. 聲明規則模版選擇轉換傳入聲明。
    實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
  4. 使用以下配置規則,並點擊完成。
    • 聲明規則名稱:NameID
    • 傳入聲明類型:Windows帳戶名
    • 傳出聲明類型:名稱ID
    • 傳出名稱ID格式:永久標識符
    • 傳遞全部聲明值:勾選

實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
配置Active Directory中的UPN爲SAML斷言中的RoleSessionName,其操做步驟以下。
5.單擊添加轉換聲明規則。
6.從聲明規則模板中選擇以聲明方式發送LDAP特性。
實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
7.使用以下配置規則,並點擊完成。ide

經過自定義規則將特定的用戶所屬組的信息轉化成阿里雲上的角色名稱,其操做步驟以下。
8.單擊添加轉換聲明規則。
9.從聲明規則模板中選擇使用自定義規則發送聲明,點擊下一步。
實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
使用以下配置規則,並點擊完成。工具

  • 聲明規則名稱: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);

    實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
    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"));

    實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO

5、在AD域中建立對應用戶組
在AD域中建立用戶組
實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSO
名命格式爲Aliyun-<Account-ID>-adfs,Aliyun-<Account-ID>-adfs-user
將所需的對應的用戶添加至用戶組。3d

6、驗證配置
登陸AD FS SSO門戶
(URL:https://adfs.domain.com/adfs/ls/IdpInitiatedSignOn.aspx)
選擇阿里雲應用,輸入用戶名密碼。
實現ADFS與阿里雲SSO(單點登錄管理)——配置角色SSOcode

官方文檔參考
https://help.aliyun.com/document_detail/109791.html?spm=a2c4g.11186623.6.643.461a62b3tlKb3p

相關文章
相關標籤/搜索