В настоящее время я пытаюсь получить доступ к файлам 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-дешифрованными?
Бест, Керен