Tworzenie aplikacji Firmy Microsoft Entra i jednostki usługi, która może uzyskiwać dostęp do zasobów

W tym artykule dowiesz się, jak utworzyć aplikację Firmy Microsoft Entra i jednostkę usługi, która może być używana z kontrolą dostępu opartą na rolach. Podczas rejestrowania nowej aplikacji w usłudze Microsoft Entra ID jednostka usługi jest tworzona automatycznie na potrzeby rejestracji aplikacji. Jednostka usługi jest tożsamością aplikacji w dzierżawie firmy Microsoft Entra. Dostęp do zasobów jest ograniczony przez role przypisane do jednostki usługi, zapewniając kontrolę nad tym, do których zasobów można uzyskiwać dostęp i na jakim poziomie. Ze względów bezpieczeństwa zawsze zaleca się używanie jednostek usługi z zautomatyzowanymi narzędziami, a nie zezwalanie im na logowanie się przy użyciu tożsamości użytkownika.

W tym artykule utworzysz pojedynczą aplikację dzierżawy w witrynie Azure Portal. Ten przykład dotyczy aplikacji biznesowych używanych w jednej organizacji. Do utworzenia jednostki usługi można również użyć programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.

Ważne

Zamiast tworzyć jednostkę usługi, rozważ użycie tożsamości zarządzanych dla zasobów platformy Azure dla tożsamości aplikacji. Jeśli kod jest uruchamiany w usłudze obsługującej tożsamości zarządzane i uzyskuje dostęp do zasobów obsługujących uwierzytelnianie firmy Microsoft Entra, tożsamości zarządzane są dla Ciebie lepszym rozwiązaniem. Aby dowiedzieć się więcej o tożsamościach zarządzanych dla zasobów platformy Azure, w tym o usługach, które obecnie obsługują, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?.

Aby uzyskać więcej informacji na temat relacji między rejestracją aplikacji, obiektami aplikacji i jednostkami usługi, przeczytaj artykuł Application and service principal objects in Microsoft Entra ID (Obiekty aplikacji i jednostki usługi w usłudze Microsoft Entra ID).

Wymagania wstępne

Aby zarejestrować aplikację w dzierżawie firmy Microsoft Entra, potrzebne są następujące elementy:

  • Konto użytkownika Microsoft Entra. Jeśli jeszcze go nie masz, możesz bezpłatnie utworzyć konto.

Uprawnienia wymagane do zarejestrowania aplikacji

Musisz mieć wystarczające uprawnienia, aby zarejestrować aplikację w dzierżawie firmy Microsoft Entra i przypisać do aplikacji rolę w subskrypcji platformy Azure. Aby wykonać te zadania, wymagane jest Application.ReadWrite.Alluprawnienie.

Rejestrowanie aplikacji przy użyciu identyfikatora Entra firmy Microsoft i tworzenie jednostki usługi

Napiwek

Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej Administracja istrator aplikacji w chmurze.

  2. Przejdź do pozycji Identity>Applications> Rejestracje aplikacji a następnie wybierz pozycję Nowa rejestracja.

  3. Nazwij aplikację, na przykład "example-app".

  4. Wybierz obsługiwany typ konta, który określa, kto może korzystać z aplikacji.

  5. W obszarze Identyfikator URI przekierowania wybierz pozycję Sieć Web dla typu aplikacji, którą chcesz utworzyć. Wprowadź identyfikator URI, do którego jest wysyłany token dostępu.

  6. Wybierz pozycję Zarejestruj.

    Type a name for your application.

Utworzono aplikację Microsoft Entra i jednostkę usługi.

Przypisywanie roli do aplikacji

Aby uzyskać dostęp do zasobów w ramach subskrypcji, musisz przypisać rolę do aplikacji. Zdecyduj, która rola oferuje odpowiednie uprawnienia dla aplikacji. Aby dowiedzieć się więcej o dostępnych rolach, zobacz Role wbudowane platformy Azure.

Zakres można ustawić na poziomie subskrypcji, grupy zasobów lub zasobu. Uprawnienia są dziedziczone do niższych poziomów zakresu.

  1. Zaloguj się w witrynie Azure Portal.

  2. Wybierz poziom zakresu, do którego chcesz przypisać aplikację. Aby na przykład przypisać rolę w zakresie subskrypcji, wyszukaj i wybierz pozycję Subskrypcje. Jeśli nie widzisz subskrypcji, której szukasz, wybierz filtr subskrypcji globalnych. Upewnij się, że wybrana subskrypcja jest wybrana dla dzierżawy.

  3. Wybierz pozycję Kontrola dostępu (IAM) .

  4. Wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli.

  5. Na karcie Rola wybierz rolę, którą chcesz przypisać do aplikacji na liście. Aby na przykład umożliwić aplikacji wykonywanie akcji, takich jak ponowne uruchomienie, uruchamianie i zatrzymywanie wystąpień, wybierz rolę Współautor .

  6. Wybierz przycisk Dalej.

  7. Na karcie Członkowie wybierz pozycję Przypisz dostęp do, a następnie wybierz pozycję Użytkownik, grupa lub jednostka usługi

  8. Wybierz pozycję Wybierz członków. Domyślnie aplikacje Firmy Microsoft Entra nie są wyświetlane w dostępnych opcjach. Aby znaleźć aplikację, wyszukaj ją według jej nazwy.

  9. Wybierz przycisk Wybierz, a następnie wybierz pozycję Przejrzyj i przypisz.

    Screenshot showing role assignment.

Twoja jednostka usługi jest skonfigurowana. Możesz zacząć używać go do uruchamiania skryptów lub aplikacji. Aby zarządzać jednostką usługi (uprawnieniami, uprawnieniami ze zgodą użytkownika, zobacz, którzy użytkownicy wyrazili zgodę, przejrzyj uprawnienia, zobacz informacje o logowaniu i nie tylko), przejdź do pozycji Aplikacje dla przedsiębiorstw.

W następnej sekcji pokazano, jak uzyskać wartości potrzebne podczas programowego logowania.

Logowanie się do aplikacji

Podczas programowego logowania przekaż identyfikator dzierżawy i identyfikator aplikacji w żądaniu uwierzytelniania. Potrzebny jest również certyfikat lub klucz uwierzytelniania. Aby uzyskać identyfikator katalogu (dzierżawy) i identyfikator aplikacji:

  1. Przejdź do pozycji Aplikacje tożsamości>> Rejestracje aplikacji a następnie wybierz aplikację.
  2. Na stronie przeglądu aplikacji skopiuj wartość Identyfikator katalogu (dzierżawy) i zapisz ją w kodzie aplikacji.
  3. Skopiuj wartość Identyfikator aplikacji (klienta) i zapisz ją w kodzie aplikacji.

Konfigurowanie uwierzytelniania

Istnieją dwa typy uwierzytelniania dostępne dla jednostek usługi: uwierzytelnianie oparte na hasłach (wpis tajny aplikacji) i uwierzytelnianie oparte na certyfikatach. Zalecamy użycie zaufanego certyfikatu wystawionego przez urząd certyfikacji, ale można również utworzyć wpis tajny aplikacji lub utworzyć certyfikat z podpisem własnym na potrzeby testowania.

Aby przekazać plik certyfikatu:

  1. Przejdź do pozycji Aplikacje tożsamości>> Rejestracje aplikacji a następnie wybierz aplikację.
  2. Wybierz pozycję Certyfikaty i wpisy tajne.
  3. Wybierz pozycję Certyfikaty, a następnie wybierz pozycję Przekaż certyfikat , a następnie wybierz plik certyfikatu do przekazania.
  4. Wybierz Dodaj. Po przekazaniu certyfikatu zostaną wyświetlone wartości odcisku palca, daty rozpoczęcia i wygaśnięcia.

Po zarejestrowaniu certyfikatu w aplikacji w portalu rejestracji aplikacji włącz poufny kod aplikacji klienckiej do korzystania z certyfikatu.

Opcja 2. Testowanie tylko — tworzenie i przekazywanie certyfikatu z podpisem własnym

Opcjonalnie możesz utworzyć certyfikat z podpisem własnym tylko do celów testowych. Aby utworzyć certyfikat z podpisem własnym, otwórz program Windows PowerShell i uruchom polecenie New-SelfSignedCertificate z następującymi parametrami, aby utworzyć certyfikat w magazynie certyfikatów użytkownika na komputerze:

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Wyeksportuj ten certyfikat do pliku przy użyciu przystawki MMC Zarządzanie certyfikatem użytkownika dostępnym z Panel sterowania systemu Windows.

  1. Wybierz pozycję Uruchom z menu Start, a następnie wprowadź polecenie certmgr.msc. Zostanie wyświetlone narzędzie Menedżer certyfikatów dla bieżącego użytkownika.
  2. Aby wyświetlić certyfikaty, w obszarze Certyfikaty — bieżący użytkownik w okienku po lewej stronie rozwiń katalog Osobisty .
  3. Kliknij prawym przyciskiem myszy utworzony certyfikat, wybierz pozycję Wszystkie zadania Eksportuj>.
  4. Postępuj zgodnie z instrukcjami kreatora eksportu certyfikatów.

Aby przekazać certyfikat:

  1. Przejdź do pozycji Aplikacje tożsamości>> Rejestracje aplikacji a następnie wybierz aplikację.
  2. Wybierz pozycję Certyfikaty i wpisy tajne.
  3. Wybierz pozycję Certyfikaty, a następnie wybierz pozycję Przekaż certyfikat , a następnie wybierz certyfikat (istniejący certyfikat lub wyeksportowany certyfikat z podpisem własnym).
  4. Wybierz Dodaj.

Po zarejestrowaniu certyfikatu w aplikacji w portalu rejestracji aplikacji włącz poufny kod aplikacji klienckiej do korzystania z certyfikatu.

Opcja 3. Tworzenie nowego klucza tajnego klienta

Jeśli nie chcesz używać certyfikatu, możesz utworzyć nowy klucz tajny klienta.

  1. Przejdź do pozycji Aplikacje tożsamości>> Rejestracje aplikacji a następnie wybierz aplikację.
  2. Wybierz pozycję Certyfikaty i wpisy tajne.
  3. Wybierz pozycję Wpisy tajne klienta, a następnie wybierz pozycję Nowy klucz tajny klienta.
  4. Podaj opis wpisu tajnego i czas trwania.
  5. Wybierz Dodaj.

Po zapisaniu wpisu tajnego klienta zostanie wyświetlona wartość klucza tajnego klienta. Ta wartość jest wyświetlana tylko raz, dlatego skopiuj tę wartość i zapisz ją, gdzie aplikacja może ją pobrać, zwykle wtedy, gdy aplikacja przechowuje wartości takie jak clientId, lub authoruty w kodzie źródłowym. Podasz wartość wpisu tajnego wraz z identyfikatorem klienta aplikacji, aby zalogować się jako aplikacja.

Screenshot showing the client secret.

Konfigurowanie zasad dostępu dla zasobów

Może być konieczne skonfigurowanie dodatkowych uprawnień do zasobów, do których aplikacja musi uzyskać dostęp. Na przykład należy zaktualizować zasady dostępu magazynu kluczy, aby zapewnić aplikacji dostęp do kluczy, wpisów tajnych lub certyfikatów.

Aby skonfigurować zasady dostępu:

  1. Zaloguj się w witrynie Azure Portal.

  2. Wybierz magazyn kluczy i wybierz pozycję Zasady dostępu.

  3. Wybierz pozycję Dodaj zasady dostępu, a następnie wybierz uprawnienia klucza, wpisu tajnego i certyfikatu, które chcesz przyznać aplikacji. Wybierz wcześniej utworzoną jednostkę usługi.

  4. Wybierz pozycję Dodaj , aby dodać zasady dostępu.

  5. Zapisz.

    Add access policy

Następne kroki