阿里雲Container Service的使用者,在使用CloudMonitor接入中心的資料接入能力時,需要授予CloudMonitor服務針對叢集資源的系統管理權限。管控面授權只在管控行為發生時生效,使用者可以在管控結束後回收相關授權,不會影響資料面的資料擷取行為。回收方式參考:配置禁止雲產品訪問ACK叢集的許可權。
許可權說明
服務角色名稱:AliyunCmsIntegrationForCSRole。
許可權授權分為 OpenAPI 許可權和叢集內 ClusterRole 許可權。前者用於CloudMonitor服務擷取目的地組群的連結授權。後者用於CloudMonitor服務向叢集交付各類資料擷取探針、採集配置資源。
阿里雲 OpenAPI 許可權
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cs:DescribeClusterInnerServiceKubeconfig",
"adcp:GrantUserPermission",
"adcp:DescribeHubClusterKubeconfig"
],
"Resource": "*"
}
]
}叢集內 ClusterRole 許可權
CloudMonitor管控服務在交付探針時,需要使用如下 ClusterRole 建立探針所需要的資源集合。建立完成後 ClusterRole 可以由使用者回收。
建立資源通常只會存在於以下命名空間:
arms-prom、kube-system、cms-prom。
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: cloudmonitor-cms-integrationforcs-clusterrole
rules:
# 自訂 API 組(允許所有資源和操作),用於交付可觀測擴充配置資源
- apiGroups:
- vector.oam.dev
- o11y.aliyun.dev
- monitoring.coreos.com
- monitor.aliyun.com
- log.alibabacloud.com
- telemetry.alibabacloud.com
resources:
- '*'
verbs:
- '*'
# Exporter 工作負載交付所需資源,用於交付探針工作負載
- apiGroups: [""]
resources:
- services
- configmaps
- serviceaccounts
- namespaces
- events
- secrets
verbs:
- '*'
# 應用資源(所有操作),用於交付探針工作負載
- apiGroups: [apps, extensions]
resources:
- deployments
- daemonsets
- statefulsets
verbs:
- '*'
# 網路發現資源,用於服務發現檢查
- apiGroups: [discovery.k8s.io]
resources:
- endpointslices
verbs:
- get
- list
- apiGroups: [""]
resources:
- node
- pods
- endpoints
- services/proxy
verbs:
- get
- list
# API 擴充資源,用於安裝可觀測相關擴充 CRD
- apiGroups: [apiextensions.k8s.io]
resources:
- customresourcedefinitions
verbs:
- create
- list
- get
# RBAC 資源, 用於建立探針需要的 RBAC 資源建立
- apiGroups: [rbac.authorization.k8s.io]
resources:
- rolebindings
- roles
- clusterroles
- clusterrolebindings
verbs:
- create
- list
- get相關文檔
CloudMonitor在對容器叢集進行觀測時,也需要涉及資料面相關許可權,具體可參考容器叢集面向CloudMonitor資料擷取許可權說明。