設定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字串或通過file://首碼指定本地檔案路徑。必選參數。策略JSON格式樣本如下:

{"Version":"1","Statement":[{"Effect":"Allow","Principal":["acs:ram::1234567890:root"],"Action":["osstables:GetTable","osstables:GetTableMetadataLocation"],"Resource":["acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket/namespace/my_namespace/table/my_table"]}]}

--table-bucket-arn

string

Table BucketARN,格式為acs:osstables:{region}:{uid}:bucket/{bucket-name}。必選參數。

說明
  • 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"]}]}'