AWS Rotating Customer Master Keys

Hej Dobrzy Ludzie :slight_smile:

Czy ktoś ma doświadczenie z “rotowaniem” kluczy klienta (CMK) w AWS KMS i może mi udzielić odpowiedzi na poniższe pytania:

  1. Czy w trakcie rotowania jest triggerowany jakiś event który mógłby wywołać lambdę?

  2. Czy można ręcznie wywołać rotowanie klucza (AWS pisze o tym, że rotuje klucze po roku)?

Mam w projekcie kilka kluczy, które szyfrują różne rzeczy. W dużej części rozwiązanie sobie da radę samo gdy pojawią się nowe klucze, natomiast są sekrety stworzone przez nas (w CloudFormation za pomocą Custom Resource) w:

  • AWS Secretes Manager
  • SSM Parameter Store

które trzeba szyfrować na nowo nowym kluczem (“przeszyfrować” - takie nowe słowo wymyśliłem :stuck_out_tongue_closed_eyes:) bo inaczej klient nie będzie w stanie ich odszyfrować nowym kluczem.

Chciałbym napisać lambdę, która wywoła się zdarzeniem “rotowanie klucza” i przeszyfruje za mnie te sekrety. Ktoś robił może już takie rzeczy?

PS. Czytałem tę dokumentację https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html i tam o tym nie mówią nic.

Z góry dzięki za pomoc,
Paweł

Jeśli dobrze zrozumiałem tu jest opisane to co chcesz zrobić: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually
A więc nie tyle zmieniasz klucz i przeszyfrowujesz istniejące sekrety, co trzymasz oba (wszystkie kiedykolwiek używane) klucze.
Wydaję się to lepszą praktyką z pktu widzenia bezpieczeństwa (i zaoszczędzisz na obliczeniach).

Cześć Paweł! Witam Cię na forum :slight_smile:

Z tego, co widzę w dokumentacji, to przy manualnej zmianie tworzymy nowy klucz, który jest odrębnym bytem bo ma swój unikalny ARN (to jest różnica w stosunku do automatycznej rotacji).

I następnie ten nowy klucz się przypina pod alias. Ja też używam aliasów u siebie. Natomiast obawiam się, że klienci którzy używają tego klucza (przez alias właśnie) to “pobiorą” sobie nowy klucz i “starych” sekretów nie odszyfrują. Pomijając teraz kwestie tego czy “zostawienie starego klucza to na pewno rotowanie”, to zrzucam na klienta odpowiedzialność aby wybrał nie alias, a pierwszy oryginalny klucz do odszyfrowania.

Coś przeoczyłem czy to zaproponowałeś aby używać też starego klucza pomimo tego, że będzie nowy?