更新时间:2024-12-18 GMT+08:00
分享

通过OneAccess免密登录华为云(OIDC)

本文以OIDC协议为例介绍如何实现使用OneAccess免密登录华为云Console中的CodeArts服务页面。

在OneAccess中创建华为云OIDC应用

在OneAccess管理门户中创建华为云OIDC应用,并获取OIDC相关设置,以建立OneAccess云华为云的信任关系。

  1. 在OneAccess上添加华为云应用。

    1. 登录OneAccess管理门户,选择“资源 > 应用”。
    2. 在企业应用页面,单击“添加自建应用”。
    3. 输入应用名称,单击“保存”。
    1. 单击新建的应用,进入应用信息页面,获取应用ClientId

  2. 获取OIDC相关配置。

    1. 登录OneAccess管理门户,选择“设置 > 服务配置”。
    2. 在服务配置页面,单击“OIDC”。
    3. 在OIDC页面,单击“OIDC设置”。

    1. 获取issuer、authorization_endpoint、jwks_uri地址。

    2. 将jwks_uri地址复制到浏览器地址栏,获取签名公钥。

在华为云上创建身份提供商

在华为云控制台创建身份提供商,配置OneAccess的应用以及OIDC信息后,可以在华为云中建立对OneAccess的信任关系

  1. 参考在华为云上创建身份提供商创建身份提供商 。

    • 身份提供商名称不能重复,建议以域名唯一标识命名。
    • 在修改身份提供商页面,填写“配置信息”页面:
      1. 身份提供商URL”填写在OneAccess侧获取的issuer地址,见2.d
      2. 授权请求Endpoint”填写在OneAccess侧获取的authorization_endpoint地址,见2.d
      3. 客户端ID”填写在OneAccess侧获取的创建的OIDC应用的ClientId,见1.d
      4. 签名公钥”填写在OneAccess侧获取的前面公钥(需要将其格式化为json格式),见2.e

  2. 配置过程中获取登录地址以及redirect uri地址。

  3. 参考配置身份转换规则在华为云上配置身份转换规则,使得OneAccess用户拥有华为云访问CodeArts云服务的权限。

建立OneAccess对华为云的信任关系

在OneAccess中配置华为云的跳转地址以及redirect uri。
  1. 登录OneAccess管理门户,选择“资源 > 应用”。
  2. 在企业应用页面,单击新增的华为云自定义应用。
  3. 打开“认证集成”开关,并配置协议为“OIDC”,单击“保存”。

  4. 单击“认证集成”后的“配置”,进入OIDC配置页面,“回调地址”配置为2中获取的redirect uri值,并打开“隐式授权模式”开关。

  5. 在OneAccess配置华为云登录入口。

    在华为云应用详情页面,选择“登录配置 > 网站应用”,单击“编辑”,将挂接URL替换为在华为云创建的身份提供商的“登录链接”,单击确定保存此次编辑。

    如果需要跳转华为云Console中的特定业务页面,需要对华为云创建的身份提供商的“登录链接”进行拼接后填入挂接URL中,此处以跳转CodeArts服务页面为例进行说明:

    华为云创建的身份提供商的“登录链接”为:https://auth.huawei.com/authui/federation/websso?domain_id=e35f***************79ba14839c&idp=one001&protocol=oidc

    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=e35f***************79ba14839c&idp=one001&protocol=oidc&service=https://console.huaweicloud.com/devcloud/?region=cn-south-1&locale=zh-cn#

  6. 在OneAccess给用户授予华为云访问权限。

    在华为云应用详情页面,选择“授权管理 > 应用账号”,单击“添加账号”,按需勾选账号,单击“保存”,所选用户即可在OneAccess中免密访问华为云。

    华为云“统一身份认证服务”中的用户,邮箱是必填字段,OneAccess系统中授权的用户必须有邮箱字段。

OneAccess用户登录验证

在OneAccess中授予华为云访问权限的用户,登录OneAccess用户门户,单击自定义的华为云应用即可进入华为云中的CodeArts云服务。

相关文档