自定义Control Policy

通过自定义管控策略(Control Policy)限制访问资源的权限边界。表格存储支持限制访问时的TLS版本、限制只能创建使用非公网访问的实例等管控策略,请根据实际配置。

背景信息

资源目录管控策略是一种基于资源结构(资源夹或成员)的访问控制策略,可以统一管理资源目录各层级内资源访问的权限边界。更多信息,请参见管控策略概述

管控策略语法

管控策略由效果(Effect)、操作(Action)、资源(Resource)和条件(Condition)等基本元素组成。更多信息,请参见管控策略语言

组成部分

元素名称

说明

效果(Effect)

授权效果包括允许(Allow)和拒绝(Deny)两种。

操作(Action)

操作是指对具体资源的操作。更多信息,请参见Action定义

资源(Resource)

资源是指被授权的具体对象。更多信息,请参见Resource定义

条件(Condition)

条件是指授权生效的条件。更多信息,请参见管控策略示例

管控策略示例

表格存储目前支持限制访问时的TLS版本、限制只能创建非公网访问的实例等管控策略,请根据实际配置。

限制访问时的TLS版本

通过自定义管控策略限制只允许在指定的TLS版本上访问表格存储,用于增强表格存储访问安全性。

以下示例用于限制请求必须通过TLSv1.2TLSv1.3版本访问表格存储。如果客户端请求使用TLSv1.2之前版本访问或者使用TLSv1.3之后版本访问表格存储,则请求失败。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ots:*",
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringNotEquals": {
                  "ots:TLSVersion": [
                    "TLSv1.2",
                    "TLSv1.3"
                  ]
                }
            }
        }
    ]
}

限制只能创建非公网访问的实例

通过自定义管控策略限制用户只能创建不允许公网访问的实例。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ots:InsertInstance",
        "ots:CreateInstance",
        "ots:UpdateInstance"
      ],
      "Resource": "*",
      "Condition": {
        "Bool": {
          "ots:AllowInstanceInternetAccess": [
            "true"
          ]
        }
      }
    }
  ]
}

典型使用场景

使用资源目录前,需要完成如下准备工作:

  • 已收到使用资源目录的邀请记录。

  • 请使用经过企业实名认证的阿里云账号开通资源目录。个人实名认证账号不能开通资源目录。具体操作,请参见开通资源目录

  • 创建资源夹,搭建企业的组织结构。具体操作,请参见创建资源夹

  • 创建成员或者邀请已有的阿里云账号,并将这些成员移动到对应的资源夹下。具体操作,请参见创建成员邀请阿里云账号加入资源目录移动成员

场景一:授予用户只能通过特定TLS版本访问表格存储

  1. 使用管理账号开启管控策略。

    1. 登录资源管理控制台

    2. 在左侧导航栏,选择资源目录 > 管控策略

    3. 单击开启管控策略

    4. 单击确定

    5. 单击刷新,查看开启状态。

  2. 使用管理账号通过脚本编辑模式创建自定义管控策略。

    1. 在左侧导航栏,选择资源目录 > 管控策略

    2. 策略列表页签,单击创建策略

    3. 创建策略页面,单击脚本编辑页签。

    4. 输入如下管控策略内容,然后单击继续编辑基本信息

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Deny",
                  "Action": [
                      "ots:*",
                  ],
                  "Resource": [
                      "*"
                  ],
                  "Condition": {
                      "StringNotEquals": {
                        "ots:TLSVersion": [
                          "TLSv1.2",
                          "TLSv1.3"
                        ]
                      }
                  }
              }
          ]
      }
    5. 输入管控策略名称备注

    6. 根据实际检查并优化管控策略内容。

  3. 使用管理账号将管控策略绑定到资源目录节点(资源夹、成员)。

    配置完成后,添加到资源目录中的成员将只能通过TLSv1.2TLSv1.3版本访问表格存储

    1. 在左侧导航栏,选择资源目录 > 管控策略

    2. 策略绑定页签下的左侧组织结构树中,单击目标资源夹或成员。

    3. 在右侧页面,单击绑定策略

    4. 绑定策略对话框,选择需要绑定的管控策略。

    5. 单击确定

场景二:授予用户只能创建非公网访问的实例

  1. 使用管理账号开启管控策略。

    1. 登录资源管理控制台

    2. 在左侧导航栏,选择资源目录 > 管控策略

    3. 单击开启管控策略

    4. 单击确定

    5. 单击刷新,查看开启状态。

  2. 使用管理账号通过脚本编辑模式创建自定义管控策略。

    1. 在左侧导航栏,选择资源目录 > 管控策略

    2. 策略列表页签,单击创建策略

    3. 创建策略页面,单击脚本编辑页签。

    4. 输入如下管控策略内容,然后单击继续编辑基本信息

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Deny",
            "Action": [
              "ots:InsertInstance",
              "ots:CreateInstance",
              "ots:UpdateInstance"
            ],
            "Resource": "*",
            "Condition": {
              "Bool": {
                "ots:AllowInstanceInternetAccess": [
                  "true"
                ]
              }
            }
          }
        ]
      }
    5. 输入管控策略名称备注

    6. 根据实际检查并优化管控策略内容。

  3. 使用管理账号将管控策略绑定到资源目录节点(资源夹、成员)。

    配置完成后,添加到资源目录中的成员将只能创建使用非公网访问的表格存储实例。

    1. 在左侧导航栏,选择资源目录 > 管控策略

    2. 策略绑定页签下的左侧组织结构树中,单击目标资源夹或成员。

    3. 在右侧页面,单击绑定策略

    4. 绑定策略对话框,选择需要绑定的管控策略。

    5. 单击确定