Jak zarządzać sekretami za pomocą Menedżera sekretów AWS i RDS?

Jak Zarzadzac Sekretami Za Pomoca Menedzera Sekretow Aws I Rds



Amazon Relational Database to jedna z usług relacyjnych baz danych, które są łatwiejsze i prostsze w obsłudze oraz uruchamianiu złożonych zapytań. Zgodnie ze składnią zapytań SQL, ta usługa AWS jest szybsza niż tradycyjne bazy danych i automatycznie skaluje bazę danych w oparciu o wymagania aplikacji. Dzięki AWS RDS eliminuje potrzebę niestandardowej konfiguracji sprzętu lub konfiguracji oprogramowania w celu uruchamiania zapytań.

W tym artykule pokazano, jak zarządzać wpisami tajnymi za pomocą Menedżera sekretów AWS i RDS.

Kim jest tajny menedżer?

Eksperci i ludzie na całym świecie zgłaszali także zagrożenia dla bezpieczeństwa i obawy dotyczące prywatności. Aby chronić cyfrowe sekrety, takie jak dane uwierzytelniające bazy danych, interfejs API i tokeny, najlepszym narzędziem do tego celu jest AWS Secret Manager.







AWS Secret Manager pomaga firmom i organizacjom chronić swoje zasoby i usługi przed złośliwymi intencjami i cyberatakami mającymi na celu przejęcie lub kradzież wrażliwych danych. Ta usługa dodaje dodatkową warstwę zabezpieczeń do zasobów i umożliwia łatwe skalowanie wpisów tajnych i zarządzanie nimi.



Jak zarządzać sekretami za pomocą Menedżera sekretów AWS i RDS?

Za każdym razem, gdy użytkownik konfiguruje klaster RDS, wymaga informacji o regionie, nazwie użytkownika i haśle klastra oraz identyfikuje go za pomocą unikalnego identyfikatora klastra. Integracja RDS z Secret Managerem umożliwi ochronę danych uwierzytelniających RDS i odpowiednie zarządzanie nimi.



Korzystając z Menedżera sekretów, możesz zdefiniować cykl życia tych sekretów i zintegrować je z innymi zasobami. W tym artykule dodamy Secret Managera AWS z funkcją Lambda do naszego klastra RDS.





Poniżej przedstawiono kilka kroków w tym celu:

Krok 1: Utwórz klaster RDS

Menedżer sekretów jest powszechnie używany do ochrony poświadczeń bazy danych. Zatem pierwszym krokiem jest utworzenie klastra RDS. W tym celu zapoznaj się z tym artykułem: „ Jak utworzyć klaster RDS na AWS? ”. Mamy działający klaster RDS:



Krok 2: Menedżer tajnych informacji AWS

W konsoli zarządzania AWS wyszukaj i wybierz „ Menedżer tajemnic ”:

W interfejsie Menedżera sekretów kliknij przycisk „Przechowuj nowy sekret” przycisk:

w Tajny typ , Wybierz „Poświadczenia do bazy danych Amazon RDS” opcja podczas konfigurowania jej dla RDS:

Następny jest Referencje Sekcja. W tej sekcji podaj Nazwa użytkownika I Hasło dla bazy RDS, którą właśnie utworzyliśmy:

w Klucz szyfrowania sekcji użytkownik może albo skorzystać z domyślnego menedżera sekretów AWS, albo utworzyć nowy, klikając przycisk „Dodaj nowy klucz” opcja. Podobnie w Baza danych sekcję, wybierz „Instancja bazy danych” który utworzyłeś i uderzyłeś 'Następny' przycisk:

Podaj unikalną nazwę dla 'Sekret' pomoże nam to później zidentyfikować. Opis jest opcjonalny. Jednak użytkownik może również podać niestandardowy opis tutaj:

Na interfejsie , Menedżer sekretów zapewnia nam również możliwość replikowania sekretu. W tym celu wybierz region, w którym chcesz utworzyć replikację. W tym demo nie wymagamy żadnej replikacji, dlatego zachowując pozostałe ustawienia jako domyślne, dotknij 'Następny' przycisk:

Zachowując ustawienie domyślne, teraz przeglądamy i edytujemy informacje. Po zatwierdzeniu podanych informacji kliknij przycisk 'Sklep' przycisk, aby utworzyć i zapisać sekret:

Oto sekret pomyślnie utworzony . Kliknij na ' Imię sekretu ”, aby wyświetlić jego konfiguracje:

Przewijając interfejs w dół, będziemy mieli sekcję Przykładowy kod. W tej sekcji kod jest generowany przez Tajny menadżer. Skopiuj ten kod, ponieważ będzie on używany w Funkcja Lambdy:

// Użyj tego fragmentu kodu W Twoja aplikacja.
// Jeśli potrzebujesz więcej Informacje na temat konfiguracji lub implementacji przykładowego kodu można znaleźć w dokumentacji AWS:
// https: // docs.aws.amazon.com / sdk-dla-javascript / v3 / przewodnik programisty / pierwsze kroki.html

import {
Klient SecretsManager,
Polecenie GetSecretValue,
} z „@aws-sdk/menedżer-tajemnic-klienta” ;

const nazwa_tajnego = „mój sekret1/sh” ;

stały klient = nowy klient SecretsManager ( {
region: „ap-południowy wschód-1” ,
} ) ;

pozwalać odpowiedź;

próbować {
odpowiedź = oczekiwanie na klienta.wysłanie (
nowe polecenie GetSecretValue ( {
SecretId: sekret_nazwa,
WersjaScena: „NIEAKTUALNE” , // Wersja VersionStage domyślnie ma wartość AWSCURRENT Jeśli nieokreślony
} )
) ;
} złapać ( błąd ) {
// Aby zapoznać się z listą zgłoszonych wyjątków, zobacz
// https: // docs.aws.amazon.com / menadżer sekretów / najnowszy / aspiracje /
API_GetSecretValue.html
zgłosić błąd;
}

const sekret = odpowiedź.SecretString;

// Twój kod trafia tutaj

Krok 3: Utwórz funkcję Lambda

W interfejsie funkcji Lambda kliknij „ Utwórz funkcję ' przycisk:

Kliknij na „Autor od zera” opcja z „Utwórz funkcję” interfejs:

Następnie kierujemy się w stronę 'Podstawowe informacje' Sekcja. Podaj nazwę funkcji w pliku „Nazwa funkcji” pole, a następnie podaj „Czas działania” środowisko. Tutaj wybraliśmy „Node.js 16.x” w polu Czas wykonania:

Kliknij na „Utwórz funkcję” przycisk:

Tutaj wkleiliśmy kod wygenerowany przez plik Tajny menadżer . Po wklejeniu kodu kliknij przycisk 'Wdrożyć' przycisk:

Po wdrożeniu wszystkich zmian kliknij przycisk 'Konfiguracja' zakładka, aby zezwolić na uprawnienia Menedżera sekretów:

Kliknij na „Uprawnienia” opcja z „Konfiguracje” patka. Spowoduje to wyświetlenie „ Rola wykonawcza” interfejsie i kliknij poniższy link w sekcji „Nazwa roli” pole:

w „Zasady uprawnień” sekcję, kliknij przycisk „Dodaj uprawnienia” przycisk. Z menu rozwijanego kliknij przycisk „Dołącz zasady” opcja:

w „Inne zasady dotyczące uprawnień” sekcję, wyszukaj i wybierz „Sekrety MenedżerPrzeczytajZapisz” opcja. Uderz w „Dodaj uprawnienia” przycisk:

Tutaj polityka została pomyślnie dołączona i skonfigurowana:

Krok 4: Zweryfikuj tajny dostęp

Teraz przejdź do interfejsu Lambda Dashboard. Kliknij na 'Test' patka:

W następnym interfejsie podaj nazwę zdarzenia testowego w pliku 'Nazwa wydarzenia' pole. Kliknij na 'Ratować' przycisk, aby zastosować konfiguracje:

Tutaj test został pomyślnie skonfigurowany. Kliknij na 'Test' przycisk:

Tutaj klikniemy 'Test' ponownie i wyświetli następujące dane wyjściowe:

To wszystko z tego przewodnika.

Wniosek

Aby zarządzać wpisami tajnymi w Menedżerze sekretów, utwórz klaster RDS, dołącz go do Menedżera sekretów, a następnie wykonaj ten kod w skonfigurowanej funkcji Lambda. Funkcja Lambda określi, czy można uzyskać dostęp do sekretu, wykonując zawarty w nim kod zawierający specyfikację klastra RDS. Ten artykuł jest przewodnikiem krok po kroku dotyczącym zarządzania sekretami przy użyciu AWS Secret Manager i RDS.