Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

在 StorageGRID 中为 OIDC 创建 PingFederate 中的服务提供商连接

贡献者 netapp-pcarriga

使用 PingFederate 为系统中每个管理节点的 OpenID Connect (OIDC) 创建服务提供商 (SP) 连接。

开始之前
  • 您在 PingFederate 服务器中创建 SP 连接的经验。

  • 您有https://docs.pingidentity.com/pingfederate/latest/administrators_reference_guide/pf_administrators_reference_guide.html["《管理员参考指南》"^]用于PingFedate服务器的。PingFederate 文档提供了详细的分步说明和说明。

  • 你有"管理员权限"用于 PingFederate 服务器。

关于此任务

以下说明总结了如何将 PingFederate 服务器版本 12.1.10 配置为 StorageGRID 的 SSO 提供程序。如果您使用的是其他版本的 PingFederate,则可能需要调整这些说明。有关您的版本的详细说明,请参阅 PingFederate 服务器文档。

除非另有说明,否则请使用默认设置。在某些情况下,您可以使用组织要求的设置,例如身份验证方法的设置。

步骤 1:创建数据存储

如果尚未创建数据存储,请创建一个数据存储以将 PingFederate 连接到 AD FS LDAP 服务器。

步骤
  1. 转到*系统* > 数据和凭据存储

  2. 选择*New Data Store*。

  3. 对于类型,选择 Directory (LDAP)

  4. 选择 * 下一步 * 。

  5. 在 LDAP 配置下:

    • 输入*主机名*、用户 DN(用户名)和*密码*的值。

      使用您在 StorageGRID 中"配置身份联合"时所用的值。

    • 对于 Active Directory,选择 LDAP Type

步骤 2:创建密码凭据验证器

如果尚未创建密码凭据验证程序,请创建一个。

步骤
  1. 选择*Password Credential Validators* > Create New instance

  2. 在类型选项卡上,输入以下信息:

    1. 实例名称和实例 ID:可以对两者使用相同的值。

    2. 类型:选择 LDAP Username Password Credential Validator

  3. 选择 * 下一步 * 。

  4. 在 Instance Configuration (实例配置)选项卡上,输入以下信息:

    • LDAP 数据存储区:选择您创建的 数据存储

    • SEARCH BASE:输入 LDAP 配置 的信息。

    • 搜索筛选器:输入 sAMAccountName=${username}

    • 搜索范围:选择*子树*。

  5. 选择 * 下一步 * 。

  6. 在Extended Contract选项卡上,添加以下属性: memberOfobjectGUIDsAMAccountNamesn`和 `userPrincipalName

  7. 选择*下一步* > 保存

步骤 3:创建 IdP 适配器实例

如果尚未创建,请创建一个 IdP(身份提供程序)适配器实例。

备注 您的 StorageGRID 系统中的每个管理节点都必须有一个 IdP 连接。这可确保用户可以安全地登录和退出任何管理节点。您可以为所有管理节点创建单个 IdP 连接(推荐),也可以为每个管理节点创建不同的 IdP 连接。
步骤
  1. 转至 * 身份验证 * > * 集成 * > * IdP 适配器 * 。

  2. 选择 * 创建新实例 * 。

  3. 在类型选项卡上,输入以下信息:

    • 实例名称和实例 ID:可以对两者使用相同的值。

    • 类型:选择 HTML Form IdP Adapter

  4. 选择 * 下一步 * 。

  5. IdP Adapter 选项卡上,选择 Add a new row to 'Credential Validators'

  6. 选择您创建的 密码凭据验证程序

  7. 选择 * 下一步 * 。

  8. 在Extended Contract选项卡上,添加为 密码凭据验证程序 映射的属性。

  9. 选择 * 下一步 * 。

  10. 在适配器属性选项卡上,为假名选择 username 属性。

  11. 选择 Next > Next

  12. 查看摘要并选择*保存*。

步骤 4:配置 OAuth 服务器和授权服务器设置

配置授权服务器以支持 StorageGRID 接受的授权类型。

步骤
  1. 转至*系统* > 授权服务器设置

  2. 验证是否已为授予类型选择以下选项以重用现有永久访问授予:

    • 隐含

    • 授权码

    • 资源所有者密码凭据

      备注 如果贵公司限制使用 RESOURCE OWNER PASSWORD CREDENTIALS,则只能使用 AUTHORIZATION CODE。
  3. 对于 OAuth 管理 Web 服务设置,请选择您创建的 密码凭据验证程序

第5步:定义范围

在 PingFederate 中定义作用域。

步骤
  1. 转到*系统* > OAuth Settings > 范围管理

  2. 在 Common Scopes 选项卡上,添加 openidemailprofile 的值(如果它们还不存在)。

第6步:配置 IdP 适配器映射

配置 IdP 适配器映射,以将 IdP 属性映射到颁发给客户端的永久授权,例如访问令牌或刷新令牌。

步骤
  1. 转到 Authentication > Policy Contract Grant Mapping

  2. 选择 IdP Adapter Grant Mapping

  3. 从 SOURCE ADAPTER INSTANCE 下拉列表中,选择您创建的 HTML 表单适配器

  4. 选择*添加映射* > 合同履行

  5. 在源下,为 USER_KEY 和 USER_NAME 选择 Adapter

  6. 在"值"下,选择 sAMAccountName 作为 USER_KEY,选择 username 作为 USER_NAME。

  7. 选择*下一步* > *下一步*以导航到摘要页面。

  8. 选择 * 保存 * 。

第7步:设置资源所有者凭据映射

设置资源所有者凭据映射,以确保在身份验证期间正确验证用户凭据。

步骤
  1. 转到 Authentication > Policy Contract Grant Mapping

  2. 选择*Resource Owner Credentials Grant Mapping*。

  3. 从 SOURCE PASSWORD VALIDATOR INSTANCE 下拉列表中,选择您创建的 密码凭据验证程序

  4. 选择*添加映射* > 合同履行

  5. 为 USER_KEY 添加映射:

    • 在 Source 下,选择 Password Credential Validator

    • 在值下,选择 sAMAccountName

  6. 选择*下一步* > *下一步*以导航到摘要页面。

  7. 选择 * 保存 * 。

第8步:创建或导入签名证书

如果尚未创建,请创建或导入签名证书。

步骤
  1. 转至 * 安全性 * > * 签名和解密密钥和证书 * 。

  2. 选择*Create New*,然后输入以下信息:

    • 公用名 (CN):这应该是服务器的完全限定域名 (FQDN)。

    • 组织(Org):输入您的组织名称。

    • 国家/地区:提供两个字母的国家/地区代码,例如,US 代表美国。

    • 密钥算法:选择适当的密钥算法,例如 RSA

    • 密钥大小:设置为 2048 位。

    • 签名算法:选择 RSA with SHA256 作为签名算法,以确保安全的加密操作。

第9步:配置访问令牌管理

StorageGRID 使用访问令牌对 PingFederate 中的 API 请求进行身份验证和授权。

步骤
  1. 导航到*应用程序* > 访问令牌管理

  2. 选择 * 创建新实例 * 。

  3. 在类型选项卡上,输入以下信息:

    • 实例名称和实例 ID:可以对两者使用相同的值。

    • 类型:验证值是否为 JSON Web Tokens

  4. 选择 * 下一步 * 。

  5. 在"实例配置"选项卡上,输入证书的以下信息:

    • 密钥 ID:输入密钥的唯一标识符。

    • 证书:添加您创建的 证书

    • JWS ALGORITHM:选择 RSA using SHA256

    • 活动签名证书密钥 ID:选择您在此步骤中创建的 KEY ID

  6. 选择 Next > Next

  7. 在Access Token Attribute Contract选项卡上,为Subject Attribute Name选择*USER_KEY*,为Extend the Contract选择*username*。

  8. 选择 * 添加 * 。

  9. 选择*下一步* > 下一步 > *下一步*以导航到摘要页面。

  10. 选择 * 保存 * 。

第10步:配置访问令牌映射

配置访问令牌映射以使用您创建的访问令牌。

步骤
  1. 转到*应用程序* > 访问令牌映射

  2. 选择*访问令牌映射*。

  3. 选择*添加映射*。

  4. 对于上下文,选择*Default*。

  5. 对于访问令牌管理器,请选择您创建的 访问令牌

  6. 选择*下一步* > 合同履行

  7. 在 Source 下,为用户名选择 Persistent Grant

  8. 在值下,选择 USER_KEY 作为用户名。

  9. 选择*下一步* > 保存

第11步:设置OpenID Connect策略

为客户端访问根据 OpenID 规范映射的属性定义 OpenID Connect 策略。

步骤
  1. 转至*应用程序* > OAuth Clients

  2. 选择 OpenId Connect Policy Management > Add Policy

  3. 在"管理策略"选项卡上,输入以下信息:

    • 策略 ID:此策略的唯一标识符。

    • 策略名称:策略的描述性名称。

    • 访问令牌管理器:选择您创建的 访问令牌

    • ID TOKEN LIFETIME:为 ID token 设置所需的生存期,例如 60 分钟或 1 小时。

    • 在 ID 令牌中包含用户信息:选中该框以在 ID 令牌中包含用户详细信息。

  4. 选择 * 下一步 * 。

  5. 在"属性合同"选项卡上,删除您创建的 数据存储 中不需要的任何现有属性。仅保留要从 Ping Authentication 传递到 StorageGRID 的属性。

    备注 这是关键的一步。它确定 ID 令牌中包括哪些属性值。StorageGRID 在身份验证过程中继承这些值。
  6. 选择 Next > Next

  7. 在属性源和用户查找选项卡上,选择 添加属性源。然后输入下列信息:

    • ATTRIBUTE SOURCE ID 和 ATTRIBUTE SOURCE DESCRIPTION:可以对两者使用相同的值。

    • ACTIVE DATA STORE:选择您创建的 数据存储

  8. 选择 * 下一步 * 。

  9. 在 LDAP 目录搜索选项卡上:

    1. 输入 * 基本 DN* ,该 DN 应与您在 StorageGRID 中为 LDAP 服务器输入的值完全匹配。

    2. 从根对象类下拉列表中选择 objectClass

    3. 从 ATTRIBUTE 下拉列表中,为要映射的每个对象类添加属性。例如:

      • InetOrgPerson:添加 displayName、givenName 或 HomePhone。

      • user:添加 LocalID 或 userPrincipalName (upn)。

      • top:添加 memberOf 或名称。

      • person:添加 sn。

  10. 选择 * 下一步 * 。

  11. 在 LDAP 筛选器选项卡上,输入 * 。 sAMAccountName=$ { username } * 。

    您需要自定义 LDAP 筛选器,以确保 StorageGRID 根据贵组织特定的 Active Directory 或 LDAP 结构检索用户属性。请咨询您的 LDAP/AD 管理员,以获取适合您的设置的筛选器表达式。

  12. 选择*保存*并查看摘要。

  13. 在Contract Fulfillment (合同履行)选项卡上,输入以下信息:

    • 源:选择您创建的 LDAP 数据存储

    • 值:将每个属性合约映射到相应的值。

  14. 选择 Next > Next

  15. 查看摘要并选择*保存*。

  16. 转到*应用程序* > OAuth Clients > OpenID Connect Policy Management

  17. 验证您创建的策略是否设置为默认策略。

步骤 12:为 OAuth 服务器创建 OAuth 客户端

创建新的 OAuth 客户端以配置必要的客户端凭据并授权 PingFederate 与 StorageGRID 之间的连接。

步骤
  1. 转至*应用程序* > OAuth Clients

  2. 选择 Add Client,然后输入以下信息:

    • 客户端 ID:输入唯一值。

    • 客户端身份验证:选择 Client Secret

    • CLIENT SECRET:选择 CHANGE SECRET > Generate Secret

      这将为客户端生成密钥。保存此密钥供以后使用。

    • REDIRECT URIS:在 Redirect URI 部分提供 StorageGRID 返回 URL。这些 URL 应与 StorageGRID 中为 OAuth 配置的 URL 匹配:例如:

    • https://<Admin IP or Hostname>/api/v4/oidc-callback

    • https://<Admin IP or Hostname>/api/v4/oidc-logged-out

    • 允许的授予类型:选择以下选项:

      • 授权码:这将启动 OAuth 流程。

      • Refresh Token:在访问令牌过期时获取新令牌。

      • Resource Owner Password Credentials:如果您需要直接访问用户凭据进行身份验证。

    • OPENID CONNECT:选择 RSA using SHA-256 作为 ID 令牌签名算法。

    • 注销模式:选择 OIDC Back-Channel

    • Front-Channel Logout URI、Back-Channel Logout URI 和 Post-Logout Redirect URI:添加 StorageGRID 注销 URI: https://<Admin IP or Hostname>/api/v4/oidc-logged-out

  3. 选择 * 保存 * 。

下一步

创建 SP 连接后,"使用 OIDC 配置 SSO"