管理应用程序 API 访问权限

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

准备工作

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

关于此任务

您可以在创建应用程序时,或稍后通过“编辑”选项为其授予 API 访问权限。 可以针对应用程序创建 API 客户机并且每个 API 客户机可具有一组不同的 API 访问权利。

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

对于 OIDC 应用程序,还可以配置 SSO 客户机的 API 访问权利。 Verify这些令牌仅限于执行登录该应用程序的用户有权执行的操作。

过程

  1. 选择 API 访问权限
  2. 创建应用程序 API 客户机。
    1. 选择 “添加 API 客户端 ”。
    2. 为 API 客户机指定以下信息:
      表 1. 应用程序 API 客户端
      信息 描述
      名称 指定 API 客户机的名称。
      注意: 仅允许使用字母数字及以下特殊字符:
      • -
      • .
      • _
      已启用

      指示 API 客户机是已启用还是已禁用。

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

      已禁用的 API 客户端 已禁用 无法调用任何 API,包括其有权访问的 API。
      注意:
      • 可能需要长达 1 分钟时间,此设置才会生效。
      • 如果 API 客户机具有现有的有效访问令牌,那么它可以继续调用 API。 访问令牌存在有限的有效期。 令牌将在两小时后到期。 访问令牌到期时,API 客户机无法再调用 API。
      客户机标识

      API 客户机的唯一标识。

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

      客户机密钥

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

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

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

      客户机认证方法 指示用于 API 客户机的客户机认证方法:
      验证是否支持以下客户机认证方法:
      • Default(默认选项)
      • Client secret basic
      • Client secret POST
      • Private key JWT
      • 双向 TLS
        注意: 自定义应用程序不支持双向 TLS
      TLS 客户机认证属性 仅当选择了相互 TLS 客户机认证方法时,才会显示此选项。
      将用于进行认证的证书属性。
      • 主题 DN
      • SAN DNS
      • SAN URI
      • SAN IP
      • SAN 电子邮件地址
      TLS 客户机认证属性值 仅当选择了相互 TLS 客户机认证方法时,才会显示此选项。

      将用于认证的证书中属性的值。

      证书绑定的访问令牌
      注意: 证书绑定访问令牌不适用于自定义应用程序
      指示所生成令牌是否将进行证书绑定。 有关绑定证书的访问令牌的更多信息,请参阅 OpenID Connect 相互 TLS 客户机认证和证书绑定访问令牌
      验证客户机断言 JTI 指示是否验证了客户机断言 JWT 中的 JTI 进行单次使用。 仅当选择了客户机私钥 JWT 或专用密钥 JWT 客户机认证方法时,才会显示此选项。
      允许的签名验证密钥 可用于验证客户机断言 JWT 的签名验证密钥标识。 仅当选择了专用密钥 JWT 客户机认证方法时,才会显示此选项。
      注意: 您可以手动指定签名验证密钥。 可以指定多个签名验证密钥。
      JWKS URI 依赖方以 JSON Web 密钥 (JWKs) 格式发布其公用密钥的 URI。 此 URI 用于 JWT 签名验证。 系统可以拒绝无法访问或无响应的 JWKS URI。 如果 JWKS 大小过大,那么系统还可以拒绝 JWKS URI。 如果依赖方不发布 JWKS URI,那么可通过 X509 证书格式将公用密钥添加到系统。 请参阅 “管理证书”。 与公用证书关联的“友好名称”是 JWT 的密钥标识 (kid) 头的值。
  3. 配置访问令牌和刷新令牌到期时间,以限制在这些令牌被盗时进行未经授权的访问的时间。

    访问令牌用于授予对受保护资源的访问权。 访问令牌到期后,会撤销授权。

    表 2. 令牌设置
    字段 描述
    访问令牌到期(秒)

    这用于设置访问令牌到期之前的时间长度(以秒计)。

    设置访问令牌到期时间,以限制攻击者在客户机应用程序受到损害时可以使用被盗令牌访问资源的时间。

    只允许使用正整数。

    缺省值为 7200 秒。 允许的最小值为 1 秒,最大值为 2147483647 秒。

    访问令牌格式 指示访问令牌是否以不透明字符串的形式生成,即Default设置,或以 JWT 格式。
  4. 如果要实现 IP 过滤器以确保 API 客户机标识和私钥安全地进行分发,请指定以下信息。
    表 3. 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

  5. 指定标识令牌和 JWT 格式访问令牌的签名属性。 依赖方使用该签名来验证令牌中所包含的用户声明的完整性和真实性,以及签署该令牌的 OpenID Connect身份提供商的真实性。
    注意:

    签名选项仅适用于自定义应用程序。

    表4。 签名选项
    字段 描述
    签名算法

    用于对 Verify ID 令牌和 JWT 格式访问令牌进行签名的算法。 Verify该算法必须与依赖方注册时所使用的算法一致。

    从以下散列算法中选择以验证签名:
    • HS256
    • HS384
    • HS512
    • RS256(缺省值)
    • RS384
    • RS512
    注意: 如果您选择不生成客户端密钥,则不会显示HS算法。
    对证书进行签名

    仅当选择任何 RS 签名算法时,才会显示此选项。

    使用此证书可在单点登录期间对标识令牌和 JWT 格式访问令牌进行签名。

    默认选项指的是您在“配置 > 证书 > 个人证书 ”中配置的默认个人证书。

  6. 选中 “限制自定义范围 ”复选框。
    如果选择限制定制作用域,那么在流程结束时授予客户机的作用域将限制为本部分中指定的作用域。 输入您想要授予的定制作用域的名称和描述。 作用域名称指的是信赖方/客户机所请求的 OAuth2/OIDC 作用域。 描述是对作用域的通俗解释。 选择以授予更多权限范围。
  7. 选择要授予其访问权的 API。 有关详细信息,请参阅 “访问权限 ”。
    如果全选设置为关闭,请选择要对客户机授予哪些 API 的访问权。 如果全选设置为开启,那么将为客户机授予对所有 API 的访问权。 但是,可以清除不希望客户机访问的任何 API 的复选框。
    注意:
    • 您可以创建没有初始许可权来调用任何 API 的 API 客户机。 稍后可对其进行编辑以授予特定的 API 访问权。
    • 仅可选择与预订套餐相关的 API。
    • 对于 OIDC 应用程序,具有与应用程序名称相同的客户机名称的缺省客户机位于此应用程序的 API 客户机的列表中。 除非删除应用程序或切换为其他登录方法,否则无法删除。
  8. 选择 “保存 ”。
    将生成客户机标识客户机密钥并创建应用程序 API 客户机。
  9. 查看 API 客户机详细信息。
    • 滚动或使用搜索字段来查找 API 客户机。 这将显示与搜索项匹配的所有客户机。
    • 选择要查看其信息的 API 客户机。 显示了 API 客户端详细信息
    • 将鼠标悬停在 API 客户端上,待图标出现后点击它 编辑 。 这将显示“编辑 API 客户机”对话框。
      使用以下选项:
      • 点击 复制到剪贴板 将客户端 ID 或密钥复制到剪贴板。
      • 选择 显示 以查看客户机私钥。
      • 选择 隐藏 以隐藏客户机私钥。
  10. 编辑 API 客户机。
    1. 滚动以查找 API 客户机。
    2. 将鼠标悬停在 API 客户端上,待图标出现后点击它 编辑
      这将显示“编辑 API 客户机”对话框。
    3. 编辑信息。
      如果您编辑的是现有应用程序,那么可以使用以下客户机密钥选项:
      • 选择 显示 以查看客户机私钥。
      • 选择 隐藏 以隐藏客户机私钥。
      • 点击 复制 将客户端 ID 或密钥复制到剪贴板。
      • 点击 列表 以查看已轮换的客户端密钥。
        • 从列表中选择一个或多个已轮换的客户端密钥,然后单击 “删除 ”将其删除。
      • 选择 重新生成 以生成新的客户机密钥。 如果您认为客户机密钥被泄露,请使用此选项。 重新生成客户机密钥后,必须在此应用程序的所有 OAuth 客户机中更新客户机密钥。
        • 选中 “保留当前密钥 ”复选框,即可将当前客户端密钥添加到轮换客户端密钥列表中。
        • 如果选中了 “保留当前密钥 ”复选框,请选择客户端密钥的描述和过期时间(以浏览器本地时间为准)。 如果未选择过期时间,则将应用 “应用程序设置 ”中为该租户设置的“轮换密钥生命周期”。
        • 轮换后的客户端密钥已进行哈希处理,无法再以明文形式检索,但在选定的过期日期之前仍可继续使用。
        • 确认后,客户端密钥将立即进行轮换。 新客户端密钥已显示在屏幕上。
    4. 选择 “保存 ”。
  11. 删除 API 客户机。
    1. 滚动以查找 API 客户机。
    2. 选择以下其中一个选项:
      • 选择 API 客户机。 显示 “详细信息 ”窗格时,请选择 “删除 ”。
      • 要删除多个 API 客户机,请选中 API 客户机旁的复选框,然后选择删除。
    3. 选择 “删除”
    4. 确认要删除所选 API 客户机。 保存应用程序时,将永久删除 API 客户机。