步骤1:创建身份提供商
配置联邦身份认证,需要在企业IdP上传华为云的元数据文件(Metadata文件),并在IAM控制台上创建身份提供商、上传企业IdP的元数据文件,来建立两个系统之间的互信关系。
建立企业IdP对华为云的信任关系
在企业IdP中配置华为云的元数据文件,以建立企业IdP对华为云的信任。常用企业IdP,如Microsoft Active Directory(AD FS)和Shibboleth的配置步骤,请参见:与华为云集成第三方IdP解决方案提供商示例。
- 下载华为云系统的元数据文件(metadata文件)。
访问网址:https://auth.huaweicloud.com/authui/saml/metadata.xml。下载华为云元数据文件,并设置文件名称,例如“SP-metadata.xml”。
- 将上述文件上传到企业IdP服务器上。上传方法请参见企业IdP的帮助文档。
- 获取企业IdP的元数据文件。获取方法请参见企业IdP的帮助文档。
在华为云上创建身份提供商
在IAM控制台上创建身份提供商,配置身份提供商的元数据文件后,可以在IAM中建立对企业IdP的信任关系,使得企业用户可以直接访问华为云。
- 进入IAM控制台,在左侧导航窗格中,选择“身份提供商”页签,单击右上方的“创建身份提供商”。
图1 创建身份提供商
- 在“创建身份提供商”窗口中设置名称、协议、类型、状态、描述。
图2 填写身份提供商参数
表1 身份提供商基本参数 参数
含义
名称
身份提供商的名称。身份提供商名称在全局范围内不能重复,建议以域名唯一标识命名。
协议
身份提供商协议。当前华为云支持基于SAML、OIDC的身份提供商,如需创建基于OIDC协议的联邦身份认证,请参考基于OIDC协议的虚拟用户SSO。
类型
身份提供商类型。一个账号下只能存在一种类型的身份提供商。本章介绍IAM用户SSO,此处选择IAM用户SSO。
IAM用户SSO:该身份提供商中的用户登录华为云后,系统将自动匹配外部身份ID绑定的对应IAM子用户,从而拥有该子用户所在用户组的权限。一个账号下只能创建一个IAM用户SSO类型的身份提供商。如果选择该类型,请确保您已为用户创建对应的IAM用户并设置外部身份ID,请参考创建IAM用户。
状态
身份提供商的状态。默认设置为“启用”。
- 单击“确定”,创建身份提供商成功。
在华为云配置元数据文件
配置元数据文件,即把企业IdP的Metadata文件配置到华为云。IAM支持“上传文件”和“手动编辑”两种配置,选择其中一种即可。如果元数据文件超过500KB,请通过“手动编辑”配置元数据。如果后续元数据有更新,需要用户重新上传或者编辑元数据,否则会影响联邦用户登录华为云。
企业IdP的Metadata文件获取方法请参考企业IdP提供商的帮助文档。
- 上传元数据:
- 单击身份提供商列表中“操作”列的“修改”。
图3 修改身份提供商
- 单击“上传文件”左侧的“添加文件”,选择获取的企业IdP的元数据文件。
图4 上传元数据文件
- 单击“上传文件”。弹出页面显示系统提取到的元数据,单击“确定”。
- 提示“系统发现您上传的文件中包含多个身份提供商,请选择您本次需要使用的身份提供商”,请在“Entity ID”下拉框中选择您本次需要使用的身份提供商。
- 提示元数据文件中Entity ID为空、签名证书过期等内容时,需要您确认元数据文件的正确性后,重新上传或者通过手动编辑提取元数据。
- 单击“确定”,保存设置信息。
- 单击身份提供商列表中“操作”列的“修改”。
- 手动编辑元数据
- 单击“手动编辑”。
图5 手动编辑元数据
- 在“手动编辑元数据”页面中,输入从企业IdP元数据文件中获取的“Entity ID”、“签名证书”和“SingleSignOnService”等参数。
参数
是否必选
含义
Entity ID
是
对应IdP元数据文件中“entityID”的值。
企业身份提供商的唯一标识,元数据文件中可能包含多个身份提供商,需要选择对应的身份提供商。
支持的协议
是
企业IdP与服务提供商之间,通过SAML协议完成联邦身份认证。
不需要手动选择,系统自动生成。
支持的NameIdFormat
否
对应IdP元数据文件中“NameIdFormat”的值。
身份提供商支持的用户名称标识格式。名称标识是身份提供商与联邦用户之间实现通信的一种方式。
支持配置多个,华为云默认使用第一个。
签名证书
是
对应IdP元数据文件中“<X509Certificate>” 的值。
签名证书是一份包含公钥用于验证签名的证书,为了确保安全性,建议使用长度大于等于2048位的公钥。IAM通过元数据文件中的签名证书来确认联邦身份认证过程中断言消息的可信性、完整性。
支持配置多个,华为云默认使用第一个。
SingleSignOnService
是
对应IdP元数据文件中“SingleSignOnService” 的值。
单点登录过程中发送SAML请求的方式。元数据文件中的“SingleSignOnService”需要支持HTTP Redirect或HTTP POST方式。
支持配置多个,华为云默认使用第一个。
SingleLogoutService
否
对应IdP元数据文件中“SingleLogoutService” 的值。
服务提供商提供会话注销功能,联邦用户在IAM注销会话后返回绑定的地址。“SingleLogoutService” 需要支持HTTP Redirect或HTTP POST方式。
支持配置多个,华为云默认使用第一个。
示例:以下为某企业IdP的元数据文件和手动编辑元数据信息时需要填入的内容。
图6 某企业IdP的元数据文件
图7 根据企业IdP元数据文件手动编辑元数据
- 单击“确定”,保存设置信息。
- 单击“手动编辑”。