AWS KMS: уточняющий вопрос о CMK и Data Key
Я новичок в AWS, и я надеялся, что кто-нибудь сможет прояснить мне кое-что относительно шифрования.
Я читал документ AWS о шифровании Amazon EBS, и в этом документе в разделе "Как работает шифрование EBS" я заметил, что одним из шагов является "Amazon EBS отправляет запрос GenerateDataKeyWithoutPlaintext в AWS KMS, указывая CMK для использования для шифрования. объем"
Разве CMK не должен шифровать ключ данных, который затем используется для шифрования тома? Это связано с тем, что CMK не может зашифровать данные размером более 4 КБ.
Насколько я понимаю, CMK (сидящий в KMS) будет шифровать ключ данных, который не имеет предельного размера CMK, и ключ данных затем будет шифровать том экземпляра EC2 и сидеть на том же зашифрованный том, потому что сам ключ данных также зашифрован.
Я неправильно понял этот шаг?
Ссылка на документ: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html?icmpid=docs_ec2_console
Заранее спасибо!
1 ответ
Да, вы правы, что ключ данных будет использоваться для шифрования тома [а сам CMK не будет использоваться напрямую]. Я верю приведенному вами заявлению:
Amazon EBS отправляет запрос GenerateDataKeyWithoutPlaintext в AWS KMS, указывая CMK, который вы выбрали для шифрования тома.
может интерпретироваться как: EBS вызывает API GenerateDataKeyWithoutPlaintext, и для получения ключа данных от KMS EBS необходимо указать CMK. KeyId - это обязательный параметр для API GenerateDataKeyWithoutPlaintext. Я считаю, что следующий шаг (изложенный ниже) в документе заявляет об этом и устраняет путаницу.
AWS KMS генерирует новый ключ данных, шифрует его с помощью CMK, который вы выбрали для шифрования тома, и отправляет зашифрованный ключ данных в Amazon EBS для хранения вместе с метаданными тома.
Эта публикация на форуме AWS довольно интересна, если вы хотите узнать, почему вызывается GenerateDataKeyWithoutPlaintext вместо GenerateDataKey.