S3: GetObjectRequest не работает, когда SSE-KMS включен на S3 все действия политики - PullRequest
0 голосов
/ 05 июня 2019

Мне нужно прочитать данные из корзины с поддержкой SSE.Вот политика, заданная для корзины s3:

{
   "Version":"2012-10-17",
   "Id":"policy1",
   "Statement":[
      {
         "Sid":"Stmt1559082444183",
         "Effect":"Deny",
         "Principal":{
            "AWS":"*"
         },
         "Action":"s3:*",
         "Resource":"arn:aws:s3:::BUCKET NAME/*",
         "Condition":{
            "Null":{
               "s3:x-amz-server-side-encryption":"true"
            },
            "StringNotEquals":{
               "s3:x-amz-server-side-encryption":"aws:kms",
               "s3:x-amz-server-side-encryption-aws-kms-key-id":"AWS-KMS-KEY-ID"
            }
         }
      }
   ]
}

================ Код для чтения объекта, я пробовал:

var getObjectRequest : GetObjectRequest = new GetObjectRequest("BUCKET NAME","KEY NAME");
var value = s3Client.getObject(getObjectRequest);

================ Пробовал и этот код, но не работает

var sSECustomerKey : SSECustomerKey = new SSECustomerKey("BASE 64 KMS KEY");
sSECustomerKey.setAlgorithm("AWS-KMS") or sSECustomerKey.setAlgorithm("SSE-KMS") 

Может кто-нибудь помочь, как мне добиться этого в Java / Scala?

...