全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

桶空间策略(bucket-policy)

最近更新时间:2025-06-20 17:30:47

Bucket Policy是基于资源的授权策略,桶拥有者可以通过Bucket Policy授权其他用户访问KS3指定资源。bucket-policy命令用于添加、修改、查询、删除Bucket授权策略。有关空间策略规则的更多详情请参见文档:空间策略(Bucket Policy)

以下示例均以Linux为例。

设置桶空间策略

如果此前未添加过Bucket Policy配置,则使用该命令将为添加Bucket Policy配置。如果Bucket已存在Bucket Policy配置,则使用该命令将直接覆盖已有的Bucket Policy配置。

添加或修改Bucket Policy配置步骤如下:

     1. 创建本地文件,并在文件中添加Bucket Policy规则。

     2. KS3Util先从本地文件中读取Bucket Policy配置,然后将读取到的Bucket Policy配置添加到指定的

命令格式

./ks3util bucket-policy --method put ks3://bucketname local_json_file

参数说明

参数

说明

bucketname

添加或修改Bucket Policy的目标桶名称。

local_json_file

配置Bucket Policy的本地JSON文件名称,例如localfile.json

1. 除上述的功能参数,关于Util支持的通用选项参数,详情请参考通用选项&过滤规则文档。

2. 设置空间策略需具备ks3:PutBucketPolicy权限。

使用示例

a. 在本地创建名为localfile.json的文件,并根据使用场景写入不同的Bucket Policy规则。

  1. 场景一:授予主账号为10000123456的用户拥有samplebucket桶下全部资源的只读权限。

    {
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ks3:ListBucket",
            "ks3:ListBucketMultipartUploads",
            "ks3:GetObject",
            "ks3:GetObjectAcl",
            "ks3:ListMultipartUploadParts"
          ],
          "Principal": {
            "KSC": [
              "krn:ksc:iam::20000123456:root"
            ]
          },
          "Resource": [
            "krn:ksc:ks3:::samplebucket",
            "krn:ksc:ks3:::samplebucket/*"
          ]
        }
      ]
    }
  2. 场景二:授予主账号为10000123456下的子账号test-child1拥有samplebucket桶下data目录中资源的读写权限。

    {
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ks3:ListBucket",
            "ks3:ListBucketMultipartUploads",
            "ks3:GetObject",
            "ks3:PutObject",
            "ks3:DeleteObject",
            "ks3:AbortMultipartUpload",
            "ks3:ListMultipartUploadParts",
            "ks3:PostObjectRestore",
            "ks3:GetObjectAcl",
            "ks3:PutObjectAcl"
          ],
          "Principal": {
            "KSC": [
              "krn:ksc:iam::10000123456:user/test-child1"
            ]
          },
          "Resource": [
            "krn:ksc:ks3:::samplebucket",
            "krn:ksc:ks3:::samplebucket/data/*"
          ]
        }
      ]
    }
  3. 场景三:授予指定IP下的用户拥有samplebucket桶的全部权限。

    {
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ks3:*"
          ],
          "Principal": {
            "KSC": [
              "*"
            ]
          },
          "Resource": [
            "krn:ksc:ks3:::samplebucket",
            "krn:ksc:ks3:::samplebucket/*"
          ],
          "Condition": {
            "IpAddress": {
              "ksc:SourceIp": [
                "54.240.143.1"
              ]
            }
          }
        }
      ]
    }

b. 添加Bucket Policy规则。

  • samplebucket桶添加Bucket Policy规则。

    ./ks3util bucket-policy --method put ks3://samplebucket localfile.json

    以下输出结果表明已成功添加Bucket Policy规则。

    0.204926(s) elapsed

获取空间策略

命令格式

./ks3util bucket-policy --method get ks3://bucketname [local_json_file]

参数说明

参数

说明

bucketname

获取Bucket Policy的目标桶名称。

local_json_file

用于存放Bucket Policy配置的本地文件名称,例如localfile.json。如果未指定此参数,则Bucket Policy配置将直接输出到屏幕。

1. 除上述的功能参数,关于Util支持的通用选项参数,详情请参考通用选项&过滤规则文档。

2. 获取桶空间策略需具备ks3:GetBucketPolicy权限。

使用示例

  • 获取目标桶samplebucket的Bucket Policy配置,并将配置结果写入本地文件localfile.json

    ./ks3util bucket-policy --method get ks3://samplebucket localfile.json

    以下输出结果表明已成功获取Bucket Policy配置。

    0.188731(s) elapsed

删除空间策略

命令格式

./ks3util bucket-policy --method delete ks3://bucketname

参数说明

参数

说明

bucketname

删除Bucket Policy规则配置的目标桶名称。

1. 除上述的功能参数,关于Util支持的通用选项参数,详情请参考通用选项&过滤规则文档。

2. 删除桶空间策略需具备ks3:DeleteBucketPolicy权限。

使用示例

  • 删除samplebucket的Bucket Policy配置。

    ./ks3util bucket-policy --method delete ks3://samplebucket

    以下输出结果表明已删除samplebucket的Bucket Policy配置。

    0.156663(s) elapsed

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈