文档中心 > 设置桶的访问权限
设置桶的访问权限

最近更新时间:2021-09-18

访问权限说明

桶的访问权限(ACL)有以下三类:

访问权限

描述

访问权限值

私有

桶的拥有者和授权用户有该桶内的文件的读写权限,其他用户没有权限操作该桶内的文件。

Private

公共读

桶的拥有者和授权用户有该桶内的文件的读写权限,其他用户只有该桶内的文件的读权限。请谨慎使用该权限。

PublicRead

公共读写

所有用户都有该桶内的文件的读写权限。请谨慎使用该权限。

PublicReadWrite


桶ACL权限说明:

权限

说明

READ

允许被授权者列出存储桶中的对象

WRITE

允许被授权者创建,覆盖和删除存储桶中的任何对象


设置桶权限

以下代码用于设置桶的访问权限:

public void testSetBucketAcl() {

        try {

            s3.setBucketAcl(bucketName,CannedAccessControlList.PublicRead);

        }catch (AmazonServiceException e) {

            System.err.println(e.getErrorMessage());

        }

        System.out.println("Done!");

    }


以下代码用于通过桶策略设置其他用户对桶内文件的读权限:

     String bucketPolicy = "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"*\"]},\"Action\":[\"s3:GetObject\"],\"Resource\":[\"arn:aws:s3:::" + bucketName + "/*\"]}]}";

    try {

        s3.setBucketPolicy(bucketName, bucketPolicy);

    } catch (AmazonServiceException e) {

        System.err.println(e.getErrorMessage());

    }