解决SAML身份验证设置问题

SAML身份验证仅在Pro企业方案(包括自托管和Metabase Cloud)上可用。

设置SAML时常见的一些问题。

您的应用程序支持SAML吗?

请验证您在身份提供者(IdP)中创建的应用程序是否支持SAML。在应用程序创建过程中有时会提供其他选项。

发行者或实体ID是否正确?

在用身份提供者填写完身份验证表单后,您会被返回到Metabase,但它会抛出一个错误。要查看错误,请转到管理设置 > 故障排除 > 日志。您将看到一个类似以下错误:错误的响应 <发行者>

根本原因:您的发行者或实体ID不正确。

采取的步骤:

  1. 您应该已经从您的身份提供者那里收到了一个元数据的XML文件。打开该元数据文件,查找正确的发行者或实体ID。此ID是身份提供者的唯一标识符。根据您的提供商,发行者或实体ID通常看起来像这样
    http://www.example.com/141xkex604w0Q5PN724v
    
  2. 从XML文件中复制发行者或实体ID。
  3. 转到Metabase,选择管理设置 > 设置 > 身份验证 > SAML。将发行者或实体ID输入到SAML身份提供者发行者字段中。

SAML身份提供者证书值是否正确?

在用您的身份提供者填写完身份验证表单后,您回到Metabase,但它会抛出一个错误。转到管理设置 > 故障排除 > 日志。您将看到一个类似以下错误:无效断言错误 <发行者>

根本原因:您输入的证书值不正确。

采取的步骤:

  1. 转到Metabase,选择管理设置 > 设置 > 身份验证 > SAML。检查您输入到SAML身份提供者证书字段的证书是否与您从身份提供者那里获得的XML文件中的证书匹配。

    • 根据您的提供商,您可能需要下载XML文件,在文本编辑器中打开它,然后将其内容复制并粘贴到Metabase中的SAML身份提供者证书字段。

    • 请注意,您的证书文本可能包含类似 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 的头部和尾部注释。当您将证书文本粘贴到Metabase中时,应包括这些注释。

SSO URL是否正确?

请验证您在SAML提供者网站上输入的单点登录URL(或等效)是否附加了/auth/sso。例如,如果您希望用户最终到达https://metabase.mycompany.com,则完整URL应为https://metabase.mycompany.com/auth/sso

搜索私钥时发现为null

此错误仅在使用已签名的SSO请求时发生。也就是说,在Metabase中,您已在管理设置 > 设置 > 身份验证 > SAML > 已签名的SSO请求的配置部分填写了字段。这些字段是

  • SAML密钥库路径:用于签名SAML请求的密钥库文件的绝对路径。
  • SAML密钥库密码:打开密钥库的密码。
  • SAML密钥库别名:Metabase用于签名SAML请求的密钥的别名。

根本原因:密钥库文件中的证书缺少私钥。

采取的步骤:

  1. 将带私钥的证书添加到您的密钥库。

检查SAML是否正常工作

前往您的 Metabase 登录页面。如果 SAML 正常工作,您应该看到一个用于使用您的身份提供者(IdP)登录的单个按钮。点击此处登录。一旦您经过身份验证,系统应自动将您重定向到 Metabase 主页。

您是否仍然遇到问题?

如果您无法使用故障排除指南解决问题

阅读其他 Metabase 版本的文档

想要改进这些文档? 提出更改建议。