管理存储桶访问权限

更新时间: 2020-03-24

目录

设置存储桶的访问权限

获取存储桶的访问权限

存储桶(Bucket)是存储对象(Object)的容器,对象都隶属于存储桶。

本节介绍如何设置和获取存储桶访问权限(ACL)。

存储桶的访问权限(ACL)有以下四种:

访问权限 描述 对应权限值
私有 文件的拥有者和授权用户有该文件的读写权限,其他用户没有权限操作该文件。 CannedAccessControlList.Private
公共读 文件的拥有者和授权用户有该文件的读写权限,其他用户只有文件的读权限。请谨慎使用该权限。 CannedAccessControlList.PublicRead
公共读写 所有用户都有该文件的读写权限。请谨慎使用该权限。 CannedAccessControlList.PublicReadWrite

设置存储桶的访问权限

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

// Endpoint以华北三为例,其它Region请按实际情况填写
String endpoint = "oss.cn-north-3.inspurcloudoss.com";
String accessKey = "<yourAccessKey>";
String secretKey = "<yourSecretKey>";
String bucketName = "<yourBucketName>";

//创建OSSClient实例
OSSClientImpl ossClient = new OSSClientImpl(endpoint, accessKey, secretKey);

//设置bucket的acl(访问权限), acl有三种类型:Private、PublicRead、PublicReadWrite
ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);

获取存储桶的访问权限

以下代码用于获取存储桶的访问权限:

// Endpoint以华北三为例,其它Region请按实际情况填写
String endpoint = "oss.cn-north-3.inspurcloudoss.com";
String accessKey = "<yourAccessKey>";
String secretKey = "<yourSecretKey>";
String bucketName = "<yourBucketName>";

//创建OSSClient实例
OSSClientImpl ossClient = new OSSClientImpl(endpoint, accessKey, secretKey);

//获取bucket的acl(访问权限)
CannedAccessControlList bucketAcl = ossClient.getBucketAcl(bucketName);
System.out.println(bucketAcl.toString());