2016-04-16 71 views
1

我想使用AWS SDK將使用Java的私有S3存儲桶中的文件上傳/下載到我們的數據中心。使用AWS S3 SDK在S3和我的數據中心之間傳輸數據是否安全?

我打算使用下面的代碼

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

將把數據是明文S3和我們的數據中心之間旅行還是會使用某種形式的如SSL安全傳輸的?

回答

4

通信的默認值是SSL。雖然HTTP可用,但您必須專門使用它。例如,從this page,你就必須這樣做:

AmazonS3 s3Client = new AmazonS3Client(credentials); 
s3Client.setEndpoint("http://s3-us-west-1.amazonaws.com"); 

this page採取的端點。

由於您使用的是默認值,因此您的通信是通過SSL/HTTPS進行的。

+0

這就回答了這個問題。我注意到AWS現在有AmazonS3 s3Client =新的AmazonS3EncryptionClient(credentials,encryptionMaterials);是否用於加密正在存儲的文件的內容? –

+0

@SimsSmith是的,正如文檔中明確指出的「用於執行客戶端加密以便在S3中安全地存儲數據」。它用於在將數據傳輸到S3之前在客戶端對數據進行加密。 –