文件访问权限管理

更新时间:2020-03-24

目录

设置文件的访问权限

获取文件的访问权限

本节介绍如何管理文件访问权限。

文件的访问权限(ACL)有以下四种:

访问权限 描述 对应权限值
继承 文件遵循存储桶的访问权限。 CannedAccessControlList.Inherit
私有 文件的拥有者和授权用户有该文件的读写权限,其他用户没有权限操作该文件。 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>";
String key = "<yourObjectName>";

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

//设置文件的acl(访问权限)为继承
ossClient.setObjectAcl(bucketName, key, CannedAccessControlList.Inherit);

获取文件的访问权限

以下代码用于获取文件的访问权限:

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

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

//获取文件的acl(访问权限)
CannedAccessControlList objectAcl = ossClient.getObjectAcl(bucketName, key);
System.out.println(objectAcl.toString());