Хто керує ключем

Використання AWS Security для розробників

Rahul Singh

Technical Product Manager

Два типи ключів KMS

Керований AWS

  • Створює сервіс, псевдонім aws/s3
  • Політика доступна для читання, не редагується
  • Щомісячна плата відсутня

Дві накладені картки порівнюють ключ, керований AWS, із ключем, керованим клієнтом, за тими самими трьома рядками: політика ключа, ротація та вартість. Рядок політики ключа на картці клієнта виділено. На кожній картці вказано псевдонім: aws слеш s3 та alias слеш reports.

Використання AWS Security для розробників

Два типи ключів KMS

Керований AWS

  • Створює сервіс, псевдонім aws/s3
  • Політика доступна для читання, не редагується
  • Щомісячна плата відсутня

Керований клієнтом

  • Створюєте ви, псевдонім alias/reports, політику пишете ви
  • Період ротації задаєте ви
  • Один долар на місяць за ключ

Дві накладені картки порівнюють ключ, керований AWS, із ключем, керованим клієнтом, за тими самими трьома рядками: політика ключа, ротація та вартість. Рядок політики ключа на картці клієнта виділено. На кожній картці вказано псевдонім: aws слеш s3 та alias слеш reports.

Використання AWS Security для розробників

Дві брами, і обидві мають відкритися

Один запит розшифрування підходить до першої з двох брам. Брама IAM policy суцільна й позначена номером один, брама key policy позаду штрихова й сіра; відповіді ще немає.

  1. IAM policy: що викликач може запитувати
Використання AWS Security для розробників

Дві брами, і обидві мають відкритися

Один запит розшифрування проходить зліва направо крізь дві пронумеровані брами: 1 — IAM policy, 2 — key policy, перш ніж дістатися ключа KMS. Дужка під брамами позначає незалежні відповіді.

  1. IAM policy: що викликач може запитувати
  2. Key policy: кому ключ відповідатиме

Типова key policy: делегує в IAM

Grant-и: конкретні дії з ключем для одного принципала, можна відкликати окремо

Використання AWS Security для розробників

Ключ ніколи не торкається ваших даних

Amazon S3 від вашого імені викликає AWS KMS у точці 1, і KMS повертає ключ даних як відкритий та зашифрований екземпляри. Зашифрований екземпляр зберігається поруч із шифротекстом об'єкта, а штрихова зворотна стрілка в точці 2 повертає його через виклик розшифрування.

Конвертне шифрування

Пряме шифрування: межа 4 KB

Використання AWS Security для розробників

Ключ ніколи не торкається ваших даних

Amazon S3 від вашого імені викликає AWS KMS у точці 1, і KMS повертає ключ даних як відкритий та зашифрований екземпляри. Зашифрований екземпляр зберігається поруч із шифротекстом об'єкта, а штрихова зворотна стрілка в точці 2 повертає його через виклик розшифрування.

Конвертне шифрування

Пряме шифрування: межа 4 KB

  1. GenerateDataKey, повертає дві копії
  2. kms:Decrypt для збереженої копії
Використання AWS Security для розробників

Між обліковими записами ніхто не бачить обидві половини

Обліковий запис викликувача

  • Дію дозволено в IAM
  • Ресурс: ARN ключа

Дві панелі облікових записів, розділені межею. У верхній — роль викликувача та IAM policy, у нижній — key policy і ключ KMS; запит перетинає межу між ними.

Використання AWS Security для розробників

Між обліковими записами ніхто не бачить обидві половини

Обліковий запис викликувача

  • Дію дозволено в IAM
  • Ресурс: ARN ключа

Обліковий запис власника ключа

  • Key policy з іменуванням викликувача
  • Обліковий запис або роль у ньому

Дві панелі облікових записів, розділені межею. У верхній — роль викликувача та IAM policy, у нижній — key policy і ключ KMS; запит перетинає межу між ними.

Використання AWS Security для розробників

Читайте відмову, а не здогад

На основі особи (identity-based)

  • AccessDeniedException, далі — пункт, що називає браму

  • no identity-based policy allows

  • Виправте IAM policy викликувача

 

Запит розшифрування зупинено на першій брамі: на IAM policy червоний хрест, key policy позаду заштрихована й не досягнута. Підпис: no identity-based policy allows.

 

Використання AWS Security для розробників

Читайте відмову, а не здогад

На основі особи (identity-based)

  • AccessDeniedException, далі — пункт, що називає браму

  • no identity-based policy allows

  • Виправте IAM policy викликувача

На основі ресурсу (resource-based)

  • no resource-based policy allows
  • Виправте key policy

Запит розшифрування зупинено на першій брамі: на IAM policy червоний хрест, key policy позаду заштрихована й не досягнута. Підпис: no identity-based policy allows.

Запит розшифрування проходить IAM policy із зеленою позначкою, але зупиняється на другій брамі, де key policy має червоний хрест. Підпис: no resource-based policy allows.

Використання AWS Security для розробників

Що насправді змінює ротація

Автоматична ротація

  • Типово 365 днів
  • Діапазон від 90 до 2,560 днів

Три картки показують мінімальний, типовий і максимальний періоди автоматичної ротації в днях, а нижче — які типи ключів обертаються і за яким графіком.

Використання AWS Security для розробників

Що насправді змінює ротація

Автоматична ротація

  • Типово 365 днів
  • Діапазон від 90 до 2,560 днів

На вимогу

  • RotateKeyOnDemand, до 25 разів на ключ

Два обмеження

  • Ключі, керовані AWS, фіксовано щорічно
  • Автоматична ротація: лише симетричні, з матеріалом, згенерованим KMS

Три картки показують мінімальний, типовий і максимальний періоди автоматичної ротації в днях, а нижче — які типи ключів обертаються і за яким графіком.

Використання AWS Security для розробників

Чого ротація не виправляє

Чотири рядки порівняно по обидва боки лінії ротації. Рядок матеріалу ключа змінюється з версії 1 на версію 2, тоді як ідентифікатор ключа, псевдонім і key policy, а також раніше записані об'єкти однакові з обох боків.

Змінюється: базовий матеріал ключа

Без змін: ID ключа, ARN, псевдоніми, key policy

Використання AWS Security для розробників

Чого ротація не виправляє

Чотири рядки порівняно по обидва боки лінії ротації. Рядок матеріалу ключа змінюється з версії 1 на версію 2, тоді як ідентифікатор ключа, псевдонім і key policy, а також раніше записані об'єкти однакові з обох боків.

Змінюється: базовий матеріал ключа

Без змін: ID ключа, ARN, псевдоніми, key policy

  • У вашому коді нічого змінювати
  • Старі об'єкти і надто широка політика — обидва без змін
Використання AWS Security для розробників

Навіщо ж вмикати

Що це дає

  • Жодна версія не покриває всі ваші дані
  • Вимоги комплаєнсу й договорів щодо ротації

Зелена картка «що це дає» під міткою «увімкнення ротації». Є правило аудиту «обертати кожні 365 днів» із зеленою позначкою та ключ як три з'єднані версії v1, v2, v3 із підписом, що кожна покриває лише свої записи.

Використання AWS Security для розробників

Навіщо ж вмикати

Що це дає

  • Жодна версія не покриває всі ваші дані
  • Вимоги комплаєнсу й договорів щодо ротації

 

Що це коштує

  • Змін у коді немає, нічого не треба перешифровувати

Та сама зелена картка «що це дає», тепер під нею друга — «що це коштує». На ній два рядки: ваш код — без змін; старі об'єкти — без перешифрування.

Використання AWS Security для розробників

Давайте потренуємось!

Використання AWS Security для розробників

Preparing Video For Download...