SAML 身份验证设置故障排除
设置 SAML 时的一些常见问题。
您的应用支持 SAML 吗?
验证您在身份提供商 (IdP) 中创建的应用程序是否支持 SAML。有时在应用程序创建过程中会显示其他选项。
颁发者或实体 ID 是否正确?
填写身份提供商的身份验证表单后,您会回到 Metabase,但会抛出错误。要查看错误,请转到 管理设置 > 故障排除 > 日志。您会看到一个错误,内容类似于 响应不正确 <颁发者>。
根本原因:您的颁发者或实体 ID 不正确。
采取的步骤:
- 您应该已从身份提供商收到一个元数据 XML 文件。打开该元数据文件,查找正确的颁发者或实体 ID。此 ID 是身份提供商的唯一标识符。根据您的提供商,颁发者或实体 ID 通常如下所示:
http://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 版本的文档。