Tworzenie Azure Key Vault

Key Vault jest to moduł Azure, który pozwala na bezpieczne przechowywanie haseł, kluczy i innych sekretów. Z jego pomocą developerzy nie muszą zapisywać poświadczeń lub adresów połączeń w kodzie. Mogą natomiast odpytać Key Vault i pozyskać je kiedy są potrzebne. Aplikacja będzie w stanie potwierdzić swoją tożsamość i uzyskać dostęp do hasła, nawet w sytuacji gdy developer takiego dostępu nie ma. Stwórzmy Key Vault!

Tworzenie Key Vault

image

Aby stworzyć Key Vault (jak zapewne się domyślasz) zwyczajnie wyszukaj go w usługach Azure. Podczas tworzenia modułu, możesz zmienić różne polityki dostępu. Polecam zostawić wartości domyślne – możesz to zmienić, gdy już będziesz wiedział jaki poziom zabezpieczeń jest dla Ciebie odpowiedni.

Rejestrowanie aplikacji w Azure Active Directory

Aby aplikacja miała dostęp do sekretów, musisz zarejestrować ją w Azure Active Directory. Tylko tak będzie mogła uwierzytelnić się w Key Vault.

Otwórz Function App i przejdź do panelu Platform features:

image

Kliknij na Managed service indentity i zarejestuj ją w AAD:

image

 

 

Inną metodą jest zastosowanie Powershella:

 

Teraz, gdy aplikacja jest już w AAD, możesz dodać ją do Access Policies w Key Vault. Aby to zrobić przejdź do access policies:

image

Dodaj nową, wybierz odpowiedni poziom dostępu i wyszukaj aplikację jej pełną nazwą:

image

Teraz, twoja aplikacja ma dostęp do sekretów. Nawet jeśli ty ich nie widzisz, możesz z nich korzystać przez aplikację.

Tworzenie sekretu

Przejdź do sekretów w głównym menu. Tutaj możesz wpisywać hasła, które będą dostępne tylko przez wybrane zasoby/osoby.

image

Kliknij na Generate/Import i dodaj hasło:

 

image
image

 

Po stworzeniu sekretu, skopiuj jego URL. Znajdziesz go w menu sekretu. Ten URL możesz dodać w aplikacji jako zmienną środowiskową lub wkleić jako kod, tak jak poniżej.

image

Dostęp do sekretów przez Function App

Teraz jesteś gotowy, żeby stworzyć funkcję, która dostanie się do sekretu.

Przejdź do Visual Studio i stwórz Azure Function z wyzwalaczem HTTP:

image
image

Musisz dodać dwa moduły:

 

Następnie dodaj te 3 linijki kodu:

 

Możesz zmienić wartość, którą zwraca funkcja:

 

Cały kod:

 

Po publikacji, gdy wywołasz funkcję, otrzymasz swój sekret:

image

Mam nadzieję, że pomogłem 🙂

Michał

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *