管理存储桶访问权限
更新时间: 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());