设置授权策略
 
                  更新时间 2024-04-28 17:56:32
                 
 
                    最近更新时间: 2024-04-28 17:56:32
                  
 接口介绍
此接口用于设置存储桶的访问策略。
桶访问策略(Bucket Policy)可以灵活地配置用户各种操作和访问资源的权限。如果桶已经被设置了Policy,则新的Policy会覆盖原有的Policy。
访问策略使用json格式的数据管理指定用户对存储资源可执行的操作。
接口约束
接口请求的body格式为JSON。
请求URI
PUT /v1/policy/{bucket}
路径参数
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 
|---|---|---|---|---|
| bucket | 是 | String | 桶名称 | testBucket | 
Query 参数
| 参数 | 是否必填 | 参数类型 | 说明 | 
|---|---|---|---|
| policy | 否 | String | 固定参数 | 
注: 如果query中的参数为固定参数,可以传参数名或传空。
请求参数
请求头header参数
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 | 
|---|---|---|---|---|---|
| Content-Type | 是 | String | 消息体格式 | application/json | 
此接口涉及的其他公共请求头,例如Host、Date等的更多信息,请参见公共HTTP头。
请求体body参数
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 | 
|---|---|---|---|---|---|
| Version | 是 | String | 版本,描述访问控制策略的版本信息,当前版本只能是2012-10-17 | 2012-10-17 | |
| Statement | 是 | Array of Objects | 语句,描述一项或多项赋权的详细信息 | Statement | 
表 Statement
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 | 
|---|---|---|---|---|---|
| Effect | 是 | String | 效力,描述语句中权限产生的结果是允许还是拒绝,只能是"Allow"或"Deny"两种情况。效力属于必填项 | Allow | |
| Action | 是 | Array of Strings | 操作,描述语句中赋予的权限,必填项。 | s3:GetObject | |
| Principal | 是 | Object | 委托人,描述策略赋权的实体,例如用户、用户组等。 | Principal | |
| Resource | 是 | String | 资源,描述策略授权的具体资源。资源采用六段式描述,段与段之间使用冒号分隔,目前天翼对象存储s3接口的资源描述方式前三段为固定格式,最后一段位描述存储空间和对象资源 | arn:aws:s3:::bucket1/* | |
| Condition | 否 | Object | 条件,描述策略生效的约束条件 | Condition | 
表 Principal
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 | 
|---|---|---|---|---|---|
| AWS | 是 | Array of Strings | 赋权的实体用户 | arn:aws:iam:::user/testpolicy | 
表 Condition
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 | 
|---|---|---|---|---|---|
| IpAddress | 否 | Object | IP地址 | aws:SourceIp | 
表 aws:SourceIp
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 | 
|---|---|---|---|---|---|
| aws:SourceIp | 否 | Array of Strings | 填写IP条件值 | 1.2.3.4 | 
响应参数
无
请求示例
PUT /v1/policy/testbucket?policy HTTP/1.1
请求头header
Content-Type:application/json
请求体body
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam:::user/lanchuyi"
                ]
            },
            "Action": [
                "s3:GetBucketAcl"
            ],
            "Resource": "arn:aws:s3:::bbb/aaa",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "1.2.3.4"
                    ]
                }
            }
        }
    ]
}
响应示例
HTTP/1.1 200 OK
x-amz-request-id: tx000000000000000000274-00632298b2-3b9ae-default
Date: Wed, 06 Sep 2017 12:00:00 GMT
状态码
| 状态码 | 描述 | 
|---|---|
| 200 | 操作成功。 | 
| 400 | 参数错误。 | 
| 403 | 用户没有权限执行操作。 | 
| 404 | 操作指定的桶不存在。 | 
