Tworzenie aplikacji Firmy Microsoft Entra
Teraz, gdy masz lepsze zrozumienie podstawowych zasad i korzyści związanych z identyfikatorem Entra firmy Microsoft, musisz określić, jak można używać jej możliwości do implementowania uwierzytelniania i autoryzacji dla aplikacji. Zdajesz sobie sprawę, że aby ułatwić zabezpieczanie danych klientów, należy upewnić się, że implementacja zostanie zintegrowana z mechanizmami kontroli dostępu postgreSQL. Podjęto decyzję o zidentyfikowaniu zadań związanych z opracowywaniem, aprowizowaniem i zarządzaniem aplikacjami firmy Microsoft Entra. Chcesz również określić, jak można rozwiązać konieczność zapewnienia dostępu do aplikacji wielu klientom.
Jakie są podstawowe zadania identyfikatora entra firmy Microsoft związane z aplikacją?
Aby zaimplementować aplikacje oparte na identyfikatorach Entra firmy Microsoft, należy wykonać kilka zadań zarządzania związanych z aplikacjami, w tym rejestrowanie, konfigurowanie uprawnień i zarządzanie wpisami tajnymi.
Co to jest rejestracja aplikacji?
W przypadku działania w środowisku Microsoft Entra użytkownik uwierzytelnia się w aplikacji w dwóch etapach:
- Najpierw identyfikator Entra firmy Microsoft weryfikuje tożsamość użytkownika. Po pomyślnym uwierzytelnieniu identyfikator Entra firmy Microsoft wystawia tokeny zawierające informacje odzwierciedlające pomyślne uwierzytelnianie.
- Użytkownik przekazuje tokeny do aplikacji. Aplikacja weryfikuje tokeny zabezpieczające użytkownika, aby upewnić się, że uwierzytelnianie zakończyło się pomyślnie.
Aby przeprowadzić taką walidację, aplikacja musi mieć możliwość bezpiecznego komunikowania się z identyfikatorem Entra firmy Microsoft. Z kolei wymaga to, aby sama aplikacja działała jako podmiot zabezpieczeń firmy Microsoft Entra. Aby to możliwe, należy upewnić się, że aplikacja jest reprezentowana w jakiejś formie w tej samej dzierżawie firmy Microsoft Entra, która zawiera konto użytkownika uwierzytelniającego.
Istnieją dwie reprezentacje aplikacji w identyfikatorze Entra firmy Microsoft:
- Obiekt aplikacji, który definiuje właściwości aplikacji.
- Jednostka usługi, która zapewnia funkcje uwierzytelniania i autoryzacji oraz odwołuje się do obiektu aplikacji.
Obiekty aplikacji można tworzyć bezpośrednio w witrynie Azure Portal w bloku Rejestracje aplikacji. W przypadku własnych aplikacji niestandardowych taka rejestracja automatycznie tworzy odpowiednią jednostkę usługi. Następnie można zarządzać jednostkami usługi w witrynie Azure Portal w bloku Aplikacje dla przedsiębiorstw.
Podczas rejestracji aplikacji można określić identyfikator URI (URI) przekierowania aplikacji. Jego wartość określa lokalizację, do której serwer autoryzacji przekierowuje użytkownika po pomyślnym autoryzacji aplikacji. Serwer autoryzacji wysyła kod lub token do identyfikatora URI przekierowania, dlatego ważne jest, aby zarejestrować poprawną lokalizację w ramach procesu rejestracji aplikacji.
Uwaga
Identyfikator URI przekierowania musi zaczynać się od https, chyba że odwołuje się do hosta lokalnego, w tym przypadku można użyć polecenia http://localhost
. Uwzględniana jest również wielkość liter.
Co to są uprawnienia aplikacji?
Aplikacje integrujące się z identyfikatorem Entra firmy Microsoft są zgodne z modelem autoryzacji, który pozwala kontrolować w sposób szczegółowy jego uprawnienia do innych zintegrowanych aplikacji i zasobów firmy Microsoft Entra. Identyfikator Entra firmy Microsoft opiera się na modelu autoryzacji OAuth 2.0 w celu zaimplementowania tych uprawnień. W usłudze OAuth 2.0 uprawnienia są zorganizowane w zestawy, często określane jako zakresy.
Jako deweloper żądasz uprawnień wymaganych przez aplikację, określając ciąg uprawnień w ramach konfiguracji. Na przykład przez ustawienie ciągu uprawnień na "https://graph.microsoft.com/Calendars.Read", wskazujesz, że aplikacja będzie musiała odczytywać kalendarze użytkowników w programie Microsoft Graph. Aplikacja musi mieć przyznane te uprawnienia za pośrednictwem zgody, która musi zostać udzielona przez użytkownika Microsoft Entra lub administratora firmy Microsoft Entra, w zależności od zakresu tych uprawnień.
Identyfikator Entra firmy Microsoft obsługuje dwa typy uprawnień:
- Delegowane uprawnienia są używane przez aplikacje interaktywne z zalogowanym użytkownikiem. W związku z tym aplikacja działa w imieniu zalogowanego użytkownika, gdy uzyskuje dostęp do zasobu docelowego.
- Uprawnienia aplikacji są używane przez aplikacje, które działają bez polegania na zalogowanym użytkowniku, takim jak usługi w tle. Te aplikacje wymagają zgody administracyjnej.
Co to są wpisy tajne aplikacji?
Istnieją dwa typy uwierzytelniania dostępne dla jednostek usługi:
- Uwierzytelnianie oparte na hasłach, które opiera się na wpisach tajnych aplikacji, które można wygenerować bezpośrednio w witrynie Azure Portal. Podczas generowania wpisu tajnego należy określić jego okres istnienia.
- Uwierzytelnianie oparte na certyfikatach, które opiera się na certyfikatach przekazywanych do identyfikatora Entra firmy Microsoft.
Uwaga
Jeśli aplikacja będzie hostowana przez zasób obliczeniowy platformy Azure, taki jak maszyna wirtualna platformy Azure, aplikacja internetowa usługi aplikacja systemu Azure Service lub klaster usługi AKS, zamiast używać jednostek usługi, rozważ użycie tożsamości zarządzanych dla tożsamości aplikacji. Eliminuje to konieczność zarządzania hasłami lub certyfikatami na potrzeby uwierzytelniania.
Jakie są różne typy scenariuszy uwierzytelniania aplikacji?
Przepływ uwierzytelniania i odpowiednie szczegóły konfiguracji zależą od typu aplikacji. Typowe kategorie typów aplikacji to:
- Aplikacje oparte na przeglądarce. Są to aplikacje internetowe, w których tokeny są uzyskiwane przez aplikację JavaScript lub TypeScript działającą w przeglądarce. Te aplikacje często używają platformy, takiej jak Angular, React lub Vue. MSAL.js jest jedyną biblioteką uwierzytelniania firmy Microsoft, która obsługuje umowy SPA.
- Publiczne aplikacje klienckie. Są to aplikacje, które zawsze korzystają z zalogowanych użytkowników w celu uzyskania tokenów. Takie aplikacje obejmują aplikacje klasyczne i mobilne wywołujące internetowe interfejsy API w imieniu zalogowanych użytkowników.
- Poufne aplikacje klienckie. Te uzyskują tokeny samodzielnie. Aplikacje w tej kategorii obejmują aplikacje internetowe wywołujące internetowy interfejs API, internetowe interfejsy API wywołujące inny internetowy interfejs API, demony systemu Linux i usługi systemu Windows.
Dwa pierwsze elementy powyżej uwierzytelniają użytkownika, natomiast trzeci uwierzytelnia tylko aplikację lub usługę między użytkownikiem a usługą zaplecza. W takim przypadku usługa zaplecza nie będzie wiedziała nic o użytkowniku końcowym, ale będzie wiedziała, której aplikacji używa. Możesz na przykład traktować aplikację korzystającą z usługi Azure Maps jako usługi zaplecza. Usługa map musi wiedzieć, że autoryzowana aplikacja wywołuje ją w celu poprawnego rozliczania, ale nie musi wiedzieć nic o użytkowniku końcowym.
Jaka jest różnica między aplikacjami firmy Microsoft Entra z jedną dzierżawą i wielodostępną?
Jako deweloper możesz skonfigurować aplikację tak, aby mogła być jednodostępna lub wielodostępna podczas rejestracji aplikacji:
- Aplikacje z jedną dzierżawą są dostępne tylko w dzierżawie, w której zostały zarejestrowane i są określane jako dzierżawa domowa.
- Aplikacje wielodostępne są dostępne dla użytkowników zarówno w dzierżawie głównej, jak i w innych dzierżawach firmy Microsoft Entra.
Jeśli używasz witryny Azure Portal do rejestracji aplikacji, określ dzierżawę aplikacji, ustawiając jej właściwość odbiorców na jedną z następujących wartości:
- Tylko konta w tym katalogu. Spowoduje to skonfigurowanie z jedną dzierżawą. Dzięki temu można przyznać aplikacji dostęp do dowolnego podmiotu zabezpieczeń w dzierżawie, w tym kont gościa.
- Konta w dowolnym katalogu Microsoft Entra. Spowoduje to skonfigurowanie wielodostępne. Dzięki temu użytkownicy spoza organizacji mogą zarejestrować aplikację w odpowiednich dzierżawach firmy Microsoft Entra.
- Konta w dowolnym katalogu Microsoft Entra i osobistych kontach Microsoft (takich jak Skype, Xbox, Outlook.com). Powoduje to również konfigurację wielodostępną, ale umożliwia użytkownikom z osobistymi kontami Microsoft korzystanie z aplikacji.
Uwaga
Obiekt aplikacji istnieje tylko w dzierżawie głównej, ale w przypadku konfiguracji wielodostępnej można odwoływać się do niej przez wiele jednostek usługi w różnych dzierżawach firmy Microsoft Entra.