Skip to main content

身份提供商

Enterprise Feature

此功能在ClearML企业版计划下可用。

管理员可以将身份服务提供商连接到服务器:配置身份连接,这允许ClearML与您的身份提供商通信,检索用户信息,验证用户身份等。一旦配置并启用了身份提供商连接,该选项将出现在您的服务器登录页面上。

创建新连接

  1. 点击 + 新建连接

  2. 新提供商连接模态框中,选择一个协议(OIDC或SAML)和一个提供商

    • OIDC 提供者:
      • Auth0
      • AWS Cognito
      • Google
      • Keycloak
      • Microsoft AD
      • Microsoft Azure
      • Okta
      • Ping
      • 自定义
    • SAML 提供商
      • Duo
      • Google
      • Jumpcloud
      • Microsoft AD
      • 自定义
  3. 点击下一步

  4. 提供提供者连接配置。请注意,某些信息,例如Client IDClient SecretAuthorization Endpoint,必须从您的身份提供者的ClearML应用程序设置中获取,并复制到相关字段中。

    • ClearML WebApp URL - ClearML WebApp 的外部 URL。用于构建身份提供者使用的回调 URL
    • 回调URL - 将该字段的内容复制到您的提供商的ClearML应用程序/集成中的Callback URL字段(有时该字段称为Redirect URL)。身份提供者使用此字段将会话重定向回ClearML服务器。
    • 显示名称 - 在ClearML登录屏幕上使用的唯一名称。确保没有两个连接使用相同的名称。
    • 客户端ID - 您的身份提供者的ClearML应用程序的客户端ID。从您的身份提供者的ClearML应用程序设置中复制此值
    • 客户端密钥 - 由您的身份提供商为ClearML应用程序生成的客户端密钥。从您的身份提供商的ClearML应用程序设置中复制此值
    • 授权端点 - 用于授权每个用户登录。从您的身份提供商的ClearML应用程序设置中复制此值
    • 访问令牌端点 - 用于在登录过程中获取访问令牌。从您的身份提供者的ClearML应用程序设置中复制此值
    • 撤销端点 - 用于撤销访问令牌。从您的身份提供者的ClearML应用程序设置中复制此值
    • 从身份令牌获取用户信息 - 选择从提供商生成的身份令牌中检索用户信息。如果未选择,请提供一个用户信息端点,用于在登录过程中获取额外的用户信息。从您的身份提供商的ClearML应用程序设置中复制此值。
    • 电子邮件验证 - 仅允许已验证电子邮件地址的用户注册/登录。如果选择此项,请确保您的身份提供者在生成的令牌中返回email_verified声明。
    • 首次登录时创建新用户 - 选择此项以自动为使用此连接登录的新用户创建ClearML用户。如果未选择,则只有现有的ClearML用户或使用其电子邮件地址邀请的用户才能使用此连接登录。
    • 验证令牌签名 - 选择以验证身份提供商返回的令牌的签名。这需要配置JWKS URI。确保您的身份提供商的ClearML应用程序已设置为签署令牌。
    • 附加设置
      • 代码挑战方法 - 从下拉菜单中选择一种方法(None, Plain, 或 S256)。此设置应与您的身份提供者的ClearML应用程序设置中定义的方法匹配
      • 标准用户信息范围 - 以逗号分隔的范围列表。用于控制对用户信息的访问。如果您需要添加其他范围,请使用下面的附加范围字段。
      • 附加范围 - 以逗号分隔的任何由您的身份提供者要求的附加范围列表
    • 声明映射 - 将ClearML声明名称映射到您的身份提供者的ClearML应用程序设置中定义的名称
      • 用户ID - 用户的唯一ID
      • 电子邮件 - 用户的电子邮件地址
      • 姓名 - 用户的全名
      • 名字 - 用户的名字(如果指定了姓名,则为可选)
      • 姓氏 - 用户的姓氏(如果指定了姓名,则为可选)
      • 图片 - 用户的头像或图片URL
    • 用户组同步 - 支持同步组成员资格。如果启用,并且提供者返回了组声明,服务器将尝试将每个组与现有的ClearML组匹配,并将ClearML用户分配到匹配的ClearML组。如果之前的成员资格已被撤销,服务器还将确保ClearML用户从组中移除。
    • ClearML Webapp URL - ClearML WebApp 的外部 URL。这用于构建身份提供者使用的回调 URL

    • 回复/ACS URL - 将此字段的内容复制到您的提供者的Assertion Consumer Service URL字段中。身份提供者使用此URL将会话重定向回ClearML服务器。

    • 显示名称 - 在ClearML登录屏幕上使用的唯一名称。确保没有两个连接使用相同的名称。

    • 实体ID - 您的身份提供者的ClearML应用程序的实体ID。从您的身份提供者的ClearML应用程序设置中复制此值

    • IDP元数据文件 - 由身份提供者提供,包含SAML配置详细信息,ClearML服务器使用这些信息来设置连接。从您的身份提供者的ClearML应用程序设置中下载此文件。

    • 安全设置

      • 需要签名断言 - 假设IDP断言或响应由身份提供者签名。如果启用,请确保您的身份提供者的ClearML应用程序配置为签名断言或响应。

      • 签署客户端请求 - ClearML 服务器将签署发送到身份提供者的请求。确保您的身份提供者的 ClearML 应用程序配置为接受签名的客户端请求,并且其客户端证书部分中的公钥设置相同。

        1. Sign requests sent to the identity provider. Use the following shell commands to generate a public/private key pair:
        openssl genrsa -out server.key 2048
        chmod 600 server.key
        openssl req -new -key server.key -out server.csr
        openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.cer
        1. Paste the content of the server.cer file into the Public Key field below and the content of the server.key file into the Private Key field below. Make sure your identity provider's ClearML App is configured to accept signed client requests and its Client Certificate section there is set up with the same value for the Public Key.
    • 声明映射 - 将ClearML声明名称映射到您的身份提供者的ClearML应用程序设置中定义的名称

      • 用户ID - 用户的唯一ID
      • 电子邮件 - 用户的电子邮件地址
      • 姓名 - 用户的全名
      • 名字 - 用户的名字(如果指定了name,则可选)
      • 姓氏 - 用户的姓氏(如果指定了name,则可选)
      • 图片 - 用户的头像或图片URL
    • 用户组同步 - 支持同步组成员身份。如果启用,并且提供者返回了组声明,服务器将尝试将每个组与现有的ClearML组匹配,并将ClearML用户分配到匹配的ClearML组。如果之前的成员身份已被撤销,服务器还将确保ClearML用户从组中移除。

  5. 点击测试提供者以确保连接正常工作。这将调用身份提供者,并显示返回的信息,以便您可以验证信息是否正确映射。如果提供者连接失败,将显示错误。

    测试提供者窗口

  6. 点击保存

提供者连接 表格列出了所有当前定义的连接,以及以下详细信息:

  • 激活 - 切换以启用/禁用提供者连接
  • 名称 - 连接名称
  • 提供者 - 连接的提供者
  • 协议 - 连接的协议
  • ID - 连接的ID(点击复制)
  • 最后更新 - 最后更新时间

将鼠标悬停在表格中的连接上以编辑删除它。

身份提供者图表