授权权限策略
为避免因暴露主账号密钥而造成的安全风险,您可以通过子账号或角色,按需为团队成员或合作方授予不同的云数据库 MongoDB 操作权限。本文介绍两类典型授权场景,以及云数据库 MongoDB 视角下的授权建议。
说明:
子账号的创建、用户组管理、角色管理等通用操作流程,由访问管理(CAM)统一提供,本文仅作简要说明并提供跳转链接。
给子账号授权权限策略
背景信息
企业开通云数据库 MongoDB 服务后,希望团队成员操作云上资源,但不愿透露主账号密钥。此时可创建子账号并授予受限权限:相关费用统一计入主账号,且权限可随时调整或撤销。
操作步骤
云数据库 MongoDB 授权建议
只读查看场景:关联系统策略
QcloudMongoDBReadOnlyAccess,仅允许查看实例信息和监控数据。运维管理场景:关联系统策略
QcloudMongoDBFullAccess,授予完整管理权限。精细化管控场景:使用自定义策略,将权限限定到指定实例(resource 指定
instance/$instanceId),并可结合来源 IP 等条件进一步收敛。跨云账号授权权限策略
背景信息
企业 A 希望企业 B 拥有其云数据库 MongoDB 的部分业务权限(如查看监控、实例读写、慢查询分析等),但不希望共享主账号或子账号凭证。此时可通过角色实现跨账号授权:企业 A 创建角色并授权给企业 B,企业 B 的子账号通过扮演该角色访问企业 A 的资源。
操作步骤
跨账号授权依赖 CAM 的角色与角色扮演(AssumeRole)能力,整体流程如下:
1. 企业 A 创建角色:在 CAM 控制台新建角色,载体选择云账户中的其他主账号并填入企业 B 的主账号,为角色关联所需的云数据库 MongoDB 权限策略。详见 创建角色。
2. 企业 B 授予扮演角色的权限:企业 B 为其子账号创建并关联一条
sts:AssumeRole 策略,允许其扮演企业 A 创建的角色。3. 企业 B 使用角色访问资源:企业 B 的子账号登录控制台后,通过切换角色输入企业 A 的主账号及角色名称,即可以角色身份访问企业 A 的云数据库 MongoDB 资源。
步骤2中的
sts:AssumeRole 策略示例如下(将 uin/12345 和 DevOpsRole 替换为实际值):{"version": "2.0","statement": [{"effect": "allow","action": ["name/sts:AssumeRole"],"resource": ["qcs::cam::uin/12345:roleName/DevOpsRole"]}]}
更多参考
访问管理概述
权限策略语法
角色概述