現在、別のVPCでS3ファイルにアクセスしようとしていますが、正常に処理できます。しかし、ファイルが入ってくると、それらはすべて暗号化されています。AWS S3ファイルクロスアカウント非暗号化
私は、VPC BのS3ファイルを読み込もうとしているマシンをVPC Aに持っています。これらのファイルは、VPC Bのバケットに移動するとサーバー側で暗号化されます。 VPC BからVPC Aに変換する必要があります。ただし、VPC Aの自分のマシンのファイルはjsonとして受信する必要がありますが、代わりに暗号化されているように見えます。
VPC AのマシンにVPC AのS3バケットから読み取ったサーバー側の暗号化ファイルがある場合、この問題は発生しません。ファイルは自動的に解読されたようです。 CLIコマンドを使って
コマンドは(VPC Aで)このようになりますへと
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")
);
任意のアイデア:
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 Aで)ようなものですVPC間でファイルが復号化されることをどのように確認できますか?
ベスト、 ケレン