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

如果启用了单点登录,则使用 API(Entra ID)

贡献者 netapp-pcarriga

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

如果启用了 Entra ID 单点登录,Sign inAPI

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

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

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

关于此任务

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

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

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

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

要编写您自己的与 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 的地址

    • 要访问租户管理 API 的租户帐户 ID

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

    提示输入密码和 MFA
    备注 此脚本假定 MFA 是使用 Microsoft Authenticator 完成的。您可能需要修改脚本以支持其他形式的MFA (例如、输入在文本消息中收到的代码)。

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