通过为实例配置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,取值范围为TLS1.1、TLS1.2、TLS1.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版本访问表格存储。其中配置条件键为ots:TLSVersion,配置运算符为StringEquals,配置条件值为1.2和1.3。
相应的脚本示例如下:
{
"Action": [
"ots:*"
],
"Resource": [
"acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
],
"Principal": [
"*"
],
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ots:TLSVersion": [
"1.2",
"1.3"
]
}
}
}
限制只能通过指定网段的IP访问实例
通过配置实例策略限制用户只能通过指定IP网段或者指定IP地址访问实例。
以下示例用于允许IP地址为10.10.XX.XX或10.10.XX.XX/24网段的请求访问myinstance实例。
相应的脚本示例如下:
{
"Action": [
"ots:*"
],
"Resource": [
"acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
],
"Principal": [
"*"
],
"Effect": "Allow",
"Condition": {
"IpAddress": {
"acs:SourceIp": [
"10.10.XX.XX",
"10.10.XX.XX/24"
]
}
}
}
限制只能通过指定VPC网络访问实例
通过配置实例策略限制访问实例的网络来源。
以下示例用于限制用户只允许通过指定VPC访问实例。
相应的脚本示例如下:
{
"Action": [
"ots:*"
],
"Resource": [
"acs:ots:*:13791xxxxxxxxxxx:instance/myinstance*"
],
"Principal": [
"*"
],
"Effect": "Allow",
"Condition": {
"StringEquals": {
"acs:SourceVpc": [
"vpc-bp1gri6xxxxxxxxxxx"
]
}
}
}
典型使用场景
结合条件示例介绍典型场景的Policy配置方法。
场景一:限制某个网段的用户只能通过指定TLS版本访问实例
对于访问IP地址为10.10.XX.XX/24
网段的用户,可以对myinstance实例进行操作,且要求只能通过TLS1.2和TLS1.3版本进行访问。
进入新增策略面板。
登录表格存储控制台。
在概览页面,选择地域后,单击myinstance实例。
在安全策略页签,单击新增授权。
在新增策略面板的可视化策略展示页签,选择效果(Effect)为允许。
添加所需条件。
单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键为
acs:SourceIP
,选择运算符为IPAddress,填写条件值为10.10.XX.XX/24
,单击确定。单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键为
ots:TLSVersion
,选择运算符为StringEquals,选择条件值为1.2和1.3,单击确定。
单击确定。
场景二:限制某个用户只能使用指定VPC网络访问实例
对于访问IP地址为10.10.XX.XX
的用户限制只能通过指定VPC访问。
进入新增策略面板。
登录表格存储控制台。
在概览页面,选择地域后,单击myinstance实例。
在安全策略页签,单击新增授权。
在新增策略面板的可视化策略展示页签,选择效果(Effect)为允许。
添加所需条件。
单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键为
acs:SourceIP
,选择运算符为IPAddress,填写条件值为10.10.XX.XX
,单击确定。单击添加条件后,单击新增条件后的编辑,在添加条件对话框,选择条件键为
acs:SourceVpc
,选择运算符为StringEquals,选择条件值为指定VPC,单击确定。
单击确定。