云原生数据仓库AnalyticDB MySQL版自定义权限策略参考

如果系统权限策略不能满足您的要求,您可以创建自定义权限策略实现最小授权。使用自定义权限策略有助于实现权限的精细化管控,是提升资源访问安全的有效手段。本文介绍云原生数据仓库 AnalyticDB MySQL 版使用自定义权限策略的场景和策略示例。

什么是自定义权限策略

在基于RAM的访问控制体系中,自定义权限策略是指在系统权限策略之外,您可以自主创建、更新和删除的权限策略。自定义权限策略的版本更新需由您来维护。

  • 创建自定义权限策略后,需为RAM用户、用户组或RAM角色绑定权限策略,这些RAM身份才能获得权限策略中指定的访问权限。

  • 已创建的权限策略支持删除,但删除前需确保该策略未被引用。如果该权限策略已被引用,您需要在该权限策略的引用记录中移除授权。

  • 自定义权限策略支持版本控制,您可以按照RAM规定的版本管理机制来管理您创建的自定义权限策略版本。

操作文档

常见自定义权限策略场景及示例

常见的自定义权限策略示例如下,您只需将下述示例代码中的集群ID替换为实际的数仓版集群ID。

  • 管理单个实例的所有权限

    以下策略表示:您具有管理指定数仓版集群的所有权限。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": ["adb:DescribeDBClusters", "adb:ListTagResources"],
                "Resource": "acs:adb:*:*:dbcluster/*",
                "Effect": "Allow"
            },
            {
                "Action": "adb:*",
                "Resource": ["acs:adb:*:*:dbcluster/<集群ID>"],
                "Effect": "Allow"
            }
        ]
    }
    
  • 管理多个实例的所有权限

    以下策略表示:您具有管理多个指定数仓版集群的所有权限。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": ["adb:DescribeDBClusters", "adb:ListTagResources"],
                "Resource": "acs:adb:*:*:dbcluster/*",
                "Effect": "Allow"
            },
            {
                "Action": "adb:*",
                "Resource": [
                    "acs:adb:*:*:dbcluster/<集群ID>,
                    "acs:adb:*:*:dbcluster/<集群ID>",
                ],
                "Effect": "Allow"
            }
        ]
    }
  • 查询和修改单个实例的白名单权限

    以下策略表示:您具有查询和修改指定数仓版集群IP白名单的权限。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": ["adb:DescribeDBClusterAttribute", "adb:ListTagResources","DescribeDBClusterAccessWhiteList","ModifyDBClusterAccessWhiteList"],
                "Resource": ["acs:adb:*:*:dbcluster/<集群ID>"],
                "Effect": "Allow"
            }
        ]
    }

授权信息参考

使用自定义权限策略,您需要了解业务的权限管控需求,并了解云原生数据仓库 AnalyticDB MySQL 版的授权信息。详细内容请参见数仓版授权信息企业版或湖仓版授权信息