SAML 身份验证设置疑难解答
设置 SAML 时的一些常见问题。
您的应用程序支持 SAML 吗?
验证您在 IdP 中创建的应用程序是否支持 SAML。有时在应用程序创建过程中会显示其他选项。
颁发者或实体 ID 是否正确?
填写身份提供程序中的身份验证表单后,您将返回 Metabase,但它会抛出错误。要查看错误,请转到 管理设置 > 工具 > 日志。您将看到一个错误,内容类似于 不正确的响应 <颁发者>。
根本原因:您的颁发者或实体 ID 不正确。
采取的步骤:
- 您应该从身份提供程序收到一个 XML 元数据文件。打开该元数据文件,查找正确的颁发者或实体 ID。此 ID 是身份提供程序的唯一标识符。根据您的提供程序,颁发者或实体 ID 通常看起来像这样
https://www.example.com/141xkex604w0Q5PN724v
- 从 XML 文件中复制颁发者或实体 ID。
- 转到 Metabase 并选择 管理设置 > 设置 > 身份验证 > SAML。将颁发者或实体 ID 输入到 SAML 身份提供程序颁发者 字段中。
SAML 身份提供程序证书值是否正确?
填写身份提供程序中的身份验证表单后,您将返回 Metabase,但它会抛出错误。转到 管理设置 > 工具 > 日志。您将看到一个错误,内容类似于 无效断言错误 <颁发者>。
根本原因:您输入的证书值不正确。
采取的步骤:
-
转到 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
。
正在搜索私钥并发现为空
此错误仅在使用 签名 SSO 请求 时发生。也就是说,在 Metabase 中,您已在 管理设置 > 设置 > 身份验证 > SAML > 签名 SSO 请求 中的配置部分填写了字段。这些字段是
- SAML 密钥库路径:用于签署 SAML 请求的密钥库文件的绝对路径。
- SAML 密钥库密码:用于打开密钥库的密码。
- SAML 密钥库别名:Metabase 应用于签署 SAML 请求的密钥别名。
根本原因:密钥库文件中的证书缺少私钥。
采取的步骤:
- 将包含私钥的证书添加到您的密钥库。
检查 SAML 是否正常工作
转到您的 Metabase 登录页面。如果 SAML 正常工作,您应该会看到 一个按钮 用于使用您的身份提供商 (IdP) 登录。一旦您通过身份验证,您应该会自动重定向到 Metabase 主页。
您还卡住了吗?
如果您无法使用故障排除指南解决问题
- 搜索或咨询 Metabase 社区。
- 搜索已知错误或限制。
阅读其他版本的 Metabase 的文档。