używanie portalu do tworzenia aplikacji usługi Azure AD i jednostki usługi w celu uzyskiwania dostępu do zasobów

W tym artykule pokazano, jak utworzyć nową aplikację usługi Azure Active Directory (Azure AD) i jednostkę usługi, która może być używana z kontrolą dostępu opartą na rolach. Jeśli masz aplikacje, usługi hostowane lub zautomatyzowane narzędzia, które muszą uzyskiwać dostęp do zasobów lub modyfikować je, możesz utworzyć tożsamość dla aplikacji. Ta tożsamość jest określana jako jednostka usługi. 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 ze zautomatyzowanymi narzędziami, zamiast zezwalać im na logowanie za pomocą tożsamości użytkownika.

W tym artykule pokazano, jak za pomocą portalu utworzyć jednostkę usługi w witrynie Azure Portal. Koncentruje się ona na aplikacji z jedną dzierżawą, w której aplikacja ma być uruchamiana tylko w jednej organizacji. Aplikacje z jedną dzierżawą są zwykle używane dla aplikacji biznesowych uruchamianych w organizacji. Możesz również użyć programu Azure PowerShell do utworzenia jednostki usługi.

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 usługi Azure AD, 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 ją obsługują, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?.

Rejestracja aplikacji, obiekty aplikacji i jednostki usługi

Nie ma możliwości bezpośredniego utworzenia jednostki usługi przy użyciu witryny Azure Portal. Podczas rejestrowania aplikacji za pośrednictwem witryny Azure Portal obiekt aplikacji i jednostka usługi są automatycznie tworzone w katalogu macierzysnym lub dzierżawie. 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 Azure Active Directory (Obiekty aplikacji i jednostki usługi w usłudze Azure Active Directory).

Uprawnienia wymagane do zarejestrowania aplikacji

Musisz mieć wystarczające uprawnienia do zarejestrowania aplikacji w dzierżawie usługi Azure AD i przypisania do aplikacji roli w ramach subskrypcji platformy Azure.

Sprawdzanie uprawnień usługi Azure AD

  1. Wybierz pozycję Azure Active Directory.

  2. Znajdź swoją rolę w obszarze Przegląd —>mój kanał informacyjny. Jeśli masz rolę Użytkownik , upewnij się, że użytkownicy niebędący administratorami mogą rejestrować aplikacje.

    Screenshot showing how to find your role.

  3. W okienku po lewej stronie wybierz pozycję Użytkownicy , a następnie pozycję Ustawienia użytkownika.

  4. Sprawdź ustawienie Rejestracje aplikacji . Tę wartość może ustawić tylko administrator. Jeśli jest ustawiona wartość Tak, każdy użytkownik w dzierżawie usługi Azure AD może zarejestrować aplikację.

Jeśli ustawienie rejestracje aplikacji ma wartość Nie, tylko użytkownicy z rolą administratora mogą rejestrować tego typu aplikacje. Zobacz Role wbudowane usługi Azure AD , aby dowiedzieć się więcej o dostępnych rolach administratora i określonych uprawnieniach w usłudze Azure AD, które są przekazywane do każdej roli. Jeśli twoje konto ma przypisaną rolę Użytkownika, ale ustawienie rejestracji aplikacji jest ograniczone do użytkowników administracyjnych, poproś administratora o przypisanie Ci jednej z ról administratora, które mogą tworzyć wszystkie aspekty rejestracji aplikacji i zarządzać nimi, lub aby umożliwić użytkownikom rejestrowanie aplikacji.

Sprawdzanie uprawnień subskrypcji platformy Azure

W ramach subskrypcji platformy Azure konto musi mieć Microsoft.Authorization/*/Write dostęp do przypisywania roli do aplikacji usługi AD. Ta akcja jest wykonywana za pośrednictwem roli Właściciel lub Administrator dostępu użytkowników. Jeśli Twoje konto ma przypisaną rolę Współautor , nie masz odpowiednich uprawnień. Podczas próby przypisania jednostki usługi do roli zostanie wyświetlony błąd.

Aby sprawdzić uprawnienia subskrypcji:

  1. Wyszukaj i wybierz pozycję Subskrypcje lub wybierz pozycję Subskrypcjena stronie głównej.

    Search

  2. Wybierz subskrypcję, w której chcesz utworzyć jednostkę usługi.

    Select subscription for assignment

    Jeśli nie widzisz subskrypcji, której szukasz, wybierz filtr globalnych subskrypcji. Upewnij się, że wybrana jest subskrypcja portalu.

  3. Wybierz pozycję Moje uprawnienia. Następnie wybierz pozycję Kliknij tutaj, aby wyświetlić pełne szczegóły dostępu dla tej subskrypcji.

    Select the subscription you want to create the service principal in

  4. Wybierz pozycję Przypisania ról , aby wyświetlić przypisane role i określić, czy masz odpowiednie uprawnienia do przypisywania roli do aplikacji usługi AD. Jeśli nie, poproś administratora subskrypcji o dodanie Cię do roli Administrator dostępu użytkowników. Na poniższej ilustracji użytkownik ma przypisaną rolę Właściciel, co oznacza, że użytkownik ma odpowiednie uprawnienia.

    Screenshot showing the user is assigned the Owner role.

Rejestrowanie aplikacji w usłudze Azure AD i tworzenie jednostki usługi

Przejdźmy bezpośrednio do tworzenia tożsamości. Jeśli wystąpi problem, sprawdź wymagane uprawnienia , aby upewnić się, że Twoje konto może utworzyć tożsamość.

  1. Zaloguj się do konta platformy Azure za pośrednictwem witryny Azure Portal.

  2. Wybierz pozycję Azure Active Directory.

  3. Wybierz pozycję Rejestracje aplikacji.

  4. Wybierz pozycję Nowa rejestracja.

  5. Nadaj aplikacji nazwę. Wybierz obsługiwany typ konta, który określa, kto może korzystać z aplikacji. 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. Nie można tworzyć poświadczeń dla aplikacji natywnej. Nie można użyć tego typu dla aplikacji zautomatyzowanej. Po ustawieniu wartości wybierz pozycję Zarejestruj.

    Type a name for your application

Utworzono aplikację usługi Azure AD i jednostkę usługi.

Uwaga

Możesz zarejestrować wiele aplikacji o tej samej nazwie w usłudze Azure AD, ale aplikacje muszą mieć różne identyfikatory aplikacji (klienta).

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. Na przykład dodanie aplikacji do roli Czytelnik dla grupy zasobów oznacza, że może odczytać grupę zasobów i wszystkie zawarte w niej zasoby.

  1. W witrynie Azure Portal wybierz poziom zakresu, do którego chcesz przypisać aplikację. Aby na przykład przypisać rolę w zakresie subskrypcji, wyszukaj i wybierz pozycję Subskrypcje lub wybierz pozycję Subskrypcjena stronie głównej.

    For example, assign a role at the subscription scope

  2. Wybierz określoną subskrypcję, do których chcesz przypisać aplikację.

    Select subscription for assignment

    Jeśli nie widzisz subskrypcji, której szukasz, wybierz filtr globalnych subskrypcji. Upewnij się, że wybrana jest subskrypcja portalu.

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

  4. Wybierz pozycję Wybierz pozycję Dodaj>dodaj przypisanie roli , aby otworzyć stronę Dodawanie przypisania roli .

  5. Wybierz rolę, którą chcesz przypisać do aplikacji. Aby na przykład umożliwić aplikacji wykonywanie akcji, takich jak ponowne uruchamianie, uruchamianie i zatrzymywanie wystąpień, wybierz rolę Współautor . Dowiedz się więcej o dostępnych rolach Domyślnie aplikacje usługi Azure AD nie są wyświetlane w dostępnych opcjach. Aby znaleźć aplikację, wyszukaj nazwę i wybierz ją.

    Przypisz rolę Współautor do aplikacji w zakresie subskrypcji. Aby uzyskać szczegółowe instrukcje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.

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, które są potrzebne podczas programowego logowania.

Pobieranie wartości identyfikatora dzierżawy i aplikacji na potrzeby logowania

Podczas programowego logowania przekaż identyfikator dzierżawy przy użyciu żądania uwierzytelnienia i identyfikator aplikacji. Potrzebny jest również certyfikat lub klucz uwierzytelniania (opisany w poniższej sekcji). Aby uzyskać te wartości, wykonaj następujące kroki:

  1. Wybierz pozycję Azure Active Directory.

  2. W obszarze Rejestracje aplikacji w usłudze Azure AD wybierz aplikację.

  3. Skopiuj identyfikator katalogu (dzierżawy) i zapisz go w kodzie aplikacji.

    Copy the directory (tenant ID) and store it in your app code

    Identyfikator katalogu (dzierżawy) można również znaleźć na domyślnej stronie przeglądu katalogu.

  4. Skopiuj identyfikator aplikacji i zapisz go w kodzie aplikacji.

    Copy the application (client) ID

Uwierzytelnianie: dwie opcje

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żywanie certyfikatu, ale można również utworzyć wpis tajny aplikacji.

Opcja 1. Przekazywanie certyfikatu

Jeśli go masz, możesz użyć istniejącego certyfikatu. Opcjonalnie możesz utworzyć certyfikat z podpisem własnym tylko do celów testowych. Aby utworzyć certyfikat z podpisem własnym, otwórz program 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 za pomocą przystawki MMC Zarządzanie certyfikatem użytkownika dostępnym w Panelu sterowania systemu Windows.

  1. Wybierz polecenie 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. Nie eksportuj klucza prywatnego i eksportuj go do elementu . Plik CER.

Aby przekazać certyfikat:

  1. Wybierz pozycję Azure Active Directory.

  2. W obszarze Rejestracje aplikacji w usłudze Azure AD wybierz aplikację.

  3. Wybierz pozycję Wpisy tajne certyfikatów&.

  4. Wybierz pozycję Certyfikaty>Przekaż certyfikat i wybierz certyfikat (istniejący certyfikat lub wyeksportowany certyfikat z podpisem własnym).

    Select Upload certificate and select the one you want to add

  5. Wybierz pozycję Dodaj.

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

Opcja 2. Tworzenie nowego wpisu tajnego aplikacji

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

  1. Wybierz pozycję Azure Active Directory.

  2. W obszarze Rejestracje aplikacji w usłudze Azure AD wybierz aplikację.

  3. Wybierz pozycję Wpisy tajne certyfikatów&.

  4. Wybierz pozycję Wpisy tajne klienta —> nowy klucz tajny klienta.

  5. Podaj opis wpisu tajnego i czas trwania. Po zakończeniu wybierz pozycję Dodaj.

    Po zapisaniu klucza tajnego klienta zostanie wyświetlona wartość klucza tajnego klienta. Skopiuj tę wartość, ponieważ nie będzie można później pobrać klucza. Podasz wartość klucza z identyfikatorem aplikacji, aby zalogować się jako aplikacja. Zapisz wartość klucza w miejscu, z którego aplikacja będzie mogła ją pobrać.

    Copy the secret value because you can't retrieve this later

Konfigurowanie zasad dostępu dla zasobów

Należy pamiętać, że 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.

  1. W witrynie Azure Portal przejdź do magazynu kluczy i wybierz pozycję Zasady dostępu.
  2. Wybierz pozycję Dodaj zasady dostępu, a następnie wybierz uprawnienia klucza, wpisu tajnego i certyfikatu, które chcesz przyznać aplikacji. Wybierz utworzoną wcześniej jednostkę usługi.
  3. Wybierz pozycję Dodaj , aby dodać zasady dostępu, a następnie pozycję Zapisz , aby zatwierdzić zmiany. Add access policy

Następne kroki