Jakiś czas temu odkryłem, że dla zwiększenia bezpieczeństwa i wygody można używać sekretów z KeyVault w konfiguracji Azure function. Wrażliwe dane są bardziej bezpieczne i ma do nich dostęp mniejsza liczba osób.
KeyVault
Na początku tworzymy KeyVault i wpisujemy do niego sekrety. Po ich uzupełnieniu kopiujemy ‘Secret Identifier’ będzie nam potrzebne później.
AppFunction
Teraz możemy stworzyć AppFunction. Żeby apka pobierała sekrety z KeyVaulta należy kliknąć ‘Add/Edit application setting’, nazwę podajemy dowolną, a jako wartość wpisujemy @Microsoft.KeyVault(SecretUri=<KeyVault_ Secret_Identifier>)
Żeby Azure App Function mógł odczytać sekret, należy jeszcze stworzyć tożsamość dla funkcji i nadać jej odpowiednie uprawnienia w KeyVault. Tożsamość tworzymy zmieniając status na ON i klikając zapisz. Kopiujemy ‘Object ID’, które będzie potrzebne później.
Otwieramy KeyVaulta i dodajemy politykę klikając na ‘add Access Policy’ . Nadajemy tylko niezbędne uprawnienia Get i List dla Sekretów, w select principal dodajemy ‘Object ID’ naszej AppFunction.
Jeśli wszystko zrobiliśmy dobrze to po kliknięciu refresh w konfiguracji naszej funkcji powinniśmy widzieć wartość Key vault Reference z zielonym znaczkiem.
Więcej informacji na temat Azure function znajdziesz pod linkiem https://docs.microsoft.com/pl-pl/azure/azure-functions/
Więcej informacji na temat Key Vaulta znajdziesz pod linkiem https://docs.microsoft.com/pl-pl/azure/key-vault/
Jeśli spodobał Ci się artykuł zajrzyj także do innych moich wpisów https://lepczynski.it/azure/azure-kopiowanie-function-apps/ https://lepczynski.it/azure/azure-automatyzacja-app-service-plan-na-azure/ https://lepczynski.it/azure/azure-keyvault-trwale-usuwanie-sekretu/