Podaj poświadczenia tożsamości aplikacji, gdy nie ma użytkownika
Gdy jako deweloper tworzysz aplikacje nieużytkownika, nie masz użytkownika, którego możesz wyświetlić monit o podanie nazwy użytkownika i hasła lub 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" (tworzenie konta użytkownika i używanie go dla usługi) nie jest dobrym rozwiązaniem. Identyfikator Entra firmy Microsoft nie ma pojęcia konta usługi. Gdy administratorzy tworzą konta użytkowników dla usługi, 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
- Certyfikat
- Tożsamości zarządzane dla zasobów platformy Azure
- Poświadczenia federacyjne
Klucz tajny lub certyfikat?
Klucze tajne są akceptowalne, gdy w przedsiębiorstwie istnieje zaawansowana infrastruktura zarządzania wpisami tajnymi (na przykład Usługa Azure Key Vault). Jednak klucze tajne w scenariuszach, w których specjalista IT generuje klucz tajny, a następnie e-maile go do dewelopera, który następnie może przechowywać go w niezabezpieczonej lokalizacji, takiej jak arkusz kalkulacyjny, powoduje, że klucze tajne nie będą prawidłowo chronione.
Poświadczenia klienta oparte na certyfikatach są bezpieczniejsze niż klucze tajne. Certyfikaty są lepiej zarządzane, ponieważ nie są one wpisem tajnym. Wpis tajny 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 deszyfrowania transmisji, wpis tajny jest nadal bezpieczny, ponieważ przechwycenie strony nie ma klucza prywatnego.
Najlepsze rozwiązanie: używanie tożsamości zarządzanych dla zasobów platformy Azure
Podczas tworzenia usług (aplikacji innych niż użytkownicy) na platformie Azure tożsamości zarządzane dla zasobów platformy Azure zapewniają automatycznie zarządzaną tożsamość w identyfikatorze Entra firmy Microsoft. 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ć wpisami tajnymi; nie musisz zajmować się możliwością ich utraty lub błędnej obsługi. Nie można przechwycić wpisów tajnych, ponieważ nie są przenoszone przez sieć. Tożsamości zarządzane dla zasobów platformy Azure to najlepsze rozwiązanie w przypadku tworzenia usług na platformie Azure.
Następne kroki
- Obsługiwane typy tożsamości i kont dla aplikacji z jedną i wieloma dzierżawami wyjaśniają, jak można wybrać, czy aplikacja zezwala tylko użytkownikom z dzierżawy Microsoft Entra, dowolnej dzierżawy firmy Microsoft lub użytkowników z osobistymi kontami Microsoft.
- Opracowywanie strategii uprawnień aplikacji ułatwia podjęcie decyzji o podejściu uprawnień aplikacji do zarządzania poświadczeniami.
- Podaj poświadczenia tożsamości aplikacji, gdy żaden użytkownik nie wyjaśnia, dlaczego tożsamości zarządzane dla zasobów platformy Azure to najlepsze rozwiązanie dotyczące poświadczeń klienta dla usług (aplikacji innych niż użytkownicy) na platformie Azure.
- Najlepsze rozwiązania dotyczące autoryzacji pomagają zaimplementować najlepsze modele autoryzacji, uprawnień i zgody dla aplikacji.
- Użyj najlepszych rozwiązań dotyczących tworzenia tożsamości zero trust i zarządzania dostępem w cyklu tworzenia aplikacji, aby utworzyć bezpieczne aplikacje.
- Tworzenie aplikacji z podejściem Zero Trust do tożsamości zawiera omówienie uprawnień i najlepszych rozwiązań dotyczących dostępu.