Kto kontroluje klucz

Bezpieczeństwo AWS dla deweloperów

Rahul Singh

Technical Product Manager

Dwa rodzaje kluczy KMS

Klucz zarządzany przez AWS

  • Tworzony przez usługę, alias aws/s3
  • Zasady można odczytać, ale nie edytować
  • Brak miesięcznej opłaty

Dwie karty porównujące klucz zarządzany przez AWS z kluczem zarządzanym przez klienta w trzech wierszach: zasady klucza, rotacja i koszt. Wiersz zasad klucza na karcie klucza zarządzanego przez klienta jest wyróżniony. Każda karta ma swój alias: aws/s3 oraz alias/reports.

Bezpieczeństwo AWS dla deweloperów

Dwa rodzaje kluczy KMS

Klucz zarządzany przez AWS

  • Tworzony przez usługę, alias aws/s3
  • Zasady można odczytać, ale nie edytować
  • Brak miesięcznej opłaty

Klucz zarządzany przez klienta

  • Tworzysz go sam, alias alias/reports, zasady piszesz sam
  • Okres rotacji ustalasz sam
  • Jeden dolar miesięcznie za klucz

Dwie karty porównujące klucz zarządzany przez AWS z kluczem zarządzanym przez klienta w trzech wierszach: zasady klucza, rotacja i koszt. Wiersz zasad klucza na karcie klucza zarządzanego przez klienta jest wyróżniony. Każda karta ma swój alias: aws/s3 oraz alias/reports.

Bezpieczeństwo AWS dla deweloperów

Dwie bramy — obie muszą się otworzyć

Jedno żądanie odszyfrowania zbliża się do pierwszej z dwóch bram. Brama zasad IAM jest narysowana linią ciągłą i oznaczona numerem jeden, brama zasad klucza za nią jest przerywana i szara — żadna jeszcze nie odpowiedziała.

  1. Zasady IAM: o co może poprosić wywołujący
Bezpieczeństwo AWS dla deweloperów

Dwie bramy — obie muszą się otworzyć

Jedno żądanie odszyfrowania przechodzi od lewej do prawej przez dwie ponumerowane bramy — znacznik jeden to zasady IAM, znacznik dwa to zasady klucza — zanim dotrze do klucza KMS. Klamra pod obiema bramami oznacza je jako niezależne odpowiedzi.

  1. Zasady IAM: o co może poprosić wywołujący
  2. Zasady klucza: komu klucz odpowie

Domyślne zasady klucza: przekazują kontrolę do IAM

Granty: konkretne operacje na kluczu dla jednego podmiotu, odwoływalne niezależnie

Bezpieczeństwo AWS dla deweloperów

Klucz nigdy nie dotyka twoich danych

Amazon S3, działając w twoim imieniu, wywołuje AWS KMS w punkcie jeden, a KMS zwraca jeden klucz danych jako kopię jawną i kopię zaszyfrowaną. Kopia zaszyfrowana jest przechowywana obok zaszyfrowanej treści obiektu, a przerywana ścieżka powrotna w punkcie dwa prowadzi ją z powrotem przez wywołanie odszyfrowania.

Szyfrowanie kopertowe

Szyfrowanie bezpośrednie: limit 4 KB

Bezpieczeństwo AWS dla deweloperów

Klucz nigdy nie dotyka twoich danych

Amazon S3, działając w twoim imieniu, wywołuje AWS KMS w punkcie jeden, a KMS zwraca jeden klucz danych jako kopię jawną i kopię zaszyfrowaną. Kopia zaszyfrowana jest przechowywana obok zaszyfrowanej treści obiektu, a przerywana ścieżka powrotna w punkcie dwa prowadzi ją z powrotem przez wywołanie odszyfrowania.

Szyfrowanie kopertowe

Szyfrowanie bezpośrednie: limit 4 KB

  1. GenerateDataKey zwraca dwie kopie
  2. kms:Decrypt na zapisanej kopii
Bezpieczeństwo AWS dla deweloperów

Między kontami nikt nie widzi obu połówek

Konto wywołującego

  • Akcja dozwolona w IAM
  • Zasób: ARN klucza

Dwa przerywane panele kont rozdzielone granicą konta. Rola wywołującego i zasady IAM znajdują się w górnym panelu, zasady klucza i klucz KMS — w dolnym, a żądanie przekracza granicę między nimi.

Bezpieczeństwo AWS dla deweloperów

Między kontami nikt nie widzi obu połówek

Konto wywołującego

  • Akcja dozwolona w IAM
  • Zasób: ARN klucza

Konto właściciela klucza

  • Zasady klucza wskazujące wywołującego
  • Konto lub rola w nim

Dwa przerywane panele kont rozdzielone granicą konta. Rola wywołującego i zasady IAM znajdują się w górnym panelu, zasady klucza i klucz KMS — w dolnym, a żądanie przekracza granicę między nimi.

Bezpieczeństwo AWS dla deweloperów

Czytaj powód odmowy, nie zgaduj

Oparte na tożsamości

  • AccessDeniedException, a potem klauzula wskazująca bramę

  • no identity-based policy allows

  • Napraw zasady IAM wywołującego

 

Żądanie odszyfrowania zatrzymane na pierwszej bramie, gdzie zasady IAM oznaczone są czerwonym krzyżykiem, a zasady klucza za nimi są wyszarzone i nigdy nieosiągnięte. Podpis pod diagramem: no identity-based policy allows.

 

Bezpieczeństwo AWS dla deweloperów

Czytaj powód odmowy, nie zgaduj

Oparte na tożsamości

  • AccessDeniedException, a potem klauzula wskazująca bramę

  • no identity-based policy allows

  • Napraw zasady IAM wywołującego

Oparte na zasobach

  • no resource-based policy allows
  • Napraw zasady klucza

Żądanie odszyfrowania zatrzymane na pierwszej bramie, gdzie zasady IAM oznaczone są czerwonym krzyżykiem, a zasady klucza za nimi są wyszarzone i nigdy nieosiągnięte. Podpis pod diagramem: no identity-based policy allows.

Żądanie odszyfrowania przechodzi przez zasady IAM oznaczone zielonym znacznikiem, a następnie zatrzymuje się na drugiej bramie, gdzie zasady klucza oznaczone są czerwonym krzyżykiem. Podpis pod diagramem: no resource-based policy allows.

Bezpieczeństwo AWS dla deweloperów

Co faktycznie zmienia rotacja

Automatyczna rotacja

  • Domyślnie 365 dni
  • Zakres od 90 do 2,560 dni

Trzy karty przedstawiające minimalny, domyślny i maksymalny okres automatycznej rotacji w dniach, nad trzema wierszami pokazującymi, które rodzaje kluczy się rotują i według jakiego harmonogramu.

Bezpieczeństwo AWS dla deweloperów

Co faktycznie zmienia rotacja

Automatyczna rotacja

  • Domyślnie 365 dni
  • Zakres od 90 do 2,560 dni

Na żądanie

  • RotateKeyOnDemand, do 25 razy na klucz

Dwa ograniczenia

  • Klucze zarządzane przez AWS: rotacja na stałe raz do roku
  • Automatyczna rotacja: tylko symetryczny materiał generowany przez KMS

Trzy karty przedstawiające minimalny, domyślny i maksymalny okres automatycznej rotacji w dniach, nad trzema wierszami pokazującymi, które rodzaje kluczy się rotują i według jakiego harmonogramu.

Bezpieczeństwo AWS dla deweloperów

Czego rotacja nie naprawia

Cztery wiersze porównane po obu stronach linii rotacji. Wiersz materiału klucza zmienia się z wersji jeden na wersję dwa, podczas gdy identyfikator klucza, alias i zasady klucza oraz wcześniej zapisane obiekty pozostają identyczne po obu stronach.

Zmienia się: materiał klucza

Bez zmian: ID klucza, ARN, aliasy, zasady klucza

Bezpieczeństwo AWS dla deweloperów

Czego rotacja nie naprawia

Cztery wiersze porównane po obu stronach linii rotacji. Wiersz materiału klucza zmienia się z wersji jeden na wersję dwa, podczas gdy identyfikator klucza, alias i zasady klucza oraz wcześniej zapisane obiekty pozostają identyczne po obu stronach.

Zmienia się: materiał klucza

Bez zmian: ID klucza, ARN, aliasy, zasady klucza

  • Nic w twoim kodzie nie trzeba zmieniać
  • Stare obiekty i zbyt szerokie zasady — oba bez zmian
Bezpieczeństwo AWS dla deweloperów

Więc po co ją włączać

Co zyskujesz

  • Żadna wersja nigdy nie obejmuje wszystkich twoich danych
  • Przepisy i umowy wymagające rotacji

Zielona karta zatytułowana co zyskujesz, pod etykietą włączanie rotacji. Zawiera regułę audytu rotuj co 365 dni z zielonym znacznikiem oraz jeden klucz przedstawiony jako trzy połączone wersje — v1, v2 i v3 — z podpisem, że każda obejmuje tylko to, co sama zapisała.

Bezpieczeństwo AWS dla deweloperów

Więc po co ją włączać

Co zyskujesz

  • Żadna wersja nigdy nie obejmuje wszystkich twoich danych
  • Przepisy i umowy wymagające rotacji

 

Co to kosztuje

  • Żadnych zmian w kodzie, nic do ponownego szyfrowania

Ta sama zielona karta co zyskujesz, teraz z drugą kartą poniżej, zatytułowaną co to kosztuje. Ta karta zawiera dwa wiersze: twój kod bez zmian oraz stare obiekty bez ponownego szyfrowania.

Bezpieczeństwo AWS dla deweloperów

Czas na praktykę!

Bezpieczeństwo AWS dla deweloperów

Preparing Video For Download...