KMS Flashcards
Ключи заказчика в KMS называются … и бывают двух видов: … и …
Customer Managed Keys (CMK)
Симметричные (AES-256 ключ)
Асимметричные (RSA & ECC пара ключей)
Асимметричные ключи: какие кодовые названия?
Для каких целей используется каждый в паре?
RSA & ECC
- Публичный ключ для шифрования или создания подписи (sign)
- Приватные для расшифровки или верификации подписи.
Какой Use-case для ассиметричных ключей?
Шифрование приходится делать БЕЗ доступа к AWS (KMS).
Ведь всегда можно выдать всем желающим публичный ключ
Каков прайсинг за хранение ключей в KMS?
- AWS Managed Keys - беслпатны
-
Customer Managed Keys -
$1
в месяц
Каков прайсинг за API операции в KMS?
$0.03 за 10_000 вызовов
Какие варианты Key Rotation предлагает KMS?
- AWS Managed Key - автоматическая ротация, раз в год
-
Customer-managed Key
-
created
- автоматическая ротация, раз в год (нужно обязательно активировать ротацию) -
imported
- только вручную ротация, через Alias
-
Обязательно условие касаемо KMS ключа
Чтобы мигрировать зашифрованный EBS Volume, …
то KMS Key Policy должна быть Customer Managed (а НЕ Default)
и эта Customer Managed Key Policy должна разрешать доступ cross-account.
- Если мы ещё НЕ создали никакой Policy, то …
- Default Key Policy даёт доступ …,
если … - Default Key Policy даёт доступ …
- то по-умолчанию у ключа есть Default Policy
- ВСЕМ сервисам/юзерам в AWS аккаунте, если у них есть IAM Role на этот ключ
- Root аккаунту
Дефолтная Key Policy НЕ даёт … доступ.
Для … нужно делать ….
cross-account
cross-account
Custom Policy
3 основные API операции в KMS?
Какие параметры указываем для каждой из них?
Что получаем в результате каждой из них?
-
Encrypt
- указываем файл с исходным текстом
- указываем CMK (Customer Managed Key)
- получаем в результате зашифрованный текст
-
Decrypt
- указываем файл с зашифрованным текстом
-
GenerateDataKey
- указываем CMK (Customer Managed Key)
- получаем Data Key для client-side шифрования
Для какого вида шифрования используются API операции encrypt, decrypt, generateDataKey
для симметричного
Максимальный размер файла с исходным текстом, чтобы зашифровать его в KMS?
Что делать, если файл больше этого размера?
Как называется эта технология? Какую API операцию она использует?
4 KB
если файл больше, то Envelop Encryption через API операцию GenerateDataKey
DEK = data key
Как снизить количество повторяющихся вызовов KMS API?
Какой недостаток у этого решения?
Можно кэшировать Data Keys, чтобы повторно использовать их для других файлов.
Повторное использование ключей из кэша снижает количество KMS API вызовов.
Повторное использование ключей для другие файлов снижает Security
В чём разница между операциями GenerateDataKey и GenerateDataKeyWithoutPlainText?
Когда какую применять?
-
GenerateDataKey
возвращает- plain text Data Key (DEK)
- зашифрованный Data Key (DEK)
-
GenerateDataKeyWithoutPlainText
возвращает- зашифрованный Data Key (DEK)
Операция GenerateDataKeyWithoutPlainText нужна для ОТЛОЖЕННОГО шифрования.
Она подразумевает, что в будущем мы выполним ещё один шаг (расшифровку зашифрованного DEK’а).
Если нам нужно СРАЗУ шифровать данные, то нужно использовать операцию GenerateDataKey
Какая особенность есть у лимита на количество операций в KMS?
Что это напоминает?
Подобно Lambda Invocation Quota, KMS имеет ОБЩИЙ лимит на количество операций (encrypt, decrypt) для ВСЕХ сервисов,
которые вызывают KMS в этом конкретном AWS РЕГИОНЕ.