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

如果已启用单点登录,请使用 StorageGRID API(Entra ID)

如果有"已配置并启用单点登录(SSO)"并将 Entra ID 用作 SSO 提供程序,则可以使用两个示例脚本获取对网格管理 API 或租户管理 API 有效的身份验证令牌。

如果启用了 Entra ID 单点登录,请登录到 API

如果您使用 Entra ID 作为 SSO 身份提供商,则适用以下说明

开始之前
  • 您知道属于 StorageGRID 用户组的联合用户的 SSO 电子邮件地址和密码。

  • 如果要访问租户管理 API,则需要知道租户帐户 ID。

关于此任务

可以使用以下示例脚本获取身份验证令牌:

  • The storagegrid-ssoauth-azure.py Python 脚本

  • The storagegrid-ssoauth-azure.js Node.js 脚本

这两个脚本都位于 StorageGRID 安装文件目录中(RHEL 为 (./rpms,Ubuntu 或 Debian 为 ./debs,VMware 为 ./vsphere)。

要使用 Entra ID 编写自己的 API 集成,请参见 storagegrid-ssoauth-azure.py 脚本。Python 脚本直接向 StorageGRID 发出两个请求(首先获取 SAMLRequest,然后获取授权令牌),并调用 Node.js 脚本与 Entra ID 交互以执行 SSO 操作。

SSO 操作可以使用一系列 API 请求执行,但这样做并不简单。Puppeteer Node.js 模块用于抓取 Entra ID SSO 接口。

如果您遇到 URL 编码问题,则可能会看到错误: Unsupported SAML version

步骤
  1. 安装所需的依赖项,如下:

    1. 安装 Node.js(请参见 "https://nodejs.org/en/download/")。

    2. 安装所需的 Node.js 模块(puppeteer 和 jsdom):

      npm install -g <module>

  2. 将 Python 脚本传递给 Python 解释器以运行脚本。

    然后,Python 脚本将调用相应的 Node.js 脚本来执行 Entra ID SSO 交互。

  3. 出现提示时,输入以下参数的值(或使用参数传入):

    • 用于登录到 Entra ID 的 SSO 电子邮件地址

    • StorageGRID 的地址

    • 租户帐户 ID(如果要访问租户管理 API)

  4. 出现提示时,请输入密码,并准备好在收到请求时向 Entra ID 提供 MFA 授权。

    提示输入密码和MFA

    备注 该脚本假设 MFA 是使用 Microsoft Authenticator 完成的。您可能需要修改脚本以支持其他形式的 MFA(例如输入在短信中收到的代码)。

    StorageGRID 授权令牌在输出中提供。您现在可以将令牌用于其他请求,类似于在未使用 SSO 的情况下使用 API 的方式。