SQS шифрование с использованием CMK - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь прочитать сообщение из зашифрованного SQS. Объекты помещаются в S3 Bucket -> Trigger S3 Event -> Сообщение, отправленное в SQS -> SQS, запускает Lambda для обработки.

У меня все работает, используя управляемый AWS CMK. Однако я не могу заставить это работать, используя принадлежащий AWS CMK, например alias/aws/sqs.

Сообщение просто входит в messages in flight и не вызывает лямбда-функции.

В соответствии с документацией AWS здесь https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-encryption-what-does-sse-encrypt If you don't specify a custom CMK, Amazon SQS uses the AWS managed CMK for Amazon SQS. Но мы не можем прикрепить какие-либо политики в отношении принадлежащих AWS CMK, например,

{
   "Version": "2012-10-17",
      "Statement": [{
         "Effect": "Allow",
         "Principal": {
            "Service": "<<service>>.amazonaws.com"
         },
         "Action": [
            "kms:GenerateDataKey*",
            "kms:Decrypt"
         ],
         "Resource": "*"
       }]
}

У меня такой вопрос: возможно ли использовать принадлежащий AWS CMK на SQS и можно ли функции Lambda читать из этой очереди?

В указанном выше URL есть раздел, который называется Enable Compatibility between AWS Services Such as Amazon CloudWatch Events, Amazon S3, and Amazon SNS and Encrypted Queues.

В нем упоминается о присоединении политики к CMK. Тем не менее, есть возможность использовать alias/aws/sqs. Мне было интересно, если я что-то здесь упустил.

1 Ответ

0 голосов
/ 13 июля 2019

Я говорил с AWS и KMS. Управляемый ключ AWS не будет работать в этом сценарии.Мы не можем изменить политику ключей для управляемых ключей KMS AWS, поэтому это невозможно для сценария: S3 Bucket -> Trigger S3 Event -> Сообщение отправлено в SQS -> SQS запускает Lambda для обработки

Iиспользовал KMS AWS Customer Managed Key, и он работал нормально.

...