在使用 Prometheus 监控服务过程中,为了能够使用相关云资源,会遇到多种需要进行服务授权的场景。在使用该服务的过程中主要涉及TKE_QCSLinkedRoleInPrometheusService、TKE_QCSRole 和 CM_QCSLinkedRoleInTMP 三个服务角色。
TKE_QCSLinkedRoleInPrometheusService 角色是用于授权 Prometheus 访问容器服务,默认关联的预设策略如下:
QcloudAccessForTKELinkedRoleInPrometheusService:该策略仅用于腾讯云容器服务(TKE)访问其他云服务资源。包含对象存储(COS)相关操作权限。
TKE_QCSRole 角色是用于授权容器服务,默认关联的预设策略如下:
QcloudAccessForTKERole:该策略用于腾讯云容器服务(TKE)访问云资源。
QcloudAccessForTKERoleInOpsManagement:该策略用于腾讯云容器服务(TKE)访问其他云服务资源。包含日志服务(CLS)相关操作权限。
CM_QCSLinkedRoleInTMP 角色是用于授权 Prometheus 获取云资源信息,默认关联的预设策略如下:
QcloudAccessForCMLinkedRoleInTMP:该策略用于 monitor 访问其他云服务资源。
操作场景
当您成功创建 Prometheus 服务实例之后,为了采集腾讯云容器服务(TKE)或集成中心其他组件监控的数据,需要访问相关 API 服务,需要您的授权委托,才能正常访问。
此角色无需主动寻找配置,在未授权的情况下,在您成功创建 Prometheus 服务实例后,进入到对应实例管理页下的数据采集时会自动弹出授权界面。
授权步骤
主账号授权步骤
1. 当您成功 创建 Prometheus 实例 后,在进入实例管理页面的数据采集时将出现授权提示框,进行 TKE_QCSLinkedRoleInPrometheusService 和 TKE_QCSRole 两个角色的授权,如下所示:
2. 单击授权按钮。
3. 在访问管理 > 角色管理页单击同意授权,提示授权成功即可。
4. 若您需要使用集成中心的云监控、CVM Node Exporter、CVM 进程监控、CVM 云服务器、EMR、Cdwch 的一键安装功能,则需进行 CM_QCSLinkedRoleInTMP 角色的授权,如下所示:
说明
此次授权只会出现一次,如果您已授权,则不再出现该授权提示框。
子账号授权步骤
主账号完成上述授权操作,成功创建了角色后,子账号无权限访问角色,需主账号对子账号授予 PassRole 权限,子账号才能正常使用,否则会提示失败。
在授予子账号 PassRole 权限时,请确保您的子账号有以下权限:
权限说明 | 授予策略 |
需授予子账号访问 CAM 权限,主账号授予子账号的 PassRole 权限才会生效 | QcloudCamReadOnlyAccess 或 QcloudCamFullAcces |
云监控策略依赖于云产品策略,因此授予子账号 PassRole 权限前,需确保子账号可在 TKE 下正常访问 TKE 资源 |
为确保上述权限授予成功,请参考以下步骤授予子账号 cam:PassRole 权限。
1. 使用主账号或具有管理权限的子账号创建如下自定义策略,策略语法示例如下:
{"version": "2.0","statement": [{"effect": "allow","action": "cam:PassRole","resource": "qcs::cam::uin/${OwnerUin}:roleName/TKE_QCSLinkedRoleInPrometheusService"},{"effect": "allow","action": "cam:PassRole","resource": "qcs::cam::uin/${OwnerUin}:roleName/TKE_QCSRole"}]}
为控制权限,示例语法限制了 cam:PassRole 仅对 TKE_QCSLinkedRoleInPrometheusService 和 TKE_QCSRole 服务角色生效,您可根据需要增减生效的角色。
2. 新建完后,参见 访问管理 - 授权管理 在自定义策略下关联子账号即可。