Instrukcje: używanie portalu do tworzenia aplikacji usługi Azure AD i jednostki usługi w celu uzyskiwania dostępu do zasobówHow to: Use the portal to create an Azure AD application and service principal that can access resources

W tym artykule opisano sposób tworzenia nowej aplikacji Azure Active Directory (Azure AD) i nazwy głównej usługi, która może być używana z kontrolą dostępu opartą na rolach.This article shows you how to create a new Azure Active Directory (Azure AD) application and service principal that can be used with the role-based access control. W przypadku aplikacji, usług hostowanych lub zautomatyzowanych narzędzi, które wymagają dostępu lub modyfikacji zasobów, można utworzyć tożsamość aplikacji.When you have applications, hosted services, or automated tools that needs to access or modify resources, you can create an identity for the app. Ta tożsamość jest określana jako jednostka usługi.This identity is known as a service principal. Dostęp do zasobów jest ograniczony przez role przypisane do jednostki usługi, co zapewnia kontrolę nad zasobami, do których można uzyskać dostęp oraz na którym poziomie.Access to resources is restricted by the roles assigned to the service principal, giving you control over which resources can be accessed and at which level. 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.For security reasons, it's always recommended to use service principals with automated tools rather than allowing them to log in with a user identity.

W tym artykule pokazano, jak za pomocą portalu utworzyć nazwę główną usługi w Azure Portal.This article shows you how to use the portal to create the service principal in the Azure portal. Koncentruje się na aplikacji z jedną dzierżawą, w której aplikacja jest przeznaczona do działania tylko w jednej organizacji.It focuses on a single-tenant application where the application is intended to run within only one organization. Zwykle używasz aplikacji z jedną dzierżawą dla aplikacji biznesowych, które działają w organizacji.You typically use single-tenant applications for line-of-business applications that run within your organization. Możesz również użyć Azure PowerShell, aby utworzyć jednostkę usługi.You can also use Azure PowerShell to create a service principal.

Ważne

Zamiast tworzyć jednostkę usługi, rozważ użycie zarządzanych tożsamości dla zasobów platformy Azure dla Twojej tożsamości aplikacji.Instead of creating a service principal, consider using managed identities for Azure resources for your application identity. Jeśli kod jest uruchamiany w usłudze obsługującej zarządzane tożsamości i uzyskuje dostęp do zasobów, które obsługują uwierzytelnianie usługi Azure AD, tożsamości zarządzane są dla Ciebie lepszym rozwiązaniem.If your code runs on a service that supports managed identities and accesses resources that support Azure AD authentication, managed identities are a better option for you. Aby dowiedzieć się więcej na temat tożsamości zarządzanych dla zasobów platformy Azure, w tym usług, które są obecnie obsługiwane, zobacz temat co to są tożsamości zarządzane dla zasobów platformy Azure?.To learn more about managed identities for Azure resources, including which services currently support it, see What is managed identities for Azure resources?.

Rejestracja aplikacji, obiekty aplikacji i jednostki usługiApp registration, app objects, and service principals

Nie ma możliwości bezpośredniego tworzenia nazwy głównej usługi przy użyciu Azure Portal.There is no way to directly create a service principal using the Azure portal. Po zarejestrowaniu aplikacji za pomocą Azure Portal, obiekt aplikacji i nazwa główna usługi są tworzone automatycznie w katalogu macierzystym lub dzierżawie.When you register an application through the Azure portal, an application object and service principal are automatically created in your home directory or tenant. Aby uzyskać więcej informacji na temat relacji między rejestracją aplikacji, obiektami aplikacji i jednostkami usługi, Odczytaj aplikacje i obiekty główne usługi w Azure Active Directory.For more information on the relationship between app registration, application objects, and service principals, read Application and service principal objects in Azure Active Directory.

Uprawnienia wymagane do zarejestrowania aplikacjiPermissions required for registering an app

Musisz mieć wystarczające uprawnienia, aby zarejestrować aplikację w dzierżawie usługi Azure AD i przypisać ją do aplikacji w ramach subskrypcji platformy Azure.You must have sufficient permissions to register an application with your Azure AD tenant, and assign to the application a role in your Azure subscription.

Sprawdź uprawnienia usługi Azure ADCheck Azure AD permissions

  1. Wybierz pozycję Azure Active Directory.Select Azure Active Directory.

  2. Zanotuj rolę użytkownika.Note your role. Jeśli masz rolę użytkownika , musisz upewnić się, że użytkownicy niebędący administratorami mogą rejestrować aplikacje.If you have the User role, you must make sure that non-administrators can register applications.

    Znajdź rolę.

  3. W okienku po lewej stronie wybierz pozycję Ustawienia użytkownika.In the left pane, select User settings.

  4. Sprawdź ustawienie rejestracje aplikacji .Check the App registrations setting. Tę wartość można ustawić tylko przez administratora.This value can only be set by an administrator. W przypadku wybrania opcji takkażdy użytkownik w dzierżawie usługi Azure AD może zarejestrować aplikację.If set to Yes, any user in the Azure AD tenant can register an app.

Jeśli ustawienie rejestracje aplikacji ma wartość nie, tylko użytkownicy z rolą administratora mogą rejestrować te typy aplikacji.If the app registrations setting is set to No, only users with an administrator role may register these types of applications. Zobacz dostępne role i uprawnienia roli , aby dowiedzieć się więcej na temat dostępnych ról administratorów i określonych uprawnień w usłudze Azure AD, które są nadawane każdej roli.See available roles and role permissions to learn about available administrator roles and the specific permissions in Azure AD that are given to each role. Jeśli Twoje konto ma przypisaną rolę użytkownika, ale ustawienie rejestracji aplikacji jest ograniczone do użytkowników administracyjnych, poproszenie administratora o przypisanie jednej z ról administratora, które mogą tworzyć wszystkie aspekty rejestracji aplikacji i zarządzać nimi, lub umożliwić użytkownikom rejestrowanie aplikacji.If your account is assigned the User role, but the app registration setting is limited to admin users, ask your administrator to either assign you one of the administrator roles that can create and manage all aspects of app registrations, or to enable users to register apps.

Sprawdź uprawnienia subskrypcji platformy AzureCheck Azure subscription permissions

W ramach subskrypcji platformy Azure Twoje konto musi mieć Microsoft.Authorization/*/Write dostęp, aby przypisać rolę do aplikacji usługi AD.In your Azure subscription, your account must have Microsoft.Authorization/*/Write access to assign a role to an AD app. Ta akcja jest wykonywana za pośrednictwem roli Właściciel lub Administrator dostępu użytkowników.This action is granted through the Owner role or User Access Administrator role. Jeśli Twoje konto ma przypisaną rolę współautor , nie masz wystarczających uprawnień.If your account is assigned the Contributor role, you don't have adequate permission. Wystąpił błąd podczas próby przypisania jednostki usługi do roli.You will receive an error when attempting to assign the service principal a role.

Aby sprawdzić uprawnienia do subskrypcji:To check your subscription permissions:

  1. Wyszukaj i wybierz pozycję subskrypcjelub wybierz pozycję subskrypcje na stronie głównej .Search for and select Subscriptions, or select Subscriptions on the Home page.

    Wyszukiwanie

  2. Wybierz subskrypcję, w której chcesz utworzyć nazwę główną usługi.Select the subscription you want to create the service principal in.

    Wybierz subskrypcję do przypisania

    Jeśli nie widzisz subskrypcji, której szukasz, wybierz pozycję Filtr subskrypcje globalne.If you don't see the subscription you're looking for, select global subscriptions filter. Upewnij się, że wybrano subskrypcję dla portalu.Make sure the subscription you want is selected for the portal.

  3. Wybierz pozycję Moje uprawnienia.Select My permissions. Następnie wybierz pozycję kliknij tutaj, aby wyświetlić pełne szczegóły dostępu dla tej subskrypcji.Then, select Click here to view complete access details for this subscription.

    Wybierz subskrypcję, w której chcesz utworzyć nazwę główną usługi

  4. Wybierz pozycję Wyświetl w przypisaniach ról , aby wyświetlić przypisane role i określić, czy masz odpowiednie uprawnienia do przypisywania roli do aplikacji usługi AD.Select View in Role assignments to view your assigned roles, and determine if you have adequate permissions to assign a role to an AD app. Jeśli nie, skontaktuj się z administratorem subskrypcji, aby dodać Cię do roli administratora dostępu użytkownika.If not, ask your subscription administrator to add you to User Access Administrator role. Na poniższej ilustracji użytkownik ma przypisaną rolę właściciela, co oznacza, że użytkownik ma odpowiednie uprawnienia.In the following image, the user is assigned the Owner role, which means that user has adequate permissions.

    Ten przykład pokazuje, że użytkownik ma przypisaną rolę właściciela

Rejestrowanie aplikacji w usłudze Azure AD i tworzenie jednostki usługiRegister an application with Azure AD and create a service principal

Przejdźmy bezpośrednio do tworzenia tożsamości.Let's jump straight into creating the identity. Jeśli napotkasz problem, sprawdź wymagane uprawnienia , aby upewnić się, że konto może utworzyć tożsamość.If you run into a problem, check the required permissions to make sure your account can create the identity.

  1. Zaloguj się do konta platformy Azure za pomocą Azure Portal.Sign in to your Azure Account through the Azure portal.

  2. Wybierz pozycję Azure Active Directory.Select Azure Active Directory.

  3. Wybierz pozycję Rejestracje aplikacji.Select App registrations.

  4. Wybierz pozycję Nowa rejestracja.Select New registration.

  5. Nadaj nazwę aplikacji.Name the application. Wybierz obsługiwany typ konta, który określa, kto może korzystać z aplikacji.Select a supported account type, which determines who can use the application. W obszarze Identyfikator URI przekierowaniawybierz pozycję Sieć Web dla typu aplikacji, którą chcesz utworzyć.Under Redirect URI, select Web for the type of application you want to create. Wprowadź identyfikator URI, do którego jest wysyłany token dostępu.Enter the URI where the access token is sent to. Nie można utworzyć poświadczeń dla aplikacji natywnej.You can't create credentials for a Native application. Nie można użyć tego typu dla zautomatyzowanej aplikacji.You can't use that type for an automated application. Po ustawieniu wartości wybierz pozycję zarejestruj.After setting the values, select Register.

    Wpisz nazwę aplikacji

Utworzono aplikację usługi Azure AD i nazwę główną usługi.You've created your Azure AD application and service principal.

Przypisywanie roli do aplikacjiAssign a role to the application

Aby uzyskać dostęp do zasobów w ramach subskrypcji, musisz przypisać rolę do aplikacji.To access resources in your subscription, you must assign a role to the application. Zdecyduj, która rola oferuje odpowiednie uprawnienia dla aplikacji.Decide which role offers the right permissions for the application. Aby dowiedzieć się więcej na temat dostępnych ról, zobacz role wbudowane platformy Azure.To learn about the available roles, see Azure built-in roles.

Zakres można ustawić na poziomie subskrypcji, grupy zasobów lub zasobu.You can set the scope at the level of the subscription, resource group, or resource. Uprawnienia są dziedziczone do niższych poziomów zakresu.Permissions are inherited to lower levels of scope. Na przykład dodanie aplikacji do roli czytelnik dla grupy zasobów oznacza, że może ona odczytać grupę zasobów i wszystkie zawarte w niej zasoby.For example, adding an application to the Reader role for a resource group means it can read the resource group and any resources it contains.

  1. W Azure Portal wybierz poziom zakresu, do którego chcesz przypisać aplikację.In the Azure portal, select the level of scope you wish to assign the application to. Aby na przykład przypisać rolę w zakresie subskrypcji, Wyszukaj i wybierz pozycję subskrypcjelub wybierz pozycję subskrypcje na stronie głównej .For example, to assign a role at the subscription scope, search for and select Subscriptions, or select Subscriptions on the Home page.

    Na przykład Przypisz rolę w zakresie subskrypcji

  2. Wybierz określoną subskrypcję, do której ma zostać przypisana aplikacja.Select the particular subscription to assign the application to.

    Wybierz subskrypcję do przypisania

    Jeśli nie widzisz subskrypcji, której szukasz, wybierz pozycję Filtr subskrypcje globalne.If you don't see the subscription you're looking for, select global subscriptions filter. Upewnij się, że wybrano subskrypcję dla portalu.Make sure the subscription you want is selected for the portal.

  3. Wybierz pozycję Kontrola dostępu (IAM) .Select Access control (IAM).

  4. Wybierz pozycję Dodaj przypisanie roli.Select Add role assignment.

  5. Wybierz rolę, którą chcesz przypisać do aplikacji.Select the role you wish to assign to the application. Na przykład, aby zezwolić aplikacji na wykonywanie akcji takich jak ponowny rozruch, Uruchamianie i Zatrzymywanie wystąpień, wybierz rolę współautor .For example, to allow the application to execute actions like reboot, start and stop instances, select the Contributor role. Przeczytaj więcej na temat dostępnych ról domyślnie aplikacje usługi Azure AD nie są wyświetlane w dostępnych opcjach.Read more about the available roles By default, Azure AD applications aren't displayed in the available options. Aby znaleźć aplikację, wyszukaj ją i wybierz ją.To find your application, search for the name and select it.

    Wybierz rolę, która ma zostać przypisana do aplikacji

  6. Wybierz pozycję Zapisz , aby zakończyć Przypisywanie roli.Select Save to finish assigning the role. Aplikacja zostanie wyświetlona na liście użytkowników z rolą dla tego zakresu.You see your application in the list of users with a role for that scope.

Nazwa główna usługi została skonfigurowana.Your service principal is set up. Możesz rozpocząć korzystanie z niego do uruchamiania skryptów lub aplikacji.You can start using it to run your scripts or apps. Aby zarządzać jednostkąusługi (uprawnienia, uprawnienia użytkowników, którzy wyraził zgodę, sprawdzić uprawnienia, zobacz informacje logowania i inne), przejdź do pozycji aplikacje dla przedsiębiorstw.To manage your service principal (permissions, user consented permissions, see which users have consented, review permissions, see sign in information, and more), go to Enterprise applications.

W następnej sekcji pokazano, jak uzyskać wartości, które są konieczne podczas logowania programowo.The next section shows how to get values that are needed when signing in programmatically.

Pobieranie wartości identyfikatora dzierżawy i aplikacji na potrzeby logowaniaGet tenant and app ID values for signing in

Podczas programowego logowania należy przekazać identyfikator dzierżawy przy użyciu żądania uwierzytelniania i identyfikatora aplikacji.When programmatically signing in, you need to pass the tenant ID with your authentication request and the application ID. Wymagany jest również certyfikat lub klucz uwierzytelniania (opisany w następnej sekcji).You also need a certificate or an authentication key (described in the following section). Aby uzyskać te wartości, wykonaj następujące kroki:To get those values, use the following steps:

  1. Wybierz pozycję Azure Active Directory.Select Azure Active Directory.

  2. W obszarze rejestracje aplikacji w usłudze Azure AD wybierz aplikację.From App registrations in Azure AD, select your application.

  3. Skopiuj identyfikator katalogu (dzierżawy) i Zapisz go w kodzie aplikacji.Copy the Directory (tenant) ID and store it in your application code.

    Skopiuj katalog (identyfikator dzierżawy) i Zapisz go w kodzie aplikacji

    Identyfikator katalogu (dzierżawcy) można również znaleźć na stronie Omówienie katalogu domyślnego.The directory (tenant) ID can also be found in the default directory overview page.

  4. Skopiuj identyfikator aplikacji i zapisz go w kodzie aplikacji.Copy the Application ID and store it in your application code.

    Kopiowanie identyfikatora aplikacji (klienta)

Przekaż certyfikat lub Utwórz klucz tajny do logowaniaUpload a certificate or create a secret for signing in

Istnieją dwa typy uwierzytelniania dostępne dla podmiotów usługi: uwierzytelnianie oparte na hasłach (klucz tajny aplikacji) i uwierzytelnianie oparte na certyfikatach.There are two types of authentication available for service principals: password-based authentication (application secret) and certificate-based authentication. Zalecamy używanie certyfikatu, ale można również utworzyć nowy klucz tajny aplikacji.We recommend using a certificate, but you can also create a new application secret.

Przekaż certyfikatUpload a certificate

Jeśli masz istniejący certyfikat, możesz go użyć.You can use an existing certificate if you have one. Opcjonalnie można utworzyć certyfikat z podpisem własnym tylko do celów testowych.Optionally, you can create a self-signed certificate for testing purposes only. Aby utworzyć certyfikat z podpisem własnym, Otwórz program PowerShell i uruchom polecenie New-SelfSignedCertificate z poniższymi parametrami, aby utworzyć certyfikat w magazynie certyfikatów użytkownika na komputerze:To create a self-signed certificate, open PowerShell and run New-SelfSignedCertificate with the following parameters to create the cert in the user certificate store on your computer:

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

Wyeksportuj ten certyfikat do pliku za pomocą przystawki Zarządzanie certyfikatem użytkownika MMC dostępnej w panelu sterowania systemu Windows.Export this certificate to a file using the Manage User Certificate MMC snap-in accessible from the Windows Control Panel.

  1. Z menu Start wybierz polecenie Uruchom , a następnie wprowadź certmgr. msc.Select Run from the Start menu, and then enter certmgr.msc.

    Zostanie wyświetlone narzędzie Menedżer certyfikatów dla bieżącego użytkownika.The Certificate Manager tool for the current user appears.

  2. Aby wyświetlić certyfikaty, w obszarze Certyfikaty — bieżący użytkownik w okienku po lewej stronie rozwiń katalog osobisty .To view your certificates, under Certificates - Current User in the left pane, expand the Personal directory.

  3. Kliknij prawym przyciskiem myszy utworzony certyfikat, wybierz polecenie wszystkie zadania — >Eksportuj.Right-click on the cert you created, select All tasks->Export.

  4. Postępuj zgodnie z instrukcjami Kreatora eksportu certyfikatów.Follow the Certificate Export wizard. Nie Eksportuj klucza prywatnego i Eksportuj do programu. Plik CER.Do not export the private key, and export to a .CER file.

Aby przekazać certyfikat:To upload the certificate:

  1. Wybierz pozycję Azure Active Directory.Select Azure Active Directory.

  2. W obszarze rejestracje aplikacji w usłudze Azure AD wybierz aplikację.From App registrations in Azure AD, select your application.

  3. Wybierz pozycję certyfikaty & wpisy tajne.Select Certificates & secrets.

  4. Wybierz pozycję Przekaż certyfikat i wybierz certyfikat (istniejący certyfikat lub wyeksportowany certyfikat z podpisem własnym).Select Upload certificate and select the certificate (an existing certificate or the self-signed certificate you exported).

    Wybierz pozycję Przekaż certyfikat i wybierz ten, który chcesz dodać.

  5. Wybierz pozycję Dodaj.Select Add.

Po zarejestrowaniu certyfikatu w aplikacji w portalu rejestracji aplikacji należy włączyć użycie tego certyfikatu w kodzie aplikacji klienta.After registering the certificate with your application in the application registration portal, you need to enable the client application code to use the certificate.

Tworzenie nowego klucza tajnego aplikacjiCreate a new application secret

Jeśli zdecydujesz się nie używać certyfikatu, możesz utworzyć nowy klucz tajny aplikacji.If you choose not to use a certificate, you can create a new application secret.

  1. Wybierz pozycję Azure Active Directory.Select Azure Active Directory.

  2. W obszarze rejestracje aplikacji w usłudze Azure AD wybierz aplikację.From App registrations in Azure AD, select your application.

  3. Wybierz pozycję certyfikaty & wpisy tajne.Select Certificates & secrets.

  4. Wybierz pozycję wpisy tajne klienta — > nowego klucza tajnego klienta.Select Client secrets -> New client secret.

  5. Podaj opis klucza tajnego i czas trwania.Provide a description of the secret, and a duration. Po zakończeniu wybierz pozycję Dodaj.When done, select Add.

    Po zapisaniu klucza tajnego klienta zostanie wyświetlona wartość wpisu tajnego klienta.After saving the client secret, the value of the client secret is displayed. Skopiuj tę wartość, ponieważ nie będzie można pobrać klucza później.Copy this value because you won't be able to retrieve the key later. W celu zalogowania się jako aplikacja podaj wartość klucza z IDENTYFIKATORem aplikacji.You will provide the key value with the application ID to sign in as the application. Zapisz wartość klucza w miejscu, z którego aplikacja będzie mogła ją pobrać.Store the key value where your application can retrieve it.

    Skopiuj wartość klucza tajnego, ponieważ nie można pobrać jej później

Konfigurowanie zasad dostępu do zasobówConfigure access policies on resources

Należy pamiętać, że konieczne może być skonfigurowanie dodatkowych uprawnień do zasobów wymaganych przez aplikację.Keep in mind, you might need to configure additional permissions on resources that your application needs to access. Na przykład należy również zaktualizować zasady dostępu magazynu kluczy , aby zapewnić aplikacji dostęp do kluczy, wpisów tajnych lub certyfikatów.For example, you must also update a key vault's access policies to give your application access to keys, secrets, or certificates.

  1. W Azure Portalprzejdź do magazynu kluczy i wybierz pozycję zasady dostępu.In the Azure portal, navigate to your key vault and select Access policies.
  2. Wybierz pozycję Dodaj zasady dostępu, a następnie wybierz uprawnienia Key, Secret i Certificate, które chcesz udzielić aplikacji.Select Add access policy, then select the key, secret, and certificate permissions you want to grant your application. Wybierz nazwę główną usługi utworzoną wcześniej.Select the service principal you created previously.
  3. Wybierz pozycję Dodaj , aby dodać zasady dostępu, a następnie pozycję Zapisz , aby zatwierdzić zmiany.Select Add to add the access policy, then Save to commit your changes. Dodawanie zasad dostępuAdd access policy

Następne krokiNext steps