菜单
Grafana Cloud 企业版

使用 Grafana 用户界面配置 SAML 身份验证

注意

可在Grafana Enterprise 10.0 及更高版本以及Grafana Cloud Pro 和 Advanced 版中使用

您可以通过用户界面 (UI) 或 Grafana 配置文件在 Grafana 中配置 SAML 身份验证。有关如何使用 Grafana 配置文件设置 SAML 的说明,请参阅使用配置文件配置 SAML 身份验证

相较于在 Grafana 配置文件中配置 SAML,Grafana SAML UI 提供了以下优势

  • Grafana Cloud 用户可以访问
  • SAML UI 会进行输入验证,并提供有关配置正确性的有用反馈,使 SAML 设置更容易
  • 配置更新后无需重新启动 Grafana
  • 访问 SAML UI 只需要访问身份验证设置的权限,因此对 Grafana 配置访问受限的用户也可以使用它

注意

通过 Grafana 用户界面 (UI) 进行的任何配置更改将优先于 Grafana 配置文件中或通过环境变量指定的设置。这意味着如果您在 UI 中修改任何配置设置,它们将覆盖通过环境变量或配置文件中定义的任何相应设置。有关 Grafana 如何确定其设置优先级顺序的更多信息,请参阅运行时设置更新

注意

禁用 UI 不会影响之前通过 UI 设置的任何配置设置。即使禁用 UI,这些设置也将继续按预期运行。

开始之前

要遵循本指南,您需要

  • 了解 SAML 身份验证。请参阅Grafana 中的 SAML 身份验证以了解 Grafana 的 SAML 集成概览。

  • 权限settings:readsettings:write,作用域为 settings:auth.saml:*,允许您读取和更新 SAML 身份验证设置。

    这些权限由 fixed:authentication.config:writer 角色授予。默认情况下,自托管实例的 Grafana 服务器管理员和 Grafana Cloud 实例的组织管理员拥有此角色。

  • 运行 Grafana 10.0 或更高版本的 Grafana 实例,并具有Grafana EnterpriseGrafana Cloud Pro 或 Advanced 版许可证。

注意

可以使用 Azure AD 设置 Grafana 的 SAML 身份验证。但是,如果 Azure AD 用户属于超过 150 个组,则会共享一个 Graph API 端点。

Grafana 11.1 及以下版本不支持从 Graph API 端点获取组信息。因此,拥有超过 150 个组的用户将无法检索其组信息。建议您改用 OIDC/OAuth 工作流。

从 Grafana 11.2 开始,SAML 集成提供了一种从 Graph API 检索用户组的机制。

相关链接

配置 SAML 身份验证的步骤

登录 Grafana 并导航至 管理 > 身份验证 > 配置 SAML

1. 常规设置部分

  1. 填写常规设置字段。

    如需帮助,请参阅下表以获取有关特定字段的附加指南

    字段描述
    允许注册如果启用,您可以通过 SAML 登录创建新用户。如果禁用,则只有现有的 Grafana 用户可以使用 SAML 登录。
    自动登录如果启用,Grafana 将尝试自动使用 SAML 登录,跳过登录屏幕。
    单点登出SAML 单点登出功能使用户可以从使用 SAML SSO 建立的当前 IdP 会话关联的所有应用程序中登出。有关更多信息,请参阅SAML 单点登出文档
    身份提供商发起的登录使用户可以直接从 SAML IdP 登录 Grafana。有关更多信息,请参阅IdP 发起的登录文档
  2. 点击 下一步:签名请求

2. 签名请求部分

  1. 签名请求字段中,指定您是否希望传出请求被签名,如果是,则

    1. 提供服务提供商 (Grafana) 和 SAML IdP 将使用的证书和私钥。

      使用 PKCS #8 格式颁发私钥。

      有关更多信息,请参阅关于如何生成 SAML 凭据的示例

      或者,您也可以直接从 UI 生成新的私钥和证书对。点击生成密钥和证书按钮以打开一个表单,您可以在其中输入要嵌入到新证书中的一些信息。

    2. 选择应使用哪种签名算法。

      SAML 标准建议对某些类型的消息使用数字签名,例如身份验证或注销请求,以避免中间人攻击

  2. 点击 下一步:将 Grafana 连接到身份提供商

3. 将 Grafana 连接到身份提供商部分

  1. 使用 Grafana 元数据配置 IdP
    1. 复制 元数据 URL 并将其提供给您的 SAML IdP,以建立 Grafana 与 IdP 之间的连接。
      • 元数据 URL 包含 IdP 与 Grafana 建立连接所需的所有信息。
    2. 复制 断言消费者服务 URL 并将其提供给您的 SAML IdP。
      • 断言消费者服务 URL 是 IdP 在用户通过身份验证后发送 SAML 断言的端点。
    3. 如果您想使用单点登出功能,复制单点登出服务 URL 并将其提供给您的 SAML IdP。
  2. 使用 IdP 数据完成 Grafana 配置
    1. 向 Grafana 提供 IdP 元数据。
    • 元数据包含 Grafana 与 IdP 建立连接所需的所有信息。
    • 这可以提供为 Base64 编码的值、文件路径或 URL。
  3. 点击 下一步:用户映射

4. 用户映射部分

  1. 如果您希望从 SAML 断言映射用户信息,填写断言属性映射部分。

如果 Azure 是基于 SAML 的身份提供商,则断言属性映射存在注意事项。由于 Azure 对这些属性的解释方式,需要在 UI 中的相应字段中输入完整的 URL,这应与元数据 XML 中的 URL 匹配。根据是角色或组声明还是其他断言,存在差异,Microsoft 已经记录

组和角色

http://schemas.microsoft.com/ws/2008/06/identity/claims/role
http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
http://schemas.microsoft.com/identity/claims/displayname

其他断言

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

image

如果您想使用团队同步,您还需要配置组属性字段。团队同步根据用户的 SAML 组成员身份自动将用户映射到 Grafana 团队。了解更多关于团队同步以及为 SAML 配置团队同步的信息。

  1. 如果您想根据用户的 SAML 角色自动分配角色,请填写角色映射部分。

    首先,您需要配置角色属性字段,指定应使用哪个 SAML 属性来检索 SAML 角色信息。然后在角色映射部分输入您希望映射到 Grafana 角色的 SAML 角色。如果您想将多个 SAML 角色映射到一个 Grafana 角色,请使用逗号和空格分隔它们。例如,Editor: editor, developer

    角色映射将在用户每次登录 Grafana 时根据其 SAML 角色自动更新其基本角色。了解更多关于SAML 角色同步的信息。

  2. 如果您使用 SAML 协议设置 Grafana 与 Azure AD 集成,并希望从 Graph API 获取用户组信息,请填写Azure AD 服务帐户配置子部分。

    1. 在 Azure AD 中设置服务帐户,并在Azure AD 服务帐户配置部分中提供必要的详细信息。
    2. 提供您的 Azure AD 应用的客户端 ID
    3. 提供您的 Azure AD 应用的客户端密码客户端密码将用于从 Azure AD 请求访问令牌。
    4. 提供 Azure AD 请求访问令牌 URL
    5. 如果您的用户没有超过 150 个组,您仍然可以通过启用强制使用 Graph API toggle来强制使用 Graph API。
  3. 如果您有多个组织并希望自动将用户添加到组织,请填写组织映射部分

    首先,您需要配置组织属性字段,指定应使用哪个 SAML 属性来检索 SAML 组织信息。现在在组织映射字段中填写从 SAML 组织到 Grafana 组织的映射。例如,Engineering:2, Sales:2 将把属于 SAML 中 EngineeringSales 组织的用户映射到 Grafana 中 ID 为 2 的组织。如果您希望用户在不同组织中拥有不同的角色,您还可以指定角色。例如,Engineering:2:Editor 将把属于 SAML 中 Engineering 组织的用户映射到 Grafana 中 ID 为 2 的组织,并为其分配 Editor 角色。

    组织映射将在用户每次登录 Grafana 时根据其 SAML 组织自动更新用户的组织成员身份(以及角色,如果已配置)。了解更多关于SAML 组织映射的信息。

  4. 如果您想根据用户的 SAML 组织成员身份限制对 Grafana 的访问,请填写允许的组织字段。

  5. 点击 下一步:测试并启用

5. 测试并启用部分

  1. 点击 保存并启用
    • 如果您的配置存在问题,将出现错误消息。请返回上一步纠正问题,完成后点击右上角的保存并应用
  2. 如果没有配置问题,SAML 集成状态将变为已启用。您的 SAML 配置现已启用。
  3. 要禁用 SAML 集成,请点击右上角的禁用