创建 API 客户端

如果开发者构建的应用程序使用了其中 Verify 一项或多项功能,则该应用程序必须具备调用相应 Verify API 的权限。 在 API 访问中将内部应用程序注册为 API 客户端 ,以便为其分配唯一的客户端 ID 和密钥。

准备工作

  • 您必须具有管理许可权,才能完成此任务。
  • 以管理员身份登录管理控制台 IBM® Verify
注意: 只有具备相应权限的用户才能查看客户端密钥。 如需了解更多信息,请参阅 “授权的安全更新”

关于此任务

在“API 访问 ”中添加的每个 API 客户端都会被分配一个客户端 ID 和客户端密钥,您必须将这些信息提供给应用程序开发人员。 开发者必须安全地存储这些凭证。

身份验证 Verify 服务的所有公开运行时接口均受 OAuth 访问令牌的保护。 调用应用程序必须在运行时提供 OAuth 客户机标识和密钥,以在租户内的授权服务处交换 OAuth 访问令牌。 随后使用该访问令牌调用目标 Verify API。 针对每次 API 调用都必须提供该令牌。

还可以实现 IP 过滤器,以便令牌发放和使用可以限制为或排除特定 IP 地址范围。

请参阅 API 文档( https://docs.verify.ibm.com/verify/page/api-documentation ),以了解有关 API 操作、响应和限制的更多信息。

过程

  1. 选择 “安全 ” > “API 访问 ” > “API 客户端”
  2. 添加 API 客户机。
    1. 选择 “添加 API 客户端 ”。
    2. 选择想要授予的权利的复选框。
      选中 “权限名称 ”复选框将授予 API 客户端所有权限。
    3. 选择 “下一步”
    4. 设置限制。
      注: 将 API 客户端管理限制在特定用户群体范围内是一项可请求的功能, CI-102537。 如需申请此功能,请联系您的 IBM 销售代表或 IBM 联系人,并表明您希望启用此功能的意愿。 如果您有权限创建支持工单,请使用公开预览版的相关信息创建工单。 IBM Verify 试用订阅用户无法创建支持工单。
      如果您选择了任何可受限类型的权益,则会显示此步骤。
      • manageGroupMembers
      • manageGroups
      • manageUsers
      • manageUserGroups
      • readGroups
      • readGroupMembers
      • readUserGroups
      • readUserGroupMembership
      • readUsers
      • resetPasswordAnyUser
      • updateAnyGroupMember
      选中此复选框,可将这些权限限制为仅对选定组生效。
      注意: 如果选择了以下任何一项权限,则无法使用组限制。
      • manageAllUserGroups
      • manageStandardGroupMembers
      • manageUsersInStandardGroups
      • manageStandardGroups
      • manageUsersStandardGroups
      • readStandardGroupMembers
      • readStandardGroupMembership
      • readStandardGroups
      • updateAnyUser

      如果您的主 API 客户端拥有该 manageAPIClients 权限,则可以对使用后端 APIClients API 创建的辅助 API 客户端执行创建、查询、更新和删除操作。 如果您选择了其他权限,可以限制传递给 API 客户端的权限。 manageAPIClients选择“使用上一步中的选择 ”以保留所有已选定的权益,但除外。 选择 选择一组权限 ,以指定您希望将选定的哪些权限传递给后端 API 客户端。

    5. 选择 “下一步”
    6. 在“API 凭据 ”部分,请填写以下信息,以便应用程序通过 API 连接到租户:
      表 1. API 凭据设置
      字段 描述
      客户机标识 API 客户机的唯一标识。

      保存 API 客户机后,此信息将自动生成并显示在 API 客户机列表中。

      客户机密钥 与客户机标识一起用于验证 API 客户机的身份。

      这是只能由应用程序和授权服务器知晓的密钥。

      保存 API 客户机后,会自动生成此信息。

      客户机认证方法 Verify 支持以下客户机认证方法:
      • Default(默认选项)
      • Client secret basic
      • Client secret POST
      • Private key JWT
      对于私钥 JWT 身份验证,可使用以下字段。
      验证客户机断言 JTI 仅当选择了专用密钥 JWT 客户机认证方法时,才会显示此选项。

      指示是否验证了客户机断言 JWT 中的 JTI 进行单次使用。

      允许的签名验证密钥 仅当选择了专用密钥 JWT 客户机认证方法时,才会显示此选项。

      可用于验证客户机断言 JWT 的签名验证密钥标识。

      JWKS URI 仅当选择了专用密钥 JWT 客户机认证方法时,才会显示此选项。

      依赖方以 JSON Web 密钥集 (JWKS) 格式发布其公钥的 URI。 此 URI 将用于 JWT 签名验证或加密。 系统可以拒绝无法访问或无响应的 JWKS URI。 如果 JWKS 大小过大,那么系统还可以拒绝 JWKS URI。 如果依赖方不发布 JWKS URI,那么可通过 X509 证书格式将公用密钥添加到系统。 请参阅 “管理证书”。 与公共证书关联的“友好名称”是 JWT 的密钥标识 (kid) 标头的值。

    7. 选择 “下一步”。
    8. 可选: 勾选此复选框,仅允许已配置的范围。
      在流程结束时授予客户机的作用域将限制为本部分中指定的作用域。 输入您想要授予的作用域的名称和描述。 作用域名称指的是信赖方/客户机所请求的 OAuth2/OIDC 作用域。 选择以授予更多权限范围。
    9. 选择 “下一步”
    10. 可选: 若要在 “IP 过滤器 ”部分配置 IP 过滤器,以确保 API 客户端 ID 和密钥的安全分发,请指定以下信息:
      表 2. IP过滤器设置
      字段 描述
      启用 IP 过滤

      指示 IP 过滤器是已启用还是已禁用。

      • 允许列表
      • 拒绝列表

      指示过滤器类型,列表是允许列表还是拒绝列表。

      如果启用启用 IP 过滤,那么此属性是必需的。

      IP 过滤器

      IP 过滤器的列表。

      如果启用启用 IP 过滤,那么此属性是必需的。

      IP 过滤器为单个 IP 地址、IP 范围或 IP 子网掩码的形式。 IPv4 和 IPv6 同时受支持。 例如:192.0.2.55、192.0.2.55-192.0.2.61、192.0.2.55/24、2001:db8::1、2001:db8::1-2001:db8::ff、2001:db8:1234::/48

    11. 选择 “下一步”
    12. 可选: 添加属性及其值,以便与 API 客户端建立关联。
    13. 选择 “下一步”
    14. 为 API 客户机指定以下信息以完成配置。
      名称
      注意: 仅允许使用字母数字及以下特殊字符:
      • - 连字符
      • . 句号
      • _ 下划线
      描述
      用于轻松识别 API 客户机用途的一种解释。
      已启用

      指示 API 客户机是已启用还是已禁用。 缺省设置为“已启用”。

      已启用的 API 客户端可以调用其有权访问的 API。

      如果清除该复选框,已禁用的 API 客户机无法调用任何 API,包括自己有权访问的那些 API。
      注意:
      • 可能需要长达 1 分钟时间,此设置才会生效。
      • 如果 API 客户机具有现有的有效访问令牌,那么它可以继续调用 API。 访问令牌存在有限的有效期。 令牌将在两小时后到期。 访问令牌到期时,API 客户机无法再调用 API。
      标记
      您可以添加最多 20 个标签,以提高 API 客户端的搜索可见性。 标签长度不得超过100个字符(不含空格),可以包含数字、小写字母以及以下特殊字符。
      • :(冒号)
      • - (连字符)
      • _(下划线)
      • . (句号)
      • =(等号)
      • @(at 符号)
      • /(正斜杠)
    15. 选择“创建 API 客户端 ”。
      将生成 客户机标识客户机私钥和 Kubernetes 私钥

后续操作

添加您的 API 客户端可用于调用 API 的 Verify 域名。 请参阅 “管理域名”

查看连接详细信息

您可以复制您的客户端凭据,并下载您的 Kubernetes 密钥。

过程

  1. 选择您要查看其 API 凭证的 API 客户机。
  2. 菜单 选择 图标。
  3. 选择 “连接详细信息 ”。
  4. 根据您的连接需求,复制客户机标识和密钥并下载 Kubernetes 私钥 YAML 文件。