Java 使用AWS S3 SDK在S3和我的数据中心之间传输数据是否安全?

Java 使用AWS S3 SDK在S3和我的数据中心之间传输数据是否安全?,java,security,amazon-web-services,amazon-s3,Java,Security,Amazon Web Services,Amazon S3,我想使用AWS SDK使用Java将文件从私有S3存储桶上传/下载到我们的数据中心 我计划使用以下代码 AmazonS3 s3Client = new AmazonS3Client(credentials); s3Client.putObject(new PutObjectRequest(bucket, key, fileToUpload)); S3Object s3object = s3Client.getObject(new GetObjectRequest(bucket, key));

我想使用AWS SDK使用Java将文件从私有S3存储桶上传/下载到我们的数据中心

我计划使用以下代码

AmazonS3 s3Client = new AmazonS3Client(credentials);
s3Client.putObject(new PutObjectRequest(bucket, key, fileToUpload));
S3Object s3object = s3Client.getObject(new GetObjectRequest(bucket, key));

数据是以明文形式在S3和数据中心之间传输,还是使用某种形式的安全传输,如SSL

通信的默认设置是SSL。虽然HTTP是可用的,但您必须专门使用它。例如,从开始,您必须执行以下操作:

AmazonS3 s3Client = new AmazonS3Client(credentials); 
s3Client.setEndpoint("http://s3-us-west-1.amazonaws.com");
从中获取端点


由于您使用的是默认值,因此您的通信是通过SSL/HTTPS进行的。

通信的默认值是SSL。虽然HTTP是可用的,但您必须专门使用它。例如,从开始,您必须执行以下操作:

AmazonS3 s3Client = new AmazonS3Client(credentials); 
s3Client.setEndpoint("http://s3-us-west-1.amazonaws.com");
从中获取端点


因为您使用的是默认设置,所以您的通信是通过SSL/HTTPS进行的。

回答了这个问题。我注意到AWS现在有AmazonS3 s3Client=新的AmazonS3加密客户端(凭证、加密资料);这是为了加密存储文件的内容吗?@Simsmith是的,正如文档中明确指出的“用于执行客户端加密以在S3中安全地存储数据”。在将数据传输到S3之前,它用于在客户端对数据进行加密。我注意到AWS现在有AmazonS3 s3Client=新的AmazonS3加密客户端(凭证、加密资料);这是为了加密存储文件的内容吗?@Simsmith是的,正如文档中明确指出的“用于执行客户端加密以在S3中安全地存储数据”。它用于在将数据传输到S3之前对客户端上的数据进行加密。