单点登录 (SAML)

将 PetroBench 连接到 Microsoft Entra ID、Okta、Google Workspace 或任何 SAML 2.0 身份提供商,并为您的组织强制执行 SSO。

本页介绍如何通过 SAML 2.0 单点登录 (SSO) 将您的身份提供商连接到 PetroBench。

要点

  • 提供商:Microsoft Entra ID、Okta、Google Workspace、Ping、Auth0、Keycloak 以及任何 SAML 2.0 身份提供商。
  • 按组织配置:每个组织都有自己的 SAML 端点和证书。
  • 可强制执行:您可以关闭密码登录,让所有用户都通过您的身份提供商登录。
  • MFA:SSO 用户的 MFA 由您的身份提供商处理。

注意: 单点登录 (SSO/SAML) 和 SCIM 预配作为付费附加功能提供。您的订阅所包含的功能和套餐以您的订阅计划或订单表为准。

每个 PetroBench 组织都有自己的 SAML 端点。用户必须已存在于 PetroBench 中,且其电子邮件地址与您的身份提供商提供的值一致。

概览

问题答案
协议SAML 2.0(SP 发起和 IdP 发起的登录,可选单点注销)
范围按组织配置,拥有独立的端点和证书
强制执行可选。强制执行后,该组织的密码登录和密码重置将被禁用
MFA由您的身份提供商处理,因此您现有的 MFA 和条件访问策略继续适用
预配手动,或通过 SCIM 2.0 自动预配(需要登录文档)
设置PetroBench 与您的身份团队一起配置连接,然后在上线前测试两种登录流程

SAML 端点格式

PetroBench 使用组织专属的 SAML 路由。将每个路径附加到您部署的基础 URL 之后(例如 https://app.petrobench.com)。

路由用途
/saml/{organization-id}/metadataSP 元数据 / Entity ID
/saml/{organization-id}/loginSP 发起的登录
/saml/{organization-id}/acsAssertion Consumer Service(回复 URL)
/saml/{organization-id}/logout单点注销(可选)

您的 PetroBench 客户团队会提供您环境的 {organization-id}。可直接复制的准确 URL 见下文您从我们这里获得的信息。

设置流程

PetroBench 会代您配置 SAML 连接。交换过程如下:

1

我们向您发送 SP 信息

您的客户团队会提供下方的服务提供商 (SP) 端点。请使用这些值在您的 IdP 中将 PetroBench 注册为 SAML 应用。

2

您向我们发送 IdP 信息

请将您 IdP 的 SAML 联合元数据(XML 文件或 URL)发送给我们。元数据包含我们所需的全部内容;如果无法共享元数据,请发送下方信息清单中的各项值。

3

我们完成配置并测试

PetroBench 录入您的值,然后我们一起测试 SP 发起和 IdP 发起的登录,再为您的用户启用 SSO。

您从我们这里获得的信息(SP 信息)

请在您的 IdP 中配置以下服务提供商值。{organization-id} 是您的客户团队提供的标识符。

SP Entity ID / Identifier
https://app.petrobench.com/saml/{organization-id}/metadata
在您的 IdP 中将此值用作 Entity ID / Identifier。
ACS URL (Assertion Consumer Service)
https://app.petrobench.com/saml/{organization-id}/acs
您的 IdP 发送 SAML 响应的地址。也称为 Reply URL 或 Callback URL。
Login URL(SP 发起的 SSO)
https://app.petrobench.com/saml/{organization-id}/login
用户发起 SSO 登录的地址。也称为 Sign-On URL。
SLO URL(Single Logout,可选)
https://app.petrobench.com/saml/{organization-id}/logout
可选。同时从 PetroBench 和您的 IdP 注销用户。

ACS 绑定为 HTTP-POST。NameID 格式必须为电子邮件地址。请对断言进行签名;不要要求签名的 AuthnRequest 或加密的断言。

我们需要您提供的信息(IdP 信息)

请将以下信息发送给您的客户经理(参见如何提交您的信息)。最简单的方式是提供您 IdP 的联合元数据(XML 或 URL),其中包含下列必填项。PetroBench 会将其录入 Configure SAML 2.0 表单(Admin Panel 中由 PetroBench 员工操作的界面;客户无法直接访问)。必填项以星号标记。

身份提供商配置

字段必填说明
Identity Provider是选择您的 IdP(Microsoft Entra ID、Okta、Google Workspace、Ping Identity、Auth0、Keycloak、AWS IAM Identity Center、WorkOS 或 Custom SAML Provider)。选择提供商后,其余字段会显示该提供商专属的"在哪里查找"提示。
IdP Entity ID是IdP 的颁发者或实体标识符(例如 https://sts.windows.net/<tenant-id>/)。
IdP SSO URL是IdP 的 SAML 2.0 登录端点,PetroBench 会将用户重定向到该端点。
IdP x509 Certificate是IdP 的 Base64 (PEM) 签名证书,用于验证 SAML 断言。

属性映射

字段必填默认值
Email Attribute是email:断言中携带用户电子邮件的属性。必须与该用户在 PetroBench 中的电子邮件一致。
First Name Attribute否firstName:用于预配新用户。
Last Name Attribute否lastName:用于预配新用户。

可选配置

字段说明
IdP Single Logout URLIdP 的 SLO 端点(如果支持单点注销)。
Domain Verification要与组织关联的电子邮件域(例如 example.com)。

SSO 要求

字段作用
Require SSO启用后,组织中的所有用户都必须通过 IdP 进行身份验证。参见下文强制 SSO。

如何提交您的信息

请通过电子邮件将您的身份提供商信息发送给您的 PetroBench 客户经理。交换的值并非敏感信息,因此使用电子邮件即可。

1

我们提供 SP 信息

您的客户经理会向您发送 PetroBench 的服务提供商端点。请使用它们在您的身份提供商中将 PetroBench 注册为 SAML 应用。

2

您回复 IdP 信息

请在回复中提供下列信息。我们建议提供元数据 URL,而不是粘贴证书:如果您的身份提供商轮换签名证书,URL 仍然有效,而粘贴的证书则必须重新发送。

3

我们完成配置并验证

PetroBench 录入您的配置,并安排一次简短的两种登录流程测试,然后为您的用户启用 SSO。

请将以下内容复制到您的回复中:

回复您的客户经理
  1. 1
    IdP 联合元数据 URL(首选),或元数据 XML 文件如果两者都没有:IdP Entity ID、IdP SSO URL 以及 Base64 x509 签名证书
  2. 2
    电子邮件属性名称(默认:email)
  3. 3
    可选:名字和姓氏属性名称、IdP Single Logout URL
  4. 4
    您的电子邮件域(例如 acme.com)
  5. 5
    需要访问权限的用户:电子邮件列表,或确认使用 SCIM 预配

身份提供商要求

您的 IdP 配置应满足以下要求:

要求详情
NameID 格式电子邮件地址 (urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress)
NameID 值用户的电子邮件地址
电子邮件属性在 SAML 断言中包含与上方 Email Attribute 映射一致的电子邮件属性
用户匹配用户必须已存在于 PetroBench 中,且电子邮件地址一致

预配用户

启用 SSO 之前,请确保所有需要访问权限的人员都已存在于 PetroBench 中,且其电子邮件地址与您的 IdP 发送的地址一致。用户可以在 Admin Panel 中手动创建,或者在您的组织已启用的情况下通过 SCIM 自动预配。

登录流程

PetroBench 支持两种 SSO 登录流程:

IdP 发起:用户从您的身份提供商开始,在应用目录中选择 PetroBench,然后携带 SAML 断言被重定向到 PetroBench。无需额外的身份验证。

SP 发起:用户打开 PetroBench 登录页面并选择"Sign in with SSO"。PetroBench 将用户重定向到您的 IdP 进行身份验证,登录成功后再返回 PetroBench。

两种流程产生相同的会话。用户完成身份验证,并根据其电子邮件地址进入正确的组织。

强制 SSO

组织可以启用强制 SSO,要求所有身份验证都通过 IdP 进行。强制 SSO 生效时:

  • 组织中所有用户的本地密码登录被禁用
  • 密码重置被禁用
  • 所有登录尝试都通过 SAML 流程重定向
  • API 密钥继续独立于 SSO 工作

在推广期间,您也可以先保留密码登录作为后备,待所有用户都通过 IdP 登录后再切换到强制 SSO。强制 SSO 和密码后备不能同时开启。

SSO 与 MFA

用户通过 SSO 登录时,第二因素由您的身份提供商处理。PetroBench 不会要求 SSO 用户另外输入 PetroBench MFA 代码,因此您现有的 MFA 和条件访问策略仍是唯一的管理位置。

仍使用密码登录的用户遵循您组织的 MFA 策略。

如需启用强制 SSO,请联系您的 PetroBench 客户团队。

SCIM 预配

为实现用户生命周期的自动化管理,PetroBench 支持 SCIM 2.0。当用户在您的身份提供商中入职或离职时,变更会自动同步到 PetroBench。

有关设置说明和配置详情,请参阅 SCIM 预配指南(需要登录文档)。

故障排除

问题解决方法
用户在 SSO 后看到"No account found"用户在 PetroBench 中的电子邮件与 IdP 提供的 NameID 或电子邮件属性不一致。请检查您 IdP 配置中的电子邮件映射。
SAML 断言被拒绝检查您 IdP 中的 ACS URL 是否与 PetroBench ACS 端点完全一致。末尾斜杠和协议 (https) 都很重要。
用户进入了错误的组织该用户可能在多个 PetroBench 组织中拥有账户。请联系支持团队解决映射问题。
IdP 显示"unknown service provider"在您的 IdP 中重新导入 PetroBench SP 元数据。元数据 URL 始终可在您组织的 /metadata 端点获取。

支持的身份提供商

  • Microsoft Entra ID (Azure AD)
  • Okta
  • Google Workspace
  • Ping Identity
  • OneLogin
  • Auth0
  • Keycloak
  • 任何其他 SAML 2.0 身份提供商

本页内容