最近更新时间: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()); } |