菜单
文档breadcrumb arrow Grafana Mimirbreadcrumb arrow 管理breadcrumb arrow 安全breadcrumb arrow 身份验证与授权
开源

Grafana Mimir 身份验证与授权

Grafana Mimir 是一个多租户系统,租户可以查询包含其租户 ID 的指标和告警。查询从每个请求的 HTTP 头中的 X-Scope-OrgID 参数(例如 X-Scope-OrgID: <租户 ID>)获取租户 ID。您可以通过将 -tenant-federation.enabled 设置为 true 来跨多个租户联合查询。指定多个租户 ID 时,请在 X-Scope-OrgID 头中使用管道符 (|) 分隔,例如 X-Scope-OrgID: tenant-1|tenant-2|tenant-3

为了保护 Grafana Mimir 免受意外或恶意调用,您必须添加一个保护层,例如一个反向代理,用于对请求进行身份验证并将相应的租户 ID 注入 X-Scope-OrgID 头中。

配置 Prometheus 远程写入

有关 Prometheus 远程写入配置的更多信息,请参阅 remote write

使用身份验证反向代理

要使用文件存储的 Token 进行 Bearer 身份验证,远程写入配置块包含以下参数:

yaml
authorization:
  type: Bearer
  credentials_file: <PATH TO BEARER TOKEN FILE>

要使用文件存储的用户名和密码进行 Basic 身份验证,远程写入配置块包含以下参数:

yaml
basic_auth:
  username: <AUTHENTICATION PROXY USERNAME>
  password_file: <PATH TO AUTHENTICATION PROXY PASSWORD FILE>

不使用身份验证反向代理

要直接配置 X-Scope-OrgID 头,远程写入配置块包含以下参数:

yaml
headers:
  "X-Scope-OrgID": <TENANT ID>

从 Prometheus 标签提取租户 ID

在受信任的环境中,如果您想根据 Prometheus 标签拆分时间序列,可以在 Prometheus Server 和 Grafana Mimir 之间运行 cortex-tenant

注意

cortex-tenant 是一个第三方社区项目,不由 Grafana Labs 维护。

在将时间序列代理到 Grafana Mimir 时,您可以配置 cortex-tenant 使用指定的标签作为 X-Scope-OrgID 头。

要配置 cortex-tenant,请参阅配置

禁用多租户

要禁用多租户功能,请向每个 Grafana Mimir 组件传递以下参数:

-auth.multitenancy-enabled=false

禁用多租户后,Grafana Mimir 组件将在内部将每个请求的租户 ID 设置为字符串 anonymous

要设置其他租户 ID,请使用 -auth.no-auth-tenant 标志。

注意

并非所有租户 ID 都有效。有关租户 ID 限制的更多信息,请参阅关于租户 ID