调用PutTablePolicy接口为指定的表设置资源策略。
注意事项
资源策略(Resource Policy)用于控制其他账号或角色对该表的访问权限。
resourcePolicy参数为JSON格式的策略字符串,需符合阿里云RAM策略语法规范。
设置新策略会覆盖原有策略,如需删除策略请使用DeleteTablePolicy接口。
权限说明
API | Action | 说明 |
PutTablePolicy | oss:PutTablePolicy | 设置表策略(同时检查Table Policy) |
请求语法
PUT /tables/{tableBucketARN}/{namespace}/{name}/policy HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
{
"resourcePolicy": "string"
}请求参数
名称 | 数据类型 | 是否必选 | 示例值 | 描述 |
tableBucketARN | 字符串 | 是 | acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket | Table Bucket的ARN,格式为acs:osstables:{region}:{uid}:bucket/{bucketName}。位于URI中。 |
namespace | 字符串 | 是 | my_namespace | 表所在的命名空间名称。位于URI中。 |
name | 字符串 | 是 | my_table | 表名称。位于URI中。 |
resourcePolicy | 字符串 | 是 | 见请求示例 | 资源策略JSON字符串,需符合阿里云RAM策略语法规范。策略中可指定允许或拒绝的操作、主体和条件。位于请求体中。 |
示例
请求示例
PUT /tables/acs%3Aosstables%3Acn-hangzhou%3A1234567890%3Abucket%2Fmy-table-bucket/my_namespace/my_table/policy HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: Thu, 10 Apr 2025 08:00:00 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/osstables/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c****
{
"resourcePolicy": "{\"Version\":\"1\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"oss:GetTable\"],\"Principal\":[\"acs:ram::1234567890:root\"],\"Resource\":[\"acs:osstables:cn-hangzhou:*:bucket/my-table-bucket/table/*\"]}]}"
}返回示例
HTTP/1.1 200 OK
Server: AliyunOSS
x-oss-request-id: 5C06A3B67B8B5A3DA422****
x-oss-server-time: 3SDK
PutTablePolicy接口所对应的各语言SDK如下:
命令行工具ossutil
PutTablePolicy接口所对应的ossutil命令,请参见put-table-policy。
错误码
错误码 | HTTP状态码 | 描述 |
BadRequestException | 400 | 请求无效或格式错误。 |
ForbiddenException | 403 | 调用者无权执行此请求。 |
NotFoundException | 404 | 请求的资源不存在。 |
该文章对您有帮助吗?