10.8. 对 Loki 日志的精细访问


在 logging 子系统 5.8 及更高版本中,ClusterLogging Operator 默认不授予所有用户对日志的访问权限。作为管理员,您需要配置用户访问权限,除非 Operator 已升级并且以前的配置已就位。根据您的配置和需要,您可以使用以下内容配置对日志的精细访问:

  • 集群范围内的策略
  • 命名空间范围策略
  • 创建自定义 admin 组

作为管理员,您需要创建适合部署的角色绑定和集群角色绑定。ClusterLogging Operator 提供以下集群角色:

  • cluster-logging-application-view 授予读取应用程序日志的权限。
  • cluster-logging-infrastructure-view 授予读取基础架构日志的权限。
  • cluster-logging-audit-view 授予读取审计日志的权限。

如果您从以前的版本升级,则额外的集群角色 logging-application-logs-reader 和关联的集群角色绑定 logging-all-authenticated-application-logs-reader 提供向后兼容性,允许任何经过身份验证的用户在命名空间中读取访问权限。

注意

在查询应用程序日志时,具有命名空间权限的用户必须提供命名空间。

10.8.1. 集群范围内的访问

集群角色绑定资源引用集群角色,以及设置集群范围的权限。

ClusterRoleBinding 示例

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: logging-all-application-logs-reader
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-logging-application-view 1
subjects: 2
- kind: Group
  name: system:authenticated
  apiGroup: rbac.authorization.k8s.io

1
额外的 ClusterRolecluster-logging-infrastructure-viewcluster-logging-audit-view
2
指定此对象应用到的用户或组。

10.8.2. 命名空间访问

RoleBinding 资源可用于 ClusterRole 对象来定义用户或组可以访问日志的命名空间。

RoleBinding 示例

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: allow-read-logs
  namespace: log-test-0 1
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-logging-application-view
subjects:
- kind: User
  apiGroup: rbac.authorization.k8s.io
  name: testuser-0

1
指定此 RoleBinding 应用到的命名空间。

10.8.3. 自定义 admin 组访问

如果您的部署有很多需要更广泛的用户,您可以使用 adminGroup 字段创建自定义组。属于 LokiStack CR 的 adminGroups 字段中指定的任何组的成员的用户被视为 admins。如果还被分配了 cluster-logging-application-view 角色,则管理员用户有权访问所有命名空间中的所有应用程序日志。

LokiStack CR 示例

apiVersion: loki.grafana.com/v1
kind: LokiStack
metadata:
  name: logging-loki
  namespace: openshift-logging
spec:
  tenants:
    mode: openshift-logging 1
    openshift:
      adminGroups: 2
      - cluster-admin
      - custom-admin-group 3

1
自定义管理组仅在此模式中可用。
2
为此字段输入空 list [] 值会禁用 admin 组。
3
覆盖默认组(system:cluster-admins,cluster-admin,dedicated-admin)
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.