4.7. RBAC 쿼리 구성
관리자는 쿼리 역할 기반 액세스 제어(RBAC)를 설정하여 사용자에게 권한을 부여한 네임스페이스별로 사용자의 스팬 속성을 필터링할 수 있습니다.
쿼리 RBAC를 활성화하면 사용자는 모든 네임스페이스의 추적에 계속 액세스할 수 있으며, service.name 및 k8s.namespace.name 속성도 모든 사용자에게 표시됩니다.
사전 요구 사항
cluster-admin역할의 클러스터 관리자가 활성 OpenShift CLI(oc) 세션입니다.작은 정보-
OpenShift CLI(
oc) 버전이 최신 버전인지 확인하고 OpenShift Container Platform 버전과 일치하는지 확인합니다. oc login을 실행합니다.$ oc login --username=<your_username>
-
OpenShift CLI(
프로세스
TempoStack사용자 정의 리소스(CR)에서 다중 테넌시를 활성화하고 RBAC를 쿼리합니다(예:apiVersion: tempo.grafana.com/v1alpha1 kind: TempoStack metadata: name: simplest namespace: chainsaw-multitenancy spec: storage: secret: name: minio type: s3 storageSize: 1Gi resources: total: limits: memory: 2Gi cpu: 2000m tenants: mode: openshift authentication: - tenantName: dev tenantId: "1610b0c3-c509-4592-a256-a1871353dbfb" template: gateway: enabled: true1 rbac: enabled: true2 queryFrontend: jaegerQuery: enabled: false3 TempoStackCR에서 지정한 테넌트에 액세스할 수 있는 권한을 대상 사용자에게 부여하기 위해 클러스터 역할과 클러스터 역할 바인딩을 만듭니다. 예:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: tempo-dev-read rules: - apiGroups: [tempo.grafana.com] resources: [dev]1 resourceNames: [traces] verbs: [get] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: tempo-dev-read roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: tempo-dev-read subjects: - kind: Group apiGroup: rbac.authorization.k8s.io name: system:authenticated2 대상 사용자에게 프로젝트의 속성을 읽을 수 있는 권한을 부여합니다. 다음 명령을 실행하면 됩니다.
$ oc adm policy add-role-to-user view <username> -n <project>