AWS Secrets Manager to usługa, która umożliwia bezpieczne przechowywanie różnego rodzaju poufnych informacji, takich jak dane uwierzytelniające, hasła i inne wrażliwe dane.
W obliczu rosnącej liczby cyberataków, które mają na celu kradzież danych, środków finansowych i zakłócanie działalności organizacji, ochrona poufnych danych stała się priorytetem.
Właśnie dlatego tak istotne jest korzystanie z zaawansowanych rozwiązań, takich jak Secrets Manager, który pomaga chronić Twoje informacje.
W tym artykule przyjrzymy się bliżej AWS Secrets Manager i omówimy korzyści, jakie oferuje.
Zacznijmy!
Czym jest AWS Secrets Manager?
AWS Secrets Manager to narzędzie, które ułatwia zarządzanie, rotację i odzyskiwanie sekretów, takich jak hasła, klucze API, dane dostępowe do baz danych i aplikacji. Obsługuje pełen cykl życia każdego z tych sekretów.
Sekret to każda poufna informacja, którą chcesz chronić. Może to być na przykład nazwa użytkownika i hasło, token OAuth, poświadczenia AWS, klucze SSH, klucze szyfrowania, certyfikaty oraz klucze prywatne i inne.
Głównym celem AWS Secrets Manager jest zapewnienie bezpieczeństwa i zarządzanie danymi używanymi do uzyskiwania dostępu do zasobów IT, usług, aplikacji i systemów. Dzięki centralizacji przechowywania i zarządzania sekretami, uprawnieni użytkownicy mogą łatwo uzyskiwać do nich dostęp bez konieczności korzystania z skomplikowanych procedur.
AWS Secrets Manager umożliwia automatyczną rotację sekretów w różnych usługach AWS, takich jak Redshift, RDS i DocumentDB. Zapewnia to ciągłą aktualizację kluczy i poświadczeń w tych usługach. Rotację sekretów można przeprowadzać na żądanie lub zgodnie z harmonogramem, korzystając z konsoli narzędzia, AWS SDK lub AWS CLI.
Co więcej, AWS Secrets Manager oferuje zaawansowane mechanizmy kontroli dostępu i silne szyfrowanie, zapewniając ochronę Twoich danych. Umożliwia również monitorowanie i audytowanie chronionych informacji za pomocą różnorodnych integracji.
Z rozwiązania tego korzystają przede wszystkim duże firmy, a także przedsiębiorstwa z branży IT.
Funkcje AWS Secrets Manager
#1. Przechowywanie i zarządzanie sekretami
Secrets Manager to nie tylko miejsce przechowywania, ale również narzędzie do skutecznego zarządzania sekretami. Platforma oferuje szereg operacji, które pozwalają na:
- Tworzenie i zapisywanie nowych sekretów
- Modyfikowanie istniejących sekretów
- Wyszukiwanie sekretów
- Usuwanie niepotrzebnych sekretów
- Odzyskiwanie usuniętych sekretów
- Replikowanie sekretów do innych regionów AWS
- Promowanie zreplikowanego sekretu do samodzielnego sekretu w AWS Secrets Manager
Po utworzeniu konta w Amazon Aurora, Amazon RDS, Amazon DocumentDB lub Amazon Redshift, możesz przechowywać dane uwierzytelniające na platformie. Możesz to zrobić za pomocą konsoli Secrets Manager, AWS SDK lub AWS CLI.
#2. Zaawansowane zabezpieczenia
AWS Secrets Manager stosuje silne szyfrowanie, aby chronić sekrety przed nieautoryzowanym dostępem. Dane są szyfrowane za pomocą kluczy zarządzanych przez usługę AWS Key Management Service (KMS).
Secrets Manager korzysta z AWS Identity and Access Management (IAM), aby zapewnić bezpieczny dostęp do sekretów. Oferuje zaawansowaną kontrolę dostępu i mechanizmy uwierzytelniania.
- Uwierzytelnianie służy do weryfikacji tożsamości użytkownika. Identyfikacja odbywa się poprzez proces logowania z wykorzystaniem tokenów MFA, kluczy dostępu i haseł.
- Kontrola dostępu zapewnia, że uprawnieni użytkownicy mogą wykonywać jedynie określone operacje na sekretach.
Dodatkowo Secrets Manager wykorzystuje zasady, które definiują, którzy użytkownicy mogą uzyskiwać dostęp do jakich zasobów i wykonywać na nich określone działania. Umożliwia korzystanie z AWS IAM Roles Anywhere, aby uzyskiwać tymczasowe poświadczenia bezpieczeństwa w IAM dla serwerów, aplikacji i innych obciążeń działających poza AWS.
Możesz również zastosować te same role i zasady IAM, które zostały utworzone dla aplikacji AWS, do obciążeń działających na urządzeniach lokalnych, takich jak serwery aplikacji.
#3. Rotacja sekretów
AWS Secrets Manager umożliwia rotację sekretów zgodnie z harmonogramem lub na żądanie, bez zakłócania działania aktywnych aplikacji.
Rotacja sekretów to proces regularnej aktualizacji poufnych informacji. Podczas rotacji klucza tajnego, dane lub poświadczenia w tym kluczu są aktualizowane zarówno w nim, jak i w powiązanej usłudze lub bazie danych. Dzięki temu można zautomatyzować ten proces, oszczędzając czas poprzez konfigurację rotacji za pomocą konsoli lub AWS CLI.
Aby zaktualizować sekret, AWS Secrets Manager wykorzystuje funkcję AWS Lambda, którą wywołuje zgodnie z harmonogramem. W tym celu należy ustawić harmonogram, na przykład co 30 lub 90 dni, lub zdefiniować go za pomocą wyrażenia cron.
Secrets Manager oznacza również wersje sekretów podczas rotacji za pomocą etykiet. Funkcja może być wywoływana wielokrotnie podczas rotacji, z różnymi parametrami.
Oto jak przebiega proces rotacji:
- Tworzona jest nowa wersja sekretu, zawierająca nowe hasła, nazwy użytkowników lub inne dane.
- W istniejącej usłudze lub bazie danych poświadczenia są zmieniane tak, aby odpowiadały nowej wersji sekretu. Tworzony jest również nowy użytkownik z takimi samymi uprawnieniami dostępu.
- Nowa wersja sekretu jest testowana pod kątem możliwości dostępu do usługi lub bazy danych, z odpowiednimi uprawnieniami odczytu i zapisu.
- Rotacja jest finalizowana przez przeniesienie nowej wersji do aktywnego użycia. Stara wersja jest zachowywana w historii, aby uniknąć utraty danych.
#4. Monitorowanie sekretów
Ze względu na potencjalne naruszenia bezpieczeństwa, ważne jest monitorowanie sekretów i reagowanie na nieprawidłowości. AWS Secrets Manager umożliwia monitorowanie danych za pomocą dedykowanych narzędzi i natychmiastowe powiadamianie o wykryciu problemów.
Dzięki dziennikom można analizować nieoczekiwane zmiany lub nieprawidłowe użycie. W razie potrzeby można cofnąć zmiany i przywrócić poprzednią wersję sekretu. Dodatkowo można skonfigurować automatyczne alerty, które informują o próbach usunięcia sekretów lub ich nieuprawnionym użyciu.
Oto funkcje oferowane w ramach monitorowania:
- Rejestrowanie zdarzeń za pomocą AWS CloudTrail: CloudTrail rejestruje wywołania API jako zdarzenia, w tym operacje rotacji i usuwania sekretów. Zapisuje zdarzenia z ostatnich 90 dni. Można skonfigurować CloudTrail tak, aby dostarczał dzienniki do zasobnika Amazon S3 z różnych regionów i kont AWS.
- Monitorowanie za pomocą CloudWatch: CloudWatch umożliwia monitorowanie sekretów poprzez zbieranie i analizowanie danych w czasie rzeczywistym. Dane są przechowywane przez 15 miesięcy, co pozwala na ocenę wydajności usługi lub aplikacji.
- Dopasowywanie zdarzeń z EventBridge: EventBridge umożliwia dopasowywanie zdarzeń z dzienników AWS CloudTrail. Skonfiguruj reguły wyszukiwania tych zdarzeń i wyślij nowe zdarzenie, aby podjąć działanie.
- Monitorowanie zaplanowanych do usunięcia sekretów: można skonfigurować alarmy powiadamiające o nieautoryzowanych próbach usunięcia sekretu, łącząc dzienniki Amazon CloudWatch, Simple Notification Service (SNS) i CloudTrail.
Po otrzymaniu alertu, można zdecydować, czy usunięcie sekretu jest zamierzone, czy nie. Można również zezwolić użytkownikowi na używanie nowego klucza tajnego, nadając mu odpowiednie uprawnienia.
#5. Integracje
AWS Secrets Manager integruje się z licznymi usługami Amazon i AWS, takimi jak Alexa for Business, AWS App2Container, App Runner, Amazon AppFlow, AWS AppConfig, Amazon Athena, Amazon DocumentDB, AWS DataSync, AWS CodeBuild, Amazon ElasticCache, Amazon EMR, AWS Elemental Live, Amazon QuickSight, Amazon Redshift, AWS Migration Hub, Amazon RDS i wiele innych.
Dlaczego warto korzystać z AWS Secrets Manager
Zwiększone bezpieczeństwo
Secrets Manager pomaga zwiększyć poziom bezpieczeństwa, eliminując potrzebę przechowywania poświadczeń w kodzie źródłowym aplikacji. Przechowywanie ich w Secrets Manager minimalizuje ryzyko narażenia danych na zagrożenia, nawet jeśli ktoś uzyska dostęp do aplikacji lub jej komponentów.
Odzyskiwanie po awarii
W przypadku awarii, np. cyberataku, można stracić dostęp do kluczowych informacji, haseł i danych uwierzytelniających. Może również dojść do przypadkowego usunięcia danych.
Secrets Manager umożliwia zastąpienie zakodowanych na stałe poświadczeń wywołaniem do AWS Secrets Manager w czasie wykonywania, aby pobierać dane w sposób dynamiczny, gdy są potrzebne.
Zmniejszone ryzyko
Secrets Manager pozwala skonfigurować harmonogram automatycznej rotacji sekretów. Zastąpienie długoterminowych kluczy krótkoterminowymi zmniejsza ryzyko naruszenia bezpieczeństwa.
Co ważne, rotacja poświadczeń nie wymaga aktualizacji aplikacji ani modyfikowania klientów, ponieważ poświadczenia nie są przechowywane w aplikacji.
Spełnienie wymagań dotyczących zgodności
W obliczu rosnących zagrożeń dla bezpieczeństwa i prywatności, organizacje muszą przestrzegać standardów zgodności, takich jak RODO i HIPAA. AWS Secrets Manager pomaga w spełnieniu tych wymagań, zapewniając bezpieczeństwo danych klientów i firm.
Dzięki Secrets Manager można monitorować swoje sekrety, wykrywać potencjalne zagrożenia i podejmować działania zapobiegawcze. Chroni to informacje o firmie i klientach, co jest niezbędne do zachowania zgodności z przepisami. Dodatkowo, prowadzenie dokumentacji ułatwia proces audytów.
AWS Configs umożliwia ocenę sekretów pod kątem zgodności z wewnętrznymi zasadami i wytycznymi. Można zdefiniować wymagania dotyczące zgodności i kontrole wewnętrzne, a także zidentyfikować sekrety, które ich nie spełniają.
Lepsza kontrola
Secrets Manager umożliwia lepszą kontrolę nad sekretami i systemami poprzez szczegółowe zasady i kontrolę dostępu. AWS IAM zapewnia odpowiedni poziom uprawnień do zasobów. Administratorzy mogą zarządzać kontami, uprawnieniami i użytkownikami, w zależności od potrzeb.
Konfiguracja i korzystanie z AWS Secrets Manager
Oto kroki, które należy wykonać, aby skonfigurować i używać AWS Secrets Manager:
- Skonfiguruj konto AWS, podając wymagane dane.
- Zaloguj się do swojego konta AWS.
- Przejdź do konsoli AWS Secrets Manager.
- Wybierz opcję „Zapisz nowy sekret”, aby utworzyć i zapisać sekret.
Jak utworzyć i zapisać nowy sekret
Aby utworzyć sekret w Secrets Manager, wymagane są uprawnienia z zasad zarządzanych SecretsManagerReadWrite. Po utworzeniu sekretu, Secret Manager wygeneruje wpis w dzienniku CloudTrail.
Wykonaj poniższe kroki, aby przechowywać tokeny dostępu, klucze API i dane uwierzytelniające w AWS Secrets Manager:
źródło: przepełnienie stosu
Na stronie „Wybierz typ sekretu”, wykonaj następujące czynności:
- Wybierz „Inny typ klucza tajnego” dla tworzonego sekretu.
- Wprowadź sekret w parach klucz-wartość w formacie JSON lub wybierz zakładkę „Zwykły tekst” i wprowadź sekret w wybranym formacie. Można przechowywać sekrety o rozmiarze do 65536 bajtów.
- Wybierz klucz AWS KMS, który będzie używany przez Secret Manager do szyfrowania sekretu. Zwykle można wybrać domyślny klucz aws/secretsmanager, który jest bezpłatny.
- Aby uzyskać dostęp do sekretu z innego konta AWS lub użyć własnego klucza KMS, wybierz opcję „Dodaj nowy klucz” lub klucz zarządzany przez klienta z listy. Użycie klucza zarządzanego przez klienta wiąże się z opłatami.
- Kliknij „Dalej”.
- Wprowadź nazwę sekretu i jego opis. Nazwa musi zawierać od 1 do 512 znaków Unicode.
- Możesz dodać tagi do sekretu w sekcji „Tagi”. Możesz również dołączyć zasady dotyczące zasobów, wybierając „Edytuj uprawnienia”.
- Możesz zreplikować sekret do innego regionu AWS, wybierając opcję „Replikuj klucz tajny”. Te kroki są opcjonalne.
- Kliknij „Dalej”.
Sekret można również dodać za pomocą AWS SDK i AWS CLI.
AWS Secrets Manager a AWS Parameter Store
AWS Parameter Store to usługa zarządzania aplikacjami oferowana przez AWS Systems Manager (SSM). Umożliwia tworzenie parametrów klucz-wartość, które mogą przechowywać konfiguracje aplikacji, poświadczenia, klucze produktów i niestandardowe zmienne środowiskowe.
Z kolei AWS Secrets Manager to usługa służąca do tworzenia, przechowywania, zarządzania, pobierania i rotacji poświadczeń, kluczy, tokenów API itp.
Obie usługi posiadają interfejsy umożliwiające definiowanie par klucz-wartość, ale różnią się przeznaczeniem:
AWS Secrets Manager AWS Parameters Store Rozmiar pamięci Przechowuje do 10 kb sekretów Przechowuje do 4096 znaków lub 4 kb na wpis (do 8 kb dla parametrów zaawansowanych) Limity Może przechowywać 500 000 sekretów/region/konto Może przechowywać 10 000 standardowych parametrów/region/konto Koszt Płatne, 0,40 USD/sekret/miesiąc Bezpłatne dla parametrów standardowych i 0,05 USD za 10 000 wywołań API dla parametrów zaawansowanych Rotacja Automatyczna rotacja dla dowolnego sekretu, konfigurowalna Wymaga ręcznego napisania funkcji do aktualizacji danych uwierzytelniających Dostęp między kontami Tak Nie Replikacja międzyregionalna Tak Nie Typ danych uwierzytelniających Do przechowywania wrażliwych danych wymagających szyfrowania. Szerszy zakres zastosowań, w tym przechowywanie zmiennych konfiguracyjnych aplikacji, kluczy produktów, adresów URL itp.
Podsumowanie
Niezależnie od wielkości firmy, AWS Secrets Manager jest narzędziem, które umożliwia tworzenie i przechowywanie sekretów w bezpieczny sposób. Zapewnia zaawansowane funkcje bezpieczeństwa, kontrolę dostępu oraz możliwość ochrony danych przed nieautoryzowanym dostępem.
Zachęcamy również do zapoznania się z informacjami na temat przeprowadzania skanowania bezpieczeństwa AWS i monitorowania konfiguracji.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.