通過為執行個體配置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支援配置的Table Store自訂Condition和通用Condition說明請參見下表。其中*
表示支援所有Action。更多通用Condition配置請參見權限原則基本元素。
類型 | Condition key | Action | 說明 |
Table Store自訂 Condition |
|
| 對建立或更新表進行許可權配置,是否只允許建立或更新加密表。 取實值型別為String,取值範圍為true、false。 配置樣本: |
| * | 對來自可信代理(當從控制台訪問時為可信代理)的訪問進行許可權配置,是否只允許可信代理的訪問。 取實值型別為String,取值範圍為true、false。 配置樣本: | |
|
| 對建立或更新執行個體進行許可權配置,是否只允許建立不能從公網訪問的執行個體。 取實值型別為String,取值範圍為true、false。 配置樣本: | |
| * | 設定允許的用戶端TLS版本,同時也限制了只能使用HTTPS協議進行訪問。 取實值型別為String,取值範圍為TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。 單個條件中支援同時配置多個TLS版本。當配置多個TLS版本時,用戶端採用配置中的任意一種TLS版本訪問Table Store均可成功。 | |
通用Condition |
| * | 當請求來自非VPC時,限制源端的IP或網段。 取實值型別為String,取值範圍為IPv4/IPv6的IP地址、CIDR網段。 單個條件中支援同時配置具體IP地址或IP網段。 |
| * | 當請求來自VPC時,限制源端的VPC的ID。 取實值型別為String,取值範圍為源端的VPC的ID,請確保配置的VPC ID正確。 單個條件中支援配置多個VPC ID。 |
執行個體策略樣本
Tablestore目前支援限制訪問執行個體時的TLS版本、限制訪問執行個體的IP來源、限制訪問執行個體的網路來源等執行個體策略,請根據實際配置。
限制訪問執行個體時的TLS版本
通過配置執行個體策略限制只允許在指定的TLS版本上訪問Tablestore,用於增強Tablestore訪問安全性。
以下配置樣本用於限制請求必須通過TLSv1.2和TLSv1.3版本訪問Tablestore。具體配置如下:
選擇效果(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版本的用戶端訪問Table Store。
在新增策略面板的可視化策略展示頁簽,選擇效果(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相同),單擊確定。
單擊確定。