2017-11-09 71 views
6

S3 obsługuje teraz szyfrowanie, które ma być stosowane domyślnie, gdy poszczególne żądania PUT obiektu nie zawierają określonego nagłówka szyfrowania.Szablon CloudFormation do ustawienia domyślnego szyfrowania S3 bucket

Jak można to ustawić w ramach tworzenia segmentów podczas szablonu CloudFormation? Znalazłem dla tego API call, ale byłoby wspaniale, gdyby mógł być dostarczony jako atrybut w CloudFormation, a nie osobny krok.

Dotychczas jedyne opcje, które widzę są

  • zrobić oddzielną API/połączenia klienta po stworzeniu wiadro
  • używać starszej sposób polityki wiadro odrzucić nieszyfrowanych żądań, które może być dostarczone za pośrednictwem CloudFormation S3::BucketPolicy zasób
+0

Założę się, że CloudFormation wkrótce doda tę nową funkcję. – jarmod

+0

@wrschneider Co jest złego w dodawaniu S3 :: BucketPolicy, o której wspomniałeś, do szablonu Cloudformation, który tworzy wiadro? Czy istnieje powód, dla którego nie chcesz używać tego podejścia? –

+0

, ponieważ zasady zasobnika nie szyfrują niczego - indywidualne żądania wciąż muszą określać szyfrowanie. Odrzuca tylko żądania PUT bez określonego szyfrowania. – wrschneider

Odpowiedz

5

Od pewnego czasu między ostatnim piątkiem a dniem dzisiejszym w końcu dodali własność BucketEncryption do wiader S3 w CloudFormation, co pozwala włączyć domyślne szyfrowanie.

1

jarmod ma rację, Cloudformation zwykle opóźnia się w implementacji nowych funkcji.

W międzyczasie można uzyskać funkcję lambda w odpowiedzi na zdarzenie CreateBucket, aby wykonać put_bucket_encryption (boto3) na wiadrze.

Używa pierwszej zaproponowanej przez ciebie opcji, ale nie musisz pamiętać, aby wykonać oddzielne wywołanie api.

+1

Problem z lambdą polega na tym, że botocore na Lambdzie nie obsługuje jeszcze 'put_bucket_encryption'. – wrschneider

+1

To prawda, ale możesz spakować nową wersję botocore z funkcją – tkwargs