单点登录 (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}/metadata | SP 元数据 / Entity ID |
/saml/{organization-id}/login | SP 发起的登录 |
/saml/{organization-id}/acs | Assertion Consumer Service(回复 URL) |
/saml/{organization-id}/logout | 单点注销(可选) |
您的 PetroBench 客户团队会提供您环境的 {organization-id}。可直接复制的准确 URL 见下文您从我们这里获得的信息。
设置流程
PetroBench 会代您配置 SAML 连接。交换过程如下:
我们向您发送 SP 信息
您的客户团队会提供下方的服务提供商 (SP) 端点。请使用这些值在您的 IdP 中将 PetroBench 注册为 SAML 应用。
您向我们发送 IdP 信息
请将您 IdP 的 SAML 联合元数据(XML 文件或 URL)发送给我们。元数据包含我们所需的全部内容;如果无法共享元数据,请发送下方信息清单中的各项值。
我们完成配置并测试
PetroBench 录入您的值,然后我们一起测试 SP 发起和 IdP 发起的登录,再为您的用户启用 SSO。
您从我们这里获得的信息(SP 信息)
请在您的 IdP 中配置以下服务提供商值。{organization-id} 是您的客户团队提供的标识符。
https://app.petrobench.com/saml/{organization-id}/metadatahttps://app.petrobench.com/saml/{organization-id}/acshttps://app.petrobench.com/saml/{organization-id}/loginhttps://app.petrobench.com/saml/{organization-id}/logoutACS 绑定为 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 URL | IdP 的 SLO 端点(如果支持单点注销)。 |
| Domain Verification | 要与组织关联的电子邮件域(例如 example.com)。 |
SSO 要求
| 字段 | 作用 |
|---|---|
| Require SSO | 启用后,组织中的所有用户都必须通过 IdP 进行身份验证。参见下文强制 SSO。 |
如何提交您的信息
请通过电子邮件将您的身份提供商信息发送给您的 PetroBench 客户经理。交换的值并非敏感信息,因此使用电子邮件即可。
我们提供 SP 信息
您的客户经理会向您发送 PetroBench 的服务提供商端点。请使用它们在您的身份提供商中将 PetroBench 注册为 SAML 应用。
您回复 IdP 信息
请在回复中提供下列信息。我们建议提供元数据 URL,而不是粘贴证书:如果您的身份提供商轮换签名证书,URL 仍然有效,而粘贴的证书则必须重新发送。
我们完成配置并验证
PetroBench 录入您的配置,并安排一次简短的两种登录流程测试,然后为您的用户启用 SSO。
请将以下内容复制到您的回复中:
- 1IdP 联合元数据 URL(首选),或元数据 XML 文件如果两者都没有:IdP Entity ID、IdP SSO URL 以及 Base64 x509 签名证书
- 2电子邮件属性名称(默认:email)
- 3可选:名字和姓氏属性名称、IdP Single Logout URL
- 4您的电子邮件域(例如 acme.com)
- 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 身份提供商