Instance Policy权限说明

通过为实例配置Instance Policy,您可以限制访问实例时的IP来源、网络来源和使用的TLS版本。本文介绍Instance Policy权限的说明。

Instance Policy语法

Instance Policy由效果(Effect)、操作(Action)、资源(Resource)和条件(Condition)等基本元素组成。

组成部分

不同组成部分的说明请参见下表。

元素名称

说明

效果(Effect)

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

操作(Action)

操作是指对具体资源的操作。固定取值为全部操作(*),无法修改。

资源(Resource)

资源是指被授权的具体对象。固定取值为全部资源(*),无法修改。

条件(Condition)

条件是指授权生效的条件。支持配置的Condition说明请参见Condition说明。常用配置示例请参见实例策略示例

Condition说明

Instance Policy支持配置的表格存储自定义Condition和通用Condition说明请参见下表。其中*表示支持所有Action。更多通用Condition配置请参见权限策略基本元素

类型

Condition key

Action

说明

表格存储自定义 Condition

ots:EncryptionRequired

  • CreateTable

  • UpdateTable

对创建或更新表进行权限配置,是否只允许创建或更新加密表。

取值类型为String,取值范围为true、false。

配置示例:"ots:EncryptionRequired": "true"

ots:IsFromTrustProxy

*

对来自可信代理(当从控制台访问时为可信代理)的访问进行权限配置,是否只允许可信代理的访问。

取值类型为String,取值范围为true、false。

配置示例:"ots:IsFromTrustProxy": "true"

ots:AllowInstanceInternetAccess

  • CreateInstance

  • UpdateInstance

对创建或更新实例进行权限配置,是否只允许创建不能从公网访问的实例。

取值类型为String,取值范围为true、false。

配置示例:"ots:AllowInstanceInternetAccess": "true"

ots:TLSVersion

*

设置允许的客户端TLS版本,同时也限制了只能使用HTTPS协议进行访问。

取值类型为String,取值范围为TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。

单个条件中支持同时配置多个TLS版本。当配置多个TLS版本时,客户端采用配置中的任意一种TLS版本访问表格存储均可成功。

通用Condition

acs:SourceIp

*

当请求来自非VPC时,限制源端的IP或网段。

取值类型为String,取值范围为IPv4/IPv6IP地址、CIDR网段。

单个条件中支持同时配置具体IP地址或IP网段。

acs:SourceVpc

*

当请求来自VPC时,限制源端的VPCID。

取值类型为String,取值范围为源端的VPCID,请确保配置的VPC ID正确。

单个条件中支持配置多个VPC ID。

实例策略示例

表格存储目前支持限制访问实例时的TLS版本、限制访问实例的IP来源、限制访问实例的网络来源等实例策略,请根据实际配置。

限制访问实例时的TLS版本

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

以下配置示例用于限制请求必须通过TLSv1.2TLSv1.3版本访问表格存储。具体配置如下:

  1. 选择效果(Effect)允许,添加条件并配置条件的条件键ots:TLSVersion运算符StringEquals条件值TLSv1.2TLSv1.3

    image

    相应的脚本示例如下:

    {
        "Action": [
            "ots:*"
        ],
        "Resource": [
            "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
        ],
        "Principal": [
            "*"
        ],
        "Effect": "Allow",
        "Condition": {
            "StringEquals": {
                "ots:TLSVersion": [
                    "TLSv1.2",
                    "TLSv1.3"
                ]
            }
        }
    }
  2. 选择效果(Effect)拒绝,添加条件并配置条件的条件键ots:TLSVersion运算符StringNotEquals条件值TLSv1.2TLSv1.3

    image

    相应的脚本示例如下:

    {
        "Action": [
            "ots:*"
        ],
        "Resource": [
            "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
        ],
        "Principal": [
            "*"
        ],
        "Effect": "Deny",
        "Condition": {
            "StringNotEquals": {
                "ots:TLSVersion": [
                    "TLSv1.2",
                    "TLSv1.3"
                ]
            }
        }
    }

限制只能通过指定网段的IP访问实例

通过配置实例策略限制用户只能通过指定IP网段或者指定IP地址访问实例。

以下示例用于允许IP地址为10.10.XX.XX10.10.XX.XX/24网段的请求访问myinstance实例。具体配置如下:

  1. 选择效果(Effect)允许,添加条件并配置条件的条件键acs:SourceIp运算符IpAddress条件值为相应的IP地址或IP网段。

    image

    相应的脚本示例如下:

    {
        "Action": [
            "ots:*"
        ],
        "Resource": [
            "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
        ],
        "Principal": [
            "*"
        ],
        "Effect": "Allow",
        "Condition": {
            "IpAddress": {
                "acs:SourceIp": [
                    "10.10.XX.XX",
                    "10.10.XX.XX/24"
                ]
            }
        }
    }
  2. 选择效果(Effect)拒绝,添加条件并配置条件的条件键acs:SourceIp运算符NotIpAddress条件值为相应的IP地址或IP网段。

    image

    相应的脚本示例如下:

    {
        "Action": [
            "ots:*"
        ],
        "Resource": [
            "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
        ],
        "Principal": [
            "*"
        ],
        "Effect": "Deny",
        "Condition": {
            "NotIpAddress": {
                "acs:SourceIp": [
                    "10.10.XX.XX",
                    "10.10.XX.XX/24"
                ]
            }
        }
    }

限制只能通过指定VPC网络访问实例

通过配置实例策略限制访问实例的网络来源。

以下示例用于限制用户只允许通过指定VPC访问实例。具体配置如下:

  1. 选择效果(Effect)允许,添加条件并配置条件的条件键acs:SourceVpc运算符StringEquals条件值为相应的VPC ID。

    image.png

    相应的脚本示例如下:

    {
        "Action": [
            "ots:*"
        ],
        "Resource": [
            "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
        ],
        "Principal": [
            "*"
        ],
        "Effect": "Allow",
        "Condition": {
            "StringEquals": {
                "acs:SourceVpc": [
                    "vpc-bp1gri6xxxxxxxxxxx"
                ]
            }
        }
    }
  2. 选择效果(Effect)拒绝,添加条件并配置条件的条件键acs:SourceVpc运算符StringNotEquals条件值为相应的VPC ID。

    image

    相应的脚本示例如下:

    {
        "Action": [
            "ots:*"
        ],
        "Resource": [
            "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
        ],
        "Principal": [
            "*"
        ],
        "Effect": "Deny",
        "Condition": {
            "StringNotEquals": {
                "acs:SourceVpc": [
                    "vpc-bp1gri6xxxxxxxxxxx"
                ]
            }
        }
    }

典型使用场景

结合条件示例介绍典型场景的Policy配置方法。

场景一:限制某个网段的用户只能通过指定TLS版本访问实例

对于访问IP地址为10.10.XX.XX/24网段的用户,可以对myinstance实例进行操作,且要求只能通过TLSv1.2TLSv1.3版本进行访问。

  1. 进入新增策略面板。

    1. 登录表格存储控制台

    2. 概览页面,选择地域后,单击myinstance实例。

    3. 安全策略页签,单击新增授权

  2. 添加允许访问的客户端策略。

    1. 新增策略面板的可视化策略展示页签,选择效果(Effect)允许

    2. 单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键acs:SourceIP,选择运算符IPAddress,填写条件值10.10.XX.XX/24,单击确定

    3. 单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键ots:TLSVersion,选择运算符StringEquals,选择条件值TLSv1.2TLSv1.3,单击确定

  3. 添加拒绝访问的客户端策略。

    此配置拒绝所有不是通过TLSv1.2TLSv1.3版本的客户端访问表格存储。

    1. 新增策略面板的可视化策略展示页签,选择效果(Effect)拒绝

    2. 单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键ots:TLSVersion,选择运算符StringNotEquals,选择条件值TLSv1.2TLSv1.3,单击确定

  4. 单击确定

场景二:限制某个用户只能使用指定VPC网络访问实例

对于访问IP地址为10.10.XX.XX的用户限制只能通过指定VPC访问。

  1. 进入新增策略面板。

    1. 登录表格存储控制台

    2. 概览页面,选择地域后,单击myinstance实例。

    3. 安全策略页签,单击新增授权

  2. 添加允许访问的客户端策略。

    1. 新增策略面板的可视化策略展示页签,选择效果(Effect)允许

    2. 单击添加条件后,单击新增条件后的编辑,在添加条件对话框中,选择条件键acs:SourceIP,选择运算符IPAddress,填写条件值10.10.XX.XX,单击确定

    3. 单击添加条件后,单击新增条件后的编辑,在添加条件对话框中,选择条件键acs:SourceVpc,选择运算符StringEquals,选择条件值为指定VPC,单击确定

  3. 添加拒绝访问的客户端策略。

    1. 新增策略面板的可视化策略展示页签,选择效果(Effect)为拒绝。

    2. 单击添加条件后,单击新增条件后的编辑,在添加条件对话框中,选择条件键acs:SourceVpc,选择运算符StringNotEquals,选择条件值为指定VPC(必须与上一步骤的VPC相同),单击确定

  4. 单击确定