Konfigurowanie zarządzanej tożsamości dla funkcji Azure polega na użyciu albo przypisanego systemu tożsamości zarządzanej lub tożsamości zarządzanej użytkownika. Oto jak możesz skonfigurować oba typy:
Włączanie systemu przypisanego tożsamości zarządzanej
1. Przejdź do portalu Azure: Przejdź do aplikacji Funkcja Azure w portalu Azure.
2. Wybierz opcję tożsamości: w lewym menu wybierz Ustawienia, a następnie kliknij tożsamość.
3. Włącz tożsamość przypisana systemem: Na karcie przypisanej systemu przełącz status na ON i kliknij Zapisz. Stwarza to zarządzaną tożsamość o tej samej nazwie co aplikacja funkcyjna.
4. Przypisz uprawnienia: Przejdź do zasobu (np. Azure Storage lub baza danych SQL), aby uzyskać dostęp do funkcji. Przypisz odpowiednie role do tożsamości zarządzanej, przechodząc do kontroli dostępu (IAM), a następnie przypisania ról i dodając zarządzaną tożsamość do wymaganych ról [1] [3] [7].
Włączanie przypisanego użytkownika tożsamości zarządzanej
1. Utwórz tożsamość przypisaną przez użytkownika: Po pierwsze, utwórz zasób tożsamości zarządzanej przez użytkownika w Azure. Ta tożsamość może być używana w wielu zasobach.
2. Przypisz do aplikacji funkcyjnej: W portalu Azure przejdź do ustawień tożsamości aplikacji funkcji. Przełącz kartę przypisaną użytkownika i kliknij Dodaj. Wyszukaj i wybierz utworzoną tożsamość przypisaną przez użytkownika [1] [6].
3. Konfiguruj ustawienia aplikacji: w przypadku niektórych usług, takich jak Key Vault, może być konieczne ustawienie dodatkowych właściwości (np. „KeyVaultreeferenceIdentity`) za pośrednictwem połączeń API REST, ponieważ ustawienia te nie są dostępne w interfejsie użytkownika [1].
4. Przypisz uprawnienia: Podobnie do tożsamości przypisywanej systemem, przypisz niezbędne role do tożsamości przypisanej użytkownikowi dla zasobów docelowych [6].
Korzystanie z tożsamości zarządzanej w kodzie
Podczas korzystania z zarządzanych tożsamości funkcje Azure mogą wykorzystać biblioteki, takie jak „Azure.Identity` do uwierzytelnienia za pomocą usług Azure bez bezpośredniego obsługi tajemnic. Na przykład możesz użyć „DefaultAZURECREDENTENT”, aby połączyć się z Azure Storage lub bazą danych SQL [5] [9].
Korzyści z zarządzanych tożsamości
- Bezpieczeństwo: Unika potrzeby przechowywania tajemnic w plikach kodowych lub konfiguracyjnych.
- Elastyczność: umożliwia łatwe zarządzanie uprawnieniami do dostępu za pośrednictwem Azure RBAC.
-Skalowalność: Obsługuje zarówno tożsamość przyznaczoną do systemu, jak i przyznaje się użytkownik dla różnych scenariuszy [4] [6].
Cytaty:
[1] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-user-assigned-ananaged-identities/
[2] https://codebankblog.wordpress.com/2020/06/27/azure-function-with-managed-identity-and-azure-sql-db/
[3] https://kumarashwinhubert.com/secure-your-azure-functions-use-ananaged-identity-for-azurewebjobsstorage
[4] https://docs.azure.cn/en-us/azure-functions/functions-identity oparty na-connections-tutorial
[5] https://www.linkedin.com/pulse/how-use-managed-identities-app-service-azure-ali-khan-
[6] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity
[7] https://docs.azure.cn/en-us/azure-functions/functions-identity-access-azure-sql-with-ananaged-identity
[8] https://learn.microsoft.com/en-us/azure/azure-functions/dubleble/dabryd-functions-configure-managed-identity
[9] https://www.transparity.com/app-innovation/azure-functions-with-managed-identity-storage-access/