設定Table策略
更新時間:
Copy as MD
為指定表設定資源策略(Resource Policy),實現表層級的存取控制。
注意事項
--resource-policy參數接受JSON格式的策略字串,策略結構遵循阿里雲資源策略規範,包含Version、Statement等欄位。
設定新的策略會覆蓋該表已有的策略。如需在現有策略基礎上修改,請先通過get-table-policy命令擷取當前策略,修改後再設定。
JSON字串可以直接通過命令列傳入,也可以使用
file://首碼從本地檔案讀取策略內容。
命令格式
ossutil tables-api put-table-policy --table-bucket-arn value --namespace value --name value --resource-policy value [flags]
參數 | 類型 | 說明 |
--name | string | 表名稱。必選參數。 |
--namespace | string | 表所屬的命名空間名稱。必選參數。 |
--resource-policy | string | 資源策略JSON字串。支援直接傳入JSON字串或通過 |
--table-bucket-arn | string | Table Bucket的ARN,格式為 |
說明
put-table-policy命令對應API介面PutTablePolicy。關於API中的具體參數含義,請參見PutTablePolicy。
關於支援的全域命令列選項,請參見ossutil全域選項。
使用樣本
通過命令列直接傳入JSON字串,為表設定允許指定帳號讀取表資訊和中繼資料位置的資源策略。
ossutil tables-api put-table-policy --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --resource-policy '{"Version":"1","Statement":[{"Effect":"Allow","Principal":["acs:ram::9876543210:root"],"Action":["osstables:GetTable","osstables:GetTableMetadataLocation"],"Resource":["acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket/namespace/my_namespace/table/my_table"]}]}'通過本地檔案傳入策略JSON,使用
file://首碼指定策略檔案路徑。ossutil tables-api put-table-policy --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --resource-policy file://policy.json為表設定拒絕刪除操作的資源策略。
ossutil tables-api put-table-policy --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --resource-policy '{"Version":"1","Statement":[{"Effect":"Deny","Principal":["*"],"Action":["osstables:DeleteTable"],"Resource":["acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket/namespace/my_namespace/table/my_table"]}]}'
该文章对您有帮助吗?