为了更加高效地管理云数据库 MongoDB 版的资源,您可以使用资源组对资源进行分组管理。资源组使您能够按照部门、项目、环境等维度对资源进行分组,并结合访问控制(RAM),在单个阿里云账号内实现资源的隔离和精细化权限管理。本文为您介绍云数据库 MongoDB 版对资源组的支持情况,以及如何对云数据库 MongoDB 版的资源进行分组和资源组级别的授权操作。
基本概念
资源组
资源组(Resource Group)是在阿里云账号下进行资源分组管理的一种机制,能够有效解决单个阿里云账号内的资源分组、权限管理和成本分摊等复杂问题。例如,您可以为不同的项目创建对应的资源组,并将项目使用的资源转移到对应的组中,以便集中管理各项目的资源。更多信息,请参见什么是资源组、资源组设计最佳实践。
资源组级别授权
在完成资源分组后,您可以使用RAM为RAM授权主体(RAM用户、RAM用户组或RAM角色)授予指定资源组范围的权限,从而限制其可管理的资源范围仅为指定资源组内的资源。这种授权方式具有良好的扩展性,后续新增资源时,只需将资源加入相应的资源组,无需修改权限策略。更多信息,请参见资源分组和授权。
资源组级别授权的操作步骤
以下以授予RAM用户在指定资源组内管理云数据库 MongoDB 版资源的权限为例,为您介绍资源组级别授权的操作步骤。
登录RAM控制台,创建RAM用户。
具体操作,请参见创建RAM用户。
登录资源组控制台,创建资源组。
具体操作,请参见创建资源组。
将资源划分到对应资源组。
创建新的资源:在创建资源时,指定其所属的资源组。
使用现有资源:将现有资源转移到对应的资源组。具体操作,请参见资源手动转组。
登录RAM控制台,创建自定义权限策略。
说明如果您选择为RAM用户授予系统权限策略,可跳过此步骤。在实际业务环境中,建议您遵循最小授权原则,仅授予RAM用户所需的最少权限,以避免权限过大带来的安全风险。
创建自定义权限策略,将RAM用户所需的操作权限包含在内。具体操作,请参见创建自定义权限策略。
自定义权限策略示例:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "dds:DescribeDBInstanceAttribute", "Resource": "*" } ] }
为RAM用户授予指定资源组范围的权限。
以下两种授权方法您可以任选其一:
资源组控制台:资源范围默认选中对应的资源组。具体操作,请参见添加RAM身份并授权。
只有支持资源组的资源类型,资源组级别授权才能生效。对于不支持资源组的资源类型,授予资源组范围的权限将无效,在选择资源范围时,请选择账号级别,进行账号级别授权。
云数据库 MongoDB 版支持资源组的资源类型,请参见支持资源组的资源类型。云数据库 MongoDB 版不支持资源组级别授权的操作,请参见不支持资源组级别授权的操作。
支持资源组的资源类型
云数据库 MongoDB 版中部分资源类型支持资源组,支持的资源类型如下表所示。
云服务 | 云服务代码 | 资源类型 |
云数据库MongoDB | dds | dbinstance:实例 |
对于暂不支持资源组的资源类型,如果您有需求,可以提交工单反馈。
不支持资源组级别授权的操作
云数据库 MongoDB 版中不支持资源组级别授权的操作(Action)及对应API如下表所示。
操作(Action) | API | API描述 |
dds:CreateGlobalSecurityIPGroup | CreateGlobalSecurityIPGroup | 创建全局IP白名单模板。 |
dds:DescribeGlobalSecurityIPGroup | DescribeGlobalSecurityIPGroup | 查询全局IP白名单模板。 |
dds:ModifyGlobalSecurityIPGroup | ModifyGlobalSecurityIPGroup | 修改全局IP白名单模板。 |
dds:ModifyGlobalSecurityIPGroupName | ModifyGlobalSecurityIPGroupName | 修改全局IP白名单模板的名称。 |
dds:DeleteGlobalSecurityIPGroup | DeleteGlobalSecurityIPGroup | 删除全局IP白名单模板。 |
dds:DescribePrice | DescribePrice | 询价。 |
dds:DescribeKmsKeys | DescribeKmsKeys | 查询云盘加密可选择的KMS密钥。 |
dds:DescribeActiveOperationMaintenanceConfig | DescribeActiveOperationMaintenanceConfig | 查询运维任务配置。 |
dds:ModifyActiveOperationMaintenanceConfig | ModifyActiveOperationMaintenanceConfig | 修改运维任务配置。 |
dds:CheckServiceLinkedRole | CheckServiceLinkedRole | 查看是否已创建服务关联角色(SLR)。 |
关于云数据库 MongoDB 版更详细的RAM授权信息,请参见授权信息。
对于不支持资源组的资源类型,授予资源组范围的权限将无效,您需要创建自定义权限策略,在RAM控制台授权时,资源范围选择账号级别。
以下为两个自定义权限策略示例,您可以根据实际需要调整策略内容。
允许不支持资源组级别授权的只读操作。
Action
中列举不支持资源组级别授权的所有只读操作。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "dds:DescribeGlobalSecurityIPGroup", "dds:DescribePrice", "dds:CheckServiceLinkedRole", "dds:DescribeKmsKeys", "dds:DescribeActiveOperationMaintenanceConfig" ], "Resource": "*" } ] }
允许不支持资源组级别授权的全部操作。
Action
中列举不支持资源组级别授权的全部操作。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "dds:DescribeGlobalSecurityIPGroup", "dds:DescribePrice", "dds:CheckServiceLinkedRole", "dds:DescribeKmsKeys", "dds:DescribeActiveOperationMaintenanceConfig", "dds:CreateGlobalSecurityIPGroup", "dds:ModifyGlobalSecurityIPGroup", "dds:ModifyGlobalSecurityIPGroupName", "dds:DeleteGlobalSecurityIPGroup", "dds:ModifyActiveOperationMaintenanceConfig" ], "Resource": "*" } ] }
获得账号级别权限的RAM用户或RAM角色,能够操作整个账号范围内的相关资源。请务必确认所授予的权限是否符合预期,遵从最小授权原则谨慎分配权限。