Podaj poświadczenia tożsamości aplikacji, gdy nie ma użytkownika

Jako deweloper, kiedy tworzysz aplikacje bez interakcji z użytkownikiem, nie masz użytkownika, którego mógłbyś poprosić o podanie nazwy użytkownika i hasła lub użycie uwierzytelniania wieloskładnikowego (MFA). Musisz podać tożsamość aplikacji samodzielnie. W tym artykule wyjaśniono, dlaczego najlepsze rozwiązanie dotyczące poświadczeń klienta Zero Trust dla usług (aplikacji innych niż użytkownicy) na platformie Azure to tożsamości zarządzane dla zasobów platformy Azure.

Problemy z kontami usług

Użycie konta usługi (użycie konta użytkownika dla usługi) nie jest dobrym rozwiązaniem. Microsoft Entra ID nie posiada pojęcia konta usługi. Gdy administratorzy tworzą konta użytkowników dla usług, a następnie udostępniają hasła deweloperom, są niezabezpieczone. Nie może być bez hasła ani mieć uwierzytelniania wieloskładnikowego. Zamiast używać konta użytkownika jako konta usługi, najlepszym rozwiązaniem jest użycie jednej z następujących opcji poświadczeń klienta.

Opcje poświadczeń klienta

Istnieją cztery typy poświadczeń klienta, które mogą identyfikować aplikację.

Klucz tajny lub certyfikat?

Klucze tajne są akceptowalne w zaawansowanych infrastrukturach zarządzania wpisami tajnymi (na przykład w usłudze Azure Key Vault). Nie można jednak prawidłowo chronić kluczy tajnych w scenariuszach, w których specjalista IT generuje klucz tajny, a następnie e-maile go do dewelopera.

Poświadczenia klienta oparte na certyfikatach są bezpieczniejsze niż klucze tajne. Możesz lepiej zarządzać certyfikatami, ponieważ same w sobie nie są tajemnicą. Tajemnica nie jest częścią transmisji. Gdy używasz klucza tajnego, klient wysyła rzeczywistą wartość klucza tajnego do identyfikatora Entra firmy Microsoft. W przypadku korzystania z certyfikatu klucz prywatny certyfikatu nigdy nie opuszcza urządzenia. Nawet jeśli ktoś przechwytuje, dekoduje i deszyfruje transmisję, tajemnica jest nadal bezpieczna, ponieważ przechwytująca strona nie posiada klucza prywatnego.

Najlepsze rozwiązanie: używanie tożsamości zarządzanych dla zasobów platformy Azure

Podczas tworzenia usług (aplikacji nieużytkowników) na platformie Azure tożsamości zarządzane dla zasobów platformy Azure zapewniają automatycznie zarządzaną tożsamość w usłudze Microsoft Entra ID. Aplikacja może uwierzytelniać się w dowolnej usłudze obsługującej uwierzytelnianie firmy Microsoft Entra bez zarządzania poświadczeniami. Nie musisz zarządzać tajnymi danymi. Nie musisz zajmować się możliwością ich utraty lub błędnej obsługi. Źli aktorzy nie mogą przechwycić tajemnic, które nie przemieszczają się przez sieć. Tożsamości zarządzane dla zasobów platformy Azure to najlepsze rozwiązanie podczas tworzenia usług na platformie Azure.

Następne kroki