目录
一、S3的访问策略控制
AWSCredentials credential = new BasicAWSCredentials(accessKey, secretKey);
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTP);
AmazonS3 client = new AmazonS3Client(credential, clientConfig);
client.setEndpoint(endPoint);
client.setS3ClientOptions(new S3ClientOptions().withPathStyleAccess(true));
// 内含访问策略控制
PutObjectRequest mall = new PutObjectRequest(bucket, key, is, metadata).withCannedAcl(CannedAccessControlList.BucketOwnerFullControl);
client.putObject(mall);
withCannedAcl(CannedAccessControlList.BucketOwnerFullControl)
这一句就是在设置该文件上传之后的访问策略控制,体现在上传之后的链接访问时,是否可以下载,预览,读写等等。
二、S3的访问策略有哪些
CannedAccessControlList.PublicRead:允许所有用户读取对象。
CannedAccessControlList.Private:仅允许拥有者读取和写入对象。
CannedAccessControlList.AuthenticatedRead:允许已认证的用户读取对象。
CannedAccessControlList.BucketOwnerFullControl:允许拥有者完全控制存储桶及其内容。
CannedAccessControlList.BucketOwnerRead:允许拥有者读取存储桶及其内容。
CannedAccessControlList.LogDeliveryWrite:允许日志传输写入权限。
CannedAccessControlList.LogDeliveryRead:允许日志传输读取权限。
CannedAccessControlList.AwsExecRead:允许AWS Lambda执行角色读取对象。
CannedAccessControlList.AwsExecWrite:允许AWS Lambda执行角色写入对象。
CannedAccessControlList.AllUsersRead:允许所有用户读取对象。
CannedAccessControlList.AllUsersWrite:允许所有用户写入对象。
根据实际情况,设置读权限、写权限。如果需要通过链接可以预览,而不是直接下载,就可以将权限放宽。