设置Table策略

更新时间:
复制 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"]}]}'