使用资源组进行精细化资源控制

为了更加高效地管理云数据库 MongoDB 版的资源,您可以使用资源组对资源进行分组管理。资源组使您能够按照部门、项目、环境等维度对资源进行分组,并结合访问控制(RAM),在单个阿里云账号内实现资源的隔离和精细化权限管理。本文为您介绍云数据库 MongoDB 版对资源组的支持情况,以及如何对云数据库 MongoDB 版的资源进行分组和资源组级别的授权操作。

基本概念

资源组

资源组(Resource Group)是在阿里云账号下进行资源分组管理的一种机制,能够有效解决单个阿里云账号内的资源分组、权限管理和成本分摊等复杂问题。例如,您可以为不同的项目创建对应的资源组,并将项目使用的资源转移到对应的组中,以便集中管理各项目的资源。更多信息,请参见什么是资源组资源组设计最佳实践

资源组级别授权

在完成资源分组后,您可以使用RAMRAM授权主体(RAM用户、RAM用户组或RAM角色)授予指定资源组范围的权限,从而限制其可管理的资源范围仅为指定资源组内的资源。这种授权方式具有良好的扩展性,后续新增资源时,只需将资源加入相应的资源组,无需修改权限策略。更多信息,请参见资源分组和授权

资源组级别授权的操作步骤

以下以授予RAM用户在指定资源组内管理云数据库 MongoDB 版资源的权限为例,为您介绍资源组级别授权的操作步骤。

  1. 登录RAM控制台,创建RAM用户。

    具体操作,请参见创建RAM用户

  2. 登录资源组控制台,创建资源组。

    具体操作,请参见创建资源组

  3. 将资源划分到对应资源组。

    • 创建新的资源:在创建资源时,指定其所属的资源组。

    • 使用现有资源:将现有资源转移到对应的资源组。具体操作,请参见资源手动转组

  4. 登录RAM控制台,创建自定义权限策略。

    说明

    如果您选择为RAM用户授予系统权限策略,可跳过此步骤。在实际业务环境中,建议您遵循最小授权原则,仅授予RAM用户所需的最少权限,以避免权限过大带来的安全风险。

    创建自定义权限策略,将RAM用户所需的操作权限包含在内。具体操作,请参见创建自定义权限策略

    自定义权限策略示例:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "dds:DescribeDBInstanceAttribute",
          "Resource": "*"
        }
      ]
    }
  5. 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控制台授权时,资源范围选择账号级别

image

以下为两个自定义权限策略示例,您可以根据实际需要调整策略内容。

  • 允许不支持资源组级别授权的只读操作。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角色,能够操作整个账号范围内的相关资源。请务必确认所授予的权限是否符合预期,遵从最小授权原则谨慎分配权限。