使用Active Directory Federation Services建立与华为云的联合认证

您所在的位置:网站首页 华为服务器认证简称 使用Active Directory Federation Services建立与华为云的联合认证

使用Active Directory Federation Services建立与华为云的联合认证

2024-07-12 11:35:31| 来源: 网络整理| 查看: 265

1 联合认证简介

当企业已有自己的身份认证系统,希望使用自己的身份认证系统登录华为云,而不需要在华为云中重新创建对应的IAM用户时,可以使用IAM提供的身份提供商(IdP)功能。通过该功能,企业用户不需要在华为云中重新创建用户,只需使用企业已有的用户名密码即可登录并使用华为云资源。利用身份提供商(IdP)机制,您可以向企业中的用户授予使用您账户中华为云资源的权限。关于身份提供商功能的详细说明,请参见联邦身份认证。

本文以企业IdP系统为Active Directory Federation Services(以下简称ADFS)为例,说明配置联邦用户访问华为云系统的方法。其中我们使用Active Directory(AD)做为用户管理和访问软件。

1.1 ADFS与华为云联合认证流程

下图为ADFS与华为云的联合认证流程。

从图中可知,联合认证的步骤为:

用户在浏览器中打开从华为云上获取到的登录链接,浏览器向华为云发起单点登录请求。

华为云根据登录链接中携带的信息,查找对应的Metadata文件,构建SAML Request,发送给浏览器。

浏览器响应后,转发SAML Request给ADFS。

用户在浏览器中输入AD中创建的用户名和密码,完成身份认证。

ADFS服务器构建携带用户信息的SAML断言,向浏览器发送SAML Response。

浏览器响应后转发SAML Response给华为云。

华为云从SAML Response中取出断言,并根据已配置的身份转换规则映射到具体的IAM用户组,颁发Token。

用户完成单点登录,根据权限访问华为云。

2 环境要求及运行结果 2.1 环境要求

您已有一台可用的Windows计算机,用于安装ADFS,并拥有该计算机的管理员权限。关于ADFS对计算机的硬件要求,请参见部署AD FS要求。

您的Windows计算机上已安装Active Directory域服务,并且已使用域服务至少添加两个用户及用户组。其中两个用户分别属于两个用户组。例如,已创建用户Alice和Bob,用户组ADFSAdmin和ADFSGuest,其中Alice属于ADFSADmin,Bob属于ADFSGuest。用户组ADFSAdmin用于映射到IAM中的admin用户组,ADFSGuest用于映射到IAM中的guest用户组。如果不满足要求,请参见使用Windows 2012 R2安装Active Directory并创建用户和用户组。

您的Windows计算机与华为云网络联通。

您已在华为云上注册了可用的账号,并已在IAM中创建一个用户组,例如为guest用户组。

2.2 示例环境及运行结果

本文中使用的计算机及软件规格说明如下,后面的操作步骤基于此环境操作。

计算机:用于安装ADFS的操作系统是由华为云弹性云服务器(ECS)所创建的Windows 2012 R2 64位中文版,使用的规格是“s3.large.2 | 2vCPUs | 4GB”。

已在弹性云服务器中安装Active Directory(AD)域服务,并已创建ADFSAdmin、ADFSGuest用户组,Alice和Bob用户,其中Alice属于ADFSAdmin用户组,Bob属于ADFSGuest用户。

已在华为云注册账号,并通过IAM创建guest用户组。

通过本文操作,AD域创建的ADFSAdmin映射到华为云账号中的admin用户组,ADFSGuest映射到IAM中的guest用户组。在完成本文所有操作后,您可以通过IAM中创建的身份提供商所提供的链接,使用AD域用户Alice或是Bob成功登录华为云。其中由于Alice属于ADFSAdmin组,映射为IAM的admin组,因此拥有admin权限。Bob属于ADFSGuest组,映射为IAM的guest组,因此拥有guest组所配置的权限。

3 添加Active Directory证书服务

由于安装ADFS时需要使用到证书服务,因此需要先在计算机中添加证书服务。如果您已安装证书服务,请跳过本节内容。

3.1 前提条件

请确保计算机环境已达到要求,具体要求请参见 2 环境要求及运行结果。

3.2 操作步骤

使用计算机域管理员登录计算机,打开“服务器管理器”,单击“添加角色和功能”。

       

在弹出的窗口中,“开始之前”“安装类型”“服务器选择”都按默认选项,单击“下一步”。

在“服务器角色”中确认“Active Directory证书服务”是否已勾选,若未勾选表示未安装,则勾选“Active Directory”,在弹出窗口中按默认选择,单击“添加功能”,完成证书服务的安装。

      

在“角色服务”中,按默认选择“证书颁发机构”,单击“下一步”。

       

在“确认”中单击“安装”。安装完成后,单击下图中的红框,配置证书服务。

       

在“AD CS配置”窗口的“凭据”中按默认选择,单击“下一步”。

在“角色服务”中选择“证书颁发机构”,单击“下一步”。

      

在“设置为类型”中按默认选择“企业CA”,单击下一步。

       

在“CA类型”中选择“根CA”,单击“下一步”。

       

在“私钥”中选择“创建新的私钥”,单击“下一步”。

 

在“加密”中按默认选择,单击“下一步”。

 

在“CA名称”中,使用默认值,单击“下一步”。

      

“有效期”、“证书数据库”都按默认选择,单击“下一步”。

在“确认”中单击“确认”完成证书配置。

        

配置成功后,提示配置成功,如下图所示。请重启计算机,使得配置的证书生效。

       

4 安装AD FS

本节介绍在Windows 2012 R2系统中安装ADFS的方法,请确保当前环境符合要求(请参见2 环境要求及运行结果),并已完成证书服务的添加(3 添加Active Directory证书服务)。

4.1 操作步骤

打开“服务器管理器”,单击“添加角色和功能”。

        

在弹出来的窗口“安装类型”按默认选择“基于角色或基于功能的安装”,单击“下一步”。

       

“服务器选择”,选择当前服务器,单击“下一步”。

        

“服务器角色”勾选“Active Directory Federation Services”,单击“下一步”。

       

“功能”和“AD FS”按默认选择,单击“下一步”。

“确认”,单击“安装”,开始安装AD FS。

       

安装完成后,单击下图中的红框,开始ADFS的配置。

       

在弹出的窗口“欢迎”页中按默认选项,单击“下一步”。

     

在“连接到AD DS”中,单击“下一步”。

在“指定服务属性”页面,选择之前创建的SSL证书,并填写显示名称。

说明:        

SSL证书请选择计算机名+域名,例如,这里选择adfs2012.acompany.com。

      

“联合身份验证服务名称”,即访问联合身份验证服务的地域,请记录,在获取联合身份验证服务配置文件里需要用到。

“联合验证服务显示名称”,即用户浏览器验证身份时,在浏览器界面中所显示的名称。

11.在“指定服务帐户”中使用已有的域管理帐户。

单击“选择”后弹出的窗口如下图所示,请在此输入域管理帐户,如Administrator,单击“确定”。

返回“指定服务帐户”中,输入帐户密码,单击“下一步”。

12.在“指定数据库”中按默认选择,单击“下一步”。

13.在“查看选择”单击“下一步”。

14.在“先决条件检查”,单击“配置”。

15.在看到“已成功配置此服务器”时,表示配置成功。

5 在ADFS中添加华为云信任关系

在ADFS安装配置完成后,需要将华为云的信任关系配置到ADFS中,以完成ADFS对华为云的信息关系添加。

5.1 操作步骤

保存华为云的断言描述。在浏览器中输入如下链接,并将该网页另存为“metadata.xml”。

https://auth.huaweicloud.com/authui/saml/metadata.xml

       

在“管理工具”中打开“AD FS管理”,选择“添加信赖方信任向导”。

        

在弹出的窗口中“欢迎使用”中单击“启动”。

在“选择数据源”中选择“从文件导入有关信赖方的数据”,单击“浏览”,将1中保存的“metadata.xml”上传至此,单击“下一步”。

       

在“指定显示名称”填写信赖方显示名称,单击“下一步”。

       

在“是否立即配置多重身份验证”按默认选择,单击“下一步”。

       

在“选择颁发授权规则”中,按默认选择,单击“下一步”。

        

在“准备好添加信任”中按默认选择,单击“下一步”。

       

在“完成”中单击“关闭”。

        

在弹出的窗口中添加五条规则。

添加Rule_01。

单击“添加规则”。

          

在弹出的窗口中选择“使用自定义规则发送声明”。

          

在配置规则窗口中按如下图填写,填写完成后,单击“完成”,完成Rule_01的规则添加。其中自定义规则填写内容为:

c:[Type =="http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",Issuer == "AD AUTHORITY"]=> add(store = "Active Directory", types =("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"),query = ";sAMAccountName;{0}", param = c.Value);

           

            

重复如上操作,完成Rule_02的添加,其中自定义规则内容如下。

c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"]=> issue(Type ="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value,ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"]= "urn:oasis:names:tc:SAML:2.0:nameid-format:transient",Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"]= "https://auth.huaweicloud.com/");

           

          

添加ug1规则,定义由AD域创建的用户组ADFSAdmin为指定的声明值“ADFSAdmin”。

单击“添加规则”,在弹出窗口中选择“以声明方式发送组成员身份”,单击“下一步”。

           

在“选择组”窗口中,选择对象类型为“组”,并在对象名称中输入由AD域创建的用户组名称,此处示例为“ADFSAdmin”,单击“确定”。

          

在“选择规则类型”中填写如下图所示信息。

           

重复添加规则ug1的操作,添加规则ug2,将AD域创建的另一个用户组传出为声明值,此处示例为AD组名“ADFSGuest”,传出值为“ADFSGuest”。

           

创建规则“name”。

单击“添加规则”,在弹出窗口中选择“以声明方式发送 LDAP特性”,单击“下一步”。

           

在弹出窗口中“选择规则类型”按如下图填写,并单击“完成”。

          

最终编辑声明规则如下图所示,单击“确定”,完成规则设置。

           

6 在PowerShell中注册SPN并关闭身份验证扩展保护

打开Windows PowerShell,运行如下命令注册SPN,其中标红的内容为创建证书时,设置的显示CA证书名称,本例中为adfs2012.acompany.com。

setspn -s http/adfs2012.acompany.com administrator

       

注册完成后,可使用如下命令查看结果。

setspn -q http/adfs2012.acompany.com

       

        

由于Windows 2012 R2使用了身份验证扩展保护功能,但是由于部分浏览器不支持扩展保护功能,使得您无法从企业网络内部使用集成Windows身份验证登录到云服务。因此为了ADFS能正常的登录到华为云,需要关闭ADFS的扩展保护功能。

在PowerShell中运行如下命令,关闭ADFS的扩展保护功能,设置完成后,请重启“AD FS管理”。

Set-ADFSProperties -ExtendedProtectionTokenCheck None

       

      

验证IAM连接成功。在浏览器中打开如下链接,显示下图内容,说明连接成功。其中标红的内容为创建证书时,显示的CA证书名称。

https://adfs2012.acompany.com/adfs/ls/idpinitiatedsignon.aspx

       

7 在IAM上配置身份提供商

在完成ADFS的安装及信息关系配置后,还需要在IAM上创建ADFS身份提供商,并添加ADFS的metadata文件,以建立华为云对ADFS的信任关系。此外,需要在IAM的身份提供商中,配置AD域用户组与华为云用户组间的映射关系,以实现AD域用户通过ADFS完成与华为云间的联合认证及权限范围限定。

操作步骤

在浏览器打开如下链接,其中标的内容请替换为CA证书名称,将将此文件另存为federationmetadata.xml。

https://adfs2012.acompany.com/federationmetadata/2007-06/federationmetadata.xml

       

说明:

如果在IE中打开此链接,出现乱码,请在IE中打开“工具”选择“兼容性视图设置,并将“https://adfs2012.acompany.com/federationmetadata/2007-06/federationmetadata.xml”添加进去。添加完成后,重新打开此链接,即可解决乱码问题。

        

使用华为云账户登录华为云,并进入IAM控制台,在控制台左侧导航栏中单击“身份提供商”,单击“创建身份提供商。

在“创建身份提供商”页面,填写身份提供商名称、协议、状态,单击“确定”。

       

在已创建的身份提供商后单击“修改”。

在“修改身份提供商”页面的“元数据配置”中,将1中下载的federationmetadata.xml上传。

在“修改身份提供商”页面的“身份转换规则”单击“编辑规则”,填入如下规则。关于IAM规则的详细说明,请参见联邦用户身份规则转换说明。

如下规则表示AD域的ADFSAdmin用户组映射至IAM的admin用户组。AdFSGuest用户组映射到IAM的guest用户组。并且用户组中的所有用户在华为云中登录后,在华为云上显示的IAM用户名为“acompany_用户名”,例如Alice登录后显示的IAM用户名是“acompany_Alice”。

[{"remote": [{"type": "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"},{"any_one_of": ["ADFSAdmin"],"type": "http://schemas.xmlsoap.org/claims/Group"}],"local": [{"user": {"name": "acompny_{0} "}},{"group": {"name": "admin"}}]},{"remote": [{"type": "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"},{"any_one_of": ["ADFSGuest"],"type": "http://schemas.xmlsoap.org/claims/Group"}],"local": [{"user": {"name": " acompny_{0} "}},{"group": {"name": "guest"}}]}] 8 SP端发起登录 在“修改身份提供商”页面,复制登录链接,并在浏览器中输入如下链接。

浏览器弹出如下页面中,填写AD域的用户名和密码,单击“登录”,能成功登录到华为云控制台,表示AD中的域用户到华为云的联合认证成功。

unnaming (58).png

出现如下页面,说明使用AD域的用户Alice登录华为云成功。

unnaming (59).png

9 IdP端发起登录 单租户模式 在“修改身份提供商”页面,查看对应的domain_id,idp。

在ADFS上添加domain_id、idp对应的规则。

idpinit1.png

a. 添加方式:编辑声明颁发策略-->添加规则-->以声明方式发送组成员身份。

idpinit5.png

b. 添加domainId:其中声明规则名称可自定义,传出声明类型必须为:IAM_SAML_Attributes_domain_id,传出声明值为对应的domain_id。

adDomainId.png

c. 添加IdP:其中声明规则名称可自定义,传出声明类型必须为:IAM_SAML_Attributes_idp_id,传出声明值为对应的idp名称。

adIdp.png

登录https://{ADFS服务器名称}.acompany.com/adfs/ls/idpinitiatedsignon.aspx进行验证。

idpinit6.png

输入账号密码登录后,成功跳转至华为云Console,表示AD中的域用户到华为云的联合认证成功。

unnaming (61).png

出现如下页面,说明使用AD域的用户Alice登录华为云成功。

unnaming (1) (1).png

多租户模式 多租户模式场景说明

        多租户模式下配置单租户场景:IdP发起登录后,将触发多租户模式下的单租户场景,预期以idp_id_1身份登录domain_id_1。

参数

格式

传出声明类型

IAM_SAML_Attributes_identityProviders

iam::{domain_id_1}:identityProvider:{idp_id_1}

       

        多租户模式下配置多租户场景:IdP端发起登录后,将触发多租户模式下的多租户场景,如下图所示。将跳转至多租户联邦登录页,用户选择身份提供商后,完成登录。

参数

格式

传出声明类型

IAM_SAML_Attributes_identityProviders

iam::{domain_id_1}:identityProvider:{idp_id_1};iam::{domain_id_1}:identityProvider:{idp_id_2};iam::{domain_id_2}:identityProvider:{idp_id_3}

       说明:

               多个传出声明类型值由分号“;”分割,且传参不能含有空格。

多租户模式登录步骤

在“修改身份提供商”页面,查看对应的domain_id,idp,确认身份提供商信息(多租户场景需要根据不同的登录链接确认信息)。

unnaming (60).png

IDP

domain_id

Idp_id

IDP1

{domain_id_1}

{idp_id_1}

IDP2

{domain_id_1}

{idp_id_2}

IDP3

{domain_id_2}

{idp_id_3}

参考单租户登录-步骤2,在ADFS上添加多租户配置参数idps对应的规则。

其中传出声明类型必须为IAM_SAML_Attributes_identityProviders,传出声明值为固定格式的多租配置信息,具体参数说明如下:

参数

格式

说明

传出声明类型

IAM_SAML_Attributes_identityProviders

固定值,不能与其他IAM_SAML配置同时配置

传出声明值

iam::{domain_id}:identityProvider:{idp_id}

支持多值拼接,拼接符为英文分号(;)

登录https://{ADFS服务器名称}.acompany.com/adfs/ls/idpinitiatedsignon.aspx进行验证。

idpinit6.png

输入帐号、密码,并单击“登录”,成功跳转至华为云Console,表示AD中的域用户到华为云的联合认证成功。

在华为云console选择要访问的身份提供商。

出现如下页面,说明使用AD域的用户Alice登录华为云成功。

unnaming (1) (1).png



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭