通过为实例配置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 |
|
| 对创建或更新表进行权限配置,是否只允许创建或更新加密表。 取值类型为String,取值范围为true、false。 配置示例: |
| * | 对来自可信代理(当从控制台访问时为可信代理)的访问进行权限配置,是否只允许可信代理的访问。 取值类型为String,取值范围为true、false。 配置示例: | |
|
| 对创建或更新实例进行权限配置,是否只允许创建不能从公网访问的实例。 取值类型为String,取值范围为true、false。 配置示例: | |
| * | 设置允许的客户端TLS版本,同时也限制了只能使用HTTPS协议进行访问。 取值类型为String,取值范围为TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。 单个条件中支持同时配置多个TLS版本。当配置多个TLS版本时,客户端采用配置中的任意一种TLS版本访问表格存储均可成功。 | |
通用Condition |
| * | 当请求来自非VPC时,限制源端的IP或网段。 取值类型为String,取值范围为IPv4/IPv6的IP地址、CIDR网段。 单个条件中支持同时配置具体IP地址或IP网段。 |
| * | 当请求来自VPC时,限制源端的VPC的ID。 取值类型为String,取值范围为源端的VPC的ID,请确保配置的VPC ID正确。 单个条件中支持配置多个VPC ID。 |
实例策略示例
表格存储目前支持限制访问实例时的TLS版本、限制访问实例的IP来源、限制访问实例的网络来源等实例策略,请根据实际配置。
限制访问实例时的TLS版本
通过配置实例策略限制只允许在指定的TLS版本上访问表格存储,用于增强表格存储访问安全性。
以下配置示例用于限制请求必须通过TLSv1.2和TLSv1.3版本访问表格存储。具体配置如下:
选择效果(Effect)为允许,添加条件并配置条件的条件键为ots:TLSVersion,运算符为StringEquals,条件值为TLSv1.2和TLSv1.3。
相应的脚本示例如下:
{ "Action": [ "ots:*" ], "Resource": [ "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*" ], "Principal": [ "*" ], "Effect": "Allow", "Condition": { "StringEquals": { "ots:TLSVersion": [ "TLSv1.2", "TLSv1.3" ] } } }
选择效果(Effect)为拒绝,添加条件并配置条件的条件键为ots:TLSVersion,运算符为StringNotEquals,条件值为TLSv1.2和TLSv1.3。
相应的脚本示例如下:
{ "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.XX
或10.10.XX.XX/24
网段的请求访问myinstance实例。具体配置如下:
选择效果(Effect)为允许,添加条件并配置条件的条件键为acs:SourceIp,运算符为IpAddress,条件值为相应的IP地址或IP网段。
相应的脚本示例如下:
{ "Action": [ "ots:*" ], "Resource": [ "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*" ], "Principal": [ "*" ], "Effect": "Allow", "Condition": { "IpAddress": { "acs:SourceIp": [ "10.10.XX.XX", "10.10.XX.XX/24" ] } } }
选择效果(Effect)为拒绝,添加条件并配置条件的条件键为acs:SourceIp,运算符为NotIpAddress,条件值为相应的IP地址或IP网段。
相应的脚本示例如下:
{ "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访问实例。具体配置如下:
选择效果(Effect)为允许,添加条件并配置条件的条件键为acs:SourceVpc,运算符为StringEquals,条件值为相应的VPC ID。
相应的脚本示例如下:
{ "Action": [ "ots:*" ], "Resource": [ "acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*" ], "Principal": [ "*" ], "Effect": "Allow", "Condition": { "StringEquals": { "acs:SourceVpc": [ "vpc-bp1gri6xxxxxxxxxxx" ] } } }
选择效果(Effect)为拒绝,添加条件并配置条件的条件键为acs:SourceVpc,运算符为StringNotEquals,条件值为相应的VPC ID。
相应的脚本示例如下:
{ "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.2和TLSv1.3版本进行访问。
进入新增策略面板。
登录表格存储控制台。
在概览页面,选择地域后,单击myinstance实例。
在安全策略页签,单击新增授权。
添加允许访问的客户端策略。
在新增策略面板的可视化策略展示页签,选择效果(Effect)为允许。
单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键为
acs:SourceIP
,选择运算符为IpAddress,填写条件值为10.10.XX.XX/24
,单击确定。单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键为
ots:TLSVersion
,选择运算符为StringEquals,选择条件值为TLSv1.2和TLSv1.3,单击确定。
添加拒绝访问的客户端策略。
此配置拒绝所有不是通过TLSv1.2和TLSv1.3版本的客户端访问表格存储。
在新增策略面板的可视化策略展示页签,选择效果(Effect)为拒绝。
单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键为
ots:TLSVersion
,选择运算符为StringNotEquals,选择条件值为TLSv1.2和TLSv1.3,单击确定。
单击确定。
场景二:限制某个用户只能使用指定VPC网络访问实例
对于访问IP地址为10.10.XX.XX
的用户限制只能通过指定VPC访问myinstance实例。
进入新增策略面板。
登录表格存储控制台。
在概览页面,选择地域后,单击myinstance实例。
在安全策略页签,单击新增授权。
添加允许访问的客户端策略。
在新增策略面板的可视化策略展示页签,选择效果(Effect)为允许。
单击添加条件后,单击新增条件后的编辑,在添加条件对话框中,选择条件键为
acs:SourceIP
,选择运算符为IpAddress,填写条件值为10.10.XX.XX
,单击确定。单击添加条件后,单击新增条件后的编辑,在添加条件对话框中,选择条件键为
acs:SourceVpc
,选择运算符为StringEquals,选择条件值为指定VPC,单击确定。
添加拒绝访问的客户端策略。
在新增策略面板的可视化策略展示页签,选择效果(Effect)为拒绝。
单击添加条件后,单击新增条件后的编辑,在添加条件对话框中,选择条件键为
acs:SourceVpc
,选择运算符为StringNotEquals,选择条件值为指定VPC(必须与上一步骤的VPC相同),单击确定。
单击确定。