实现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

相关文章
相关标签/搜索