Обычно CMK не используется для шифрования данных, которые вы хотите зашифровать.
Несмотря на то, что ограничение в 4 КБ является вопросом мнения, ключи шифрования данных обеспечивают более безопасный подход к шифрованию данных.
Поскольку каждый ресурс может иметь свой собственный ключ шифрования данных, снижается риск расшифровки всех ваших ресурсов, если один ключ шифрования будет скомпрометирован (фактически, если это произойдет, KMS поддерживает повторное шифрование для генерации новых данных key).
То, что вы описываете, подходит для реализации KMS S3. Зашифрованный ключ в кодировке Base64 хранится вместе с зашифрованным объектом. Для расшифровки S3 необходимо расшифровать ключ данных для объекта с помощью CMK, а затем использовать ключ шифрования расшифрованных данных для расшифровки объекта.
Другие службы будут иметь разные реализации, например DynamoDB делает это на на таблицу .
Для получения дополнительной информации о том, как каждая служба реализовала KMS, просмотрите Как AWS службы используют AWS KMS страницу