通过OneAccess免密登录单个华为云账号(SAML-IAM用户SSO)
本文以SAML协议为例介绍如何实现使用OneAccess免密登录单个华为云账号。如需了解华为云身份提供商详情,请参考身份提供商概述。
在华为云上创建身份提供商
在华为云控制台创建身份提供商,配置身份提供商的元数据文件后,可以在华为云中建立对OneAccess的信任关系。
- 登录OneAccess管理门户,下载OneAccess系统的元数据文件(metadata文件)。
- 登录OneAccess管理门户。
- 在导航栏中,选择“设置 > 服务配置”。
- 在“服务配置”页面,单击“IDP配置”。
- 在弹出的IDP配置页面,单击右上角的“下载IDP元数据”,数据会自动保存。
- 参考在华为云上创建身份提供商创建身份提供商 ,其中“类型”选择“IAM用户SSO”。
- 身份提供商名称不能重复,建议以域名唯一标识命名。
- IAM用户SSO定义可参考虚拟用户SSO与IAM用户SSO的适用场景。
- 一个华为云账号只能存在“IAM用户SSO”和“虚拟用户SSO”中的一种类型的身份提供商。
- 获取华为云登录链接。
- 参考在华为云上配置元数据文件把OneAccess IdP的Metadata文件配置到华为云。
- 参考配置外部身份ID在华为云上配置IAM用户的外部身份ID,建立OneAccess用户和IAM用户的对应关系。
建立OneAccess对华为云的信任关系
在OneAccess中配置华为云的元数据文件,以建立OneAccess对华为云的信任。
- 在OneAccess上添加华为云应用。
- 登录OneAccess管理门户,选择“资源 > 应用”。
- 在应用页面,单击“新增预集成应用”。
- 在新增预集成应用页面,单击“华为云”应用。
- 在弹出的添加应用页面,确认通用信息,单击“下一步”。
- 在认证参数配置页面,选择“导入SP应用元数据 > 选择文件”,选择获取的华为云元数据文件。系统会自动上传文件并提取元数据。
- 预集成应用为OneAccess专业版用户功能,如果是OneAccess基础版用户,请参考在OneAccess中添加企业应用创建自定义应用后进行1.e操作。
- 在https://auth.huaweicloud.com/authui/saml/metadata.xml下载华为云元数据文件,并设置文件名称,例如“SP-metadata.xml”。
- OneAccess同时支持“选取文件”和“手动输入配置数据”方式配置元数据,了解详情请参考在OneAccess中配置元数据文件。
- 待“选取文件”变为“√”时,代表系统已提取元数据,单击“下一步”,成功添加华为云应用。
- 在认证集成页面,在“参数配置”页签,单击“编辑”,将“Single Logout URL”对应值中的“/saml/LogoutServiceHTTPRedirect”替换为“/logout”。
- 配置OneAccess与华为云之间的映射关系。
- 单击已添加的华为云应用,在应用信息页面,单击应用图标,进入应用详情页面。
- 选择“认证集成 > 映射配置”,进入映射配置页面。
- 单击“添加映射”,添加应用属性名为“IAM_SAML_Attributes_xUserId”的映射,建立OneAccess与华为云之间的属性映射。映射对象可以是OneAccess中用户已有的属性,也可以是新增的自定义属性,必须和5中添加的IAM用户的外部身份ID一致。
- 在OneAccess配置华为云登录入口。
在华为云应用详情页面,选择“登录配置 > 网站应用”,单击“编辑”,将挂接URL替换为3中获取的“登录链接”,单击“确定”保存此次编辑。图1 编辑挂接URL
如果需要跳转华为云Console中的特定业务页面,需要对华为云创建的身份提供商的“登录链接”进行拼接后填入挂接URL中,此处以跳转CodeArts服务页面为例进行说明:
华为云创建的身份提供商的“登录链接”为:https://auth.huawei.com/authui/federation/websso?domain_id=e35f94************14839c&idp=SAML-OneAccess&protocol=saml
CodeArts服务地址为:https://console.huaweicloud.com/devcloud/?region=cn-south-1&locale=zh-cn#
如果服务地址中带有“agencyId=***&”字段,需要将该字段删除后,使用“&service=”将两个地址进行拼接后填入挂接URL中:
https://auth.huawei.com/authui/federation/websso?domain_id=e35f94************14839c&idp=SAML-OneAccess&protocol=saml&service=https://console.huaweicloud.com/devcloud/?region=cn-south-1&locale=zh-cn#
- 在OneAccess给用户授予华为云访问权限。
在华为云应用详情页面,选择“授权管理 > 应用账号”,单击“添加账号”,按需勾选账号,单击“保存”,所选用户即可在OneAccess中免密访问华为云。
OneAccess用户登录验证
在OneAccess中授予华为云应用访问权限的用户,登录OneAccess用户门户,单击华为云应用即可进入华为云控制台首页访问云服务。