2016-10-04 1 views
1

В настоящее время я пытаюсь получить доступ к файлам S3 в другом VPC, и я могу успешно. Но когда файлы входят, все они все еще зашифрованы.AWS S3 Файлы с перекрестной учетной записью не расшифровываются

У меня есть машины в VPC A, которые пытаются прочитать файлы S3 в VPC B. Файлы зашифрованы на стороне сервера, когда они идут в ведро в VPC B. Я успешно принимаю роль и имею файлы, поступающие из ведра S3 в VPC B для VPC A. Однако файлы в моих машинах в VPC A должны поступать как json, но вместо этого они по-прежнему будут зашифрованы.

Когда у меня есть машины в VPC. Зашифрованные файлы на стороне сервера чтения из ведра S3 в VPC A, тогда у меня нет этой проблемы. Файлы, как представляется, автоматически дешифруются.

Команда с помощью команды CLI выглядит примерно так (в VPC А):

aws sts assume-role --role-arn ROLEARN --role-session-name s3-cloudtrail-access 
aws s3 cp s3://LOCATIONOFFILE.json.gz test.json.gz --profile crossaccountrole 

С Java SDK это так (в VPC А):

ClientConfiguration config = new ClientConfiguration(); 
AWSSecurityTokenService securityTokenService = new AWSSecurityTokenServiceClient(config); 
AssumeRoleResult assumeRoleResult = securityTokenService.assumeRole(new AssumeRoleRequest() 
    .withRoleArn(roleArn).withDurationSeconds(3600) 
    .withRoleSessionName("s3-cloudtrail-access")); 
Credentials stsCredentials = assumeRoleResult.getCredentials(); 
System.out.println("stsCredentials: " + stsCredentials); 
AWSSessionCredentials tempCredentials = new BasicSessionCredentials(
    stsCredentials.getAccessKeyId(), stsCredentials.getSecretAccessKey(), 
    stsCredentials.getSessionToken() 
); 
AmazonS3 tempClient = new AmazonS3Client(tempCredentials, config); 
tempClient.getObject(
    new GetObjectRequest(horizBucketName, horizFileNameInS3), 
    new File("/home/ec2-user/test-horiz.json.gz") 
); 

Все идеи как я могу убедиться, что файлы переходят между VPC-дешифрованными?

Бест, Керен

ответ

1

Шучу, я понял это. Файлы были json.gz-файлами, поэтому мне нужно было разархивировать их. Приведенный выше код работает для получения перекрестной учетной записи S3, если кто-то хочет ее использовать :)

Смежные вопросы