Postup: Vytvoření aplikace Azure AD a instančního objektu s přístupem k prostředkům pomocí portáluHow to: Use the portal to create an Azure AD application and service principal that can access resources

V tomto článku se dozvíte, jak vytvořit novou aplikaci Azure Active Directory (Azure AD) a instančního objektu, který se dá použít s řízením přístupu na základě role.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. Pokud máte aplikace, hostované služby nebo automatizované nástroje, které potřebují přístup k prostředkům nebo jejich úpravu, můžete pro aplikaci vytvořit identitu.When you have applications, hosted services, or automated tools that needs to access or modify resources, you can create an identity for the app. Tato identita se označuje jako instanční objekt.This identity is known as a service principal. Přístup k prostředkům je omezen rolemi přiřazenými k instančnímu objektu a poskytuje vám kontrolu nad tím, k jakým prostředkům se dá získat přístup a na jaké úrovni.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. Z bezpečnostních důvodů se v automatizovaných nástrojích vždy doporučuje používat instanční objekty, a neumožňovat jim připojení pomocí identity uživatele.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.

V tomto článku se dozvíte, jak pomocí portálu vytvořit instanční objekt v Azure Portal.This article shows you how to use the portal to create the service principal in the Azure portal. Zaměřuje se na aplikaci s jedním tenantů, kde má aplikace běžet jenom v jedné organizaci.It focuses on a single-tenant application where the application is intended to run within only one organization. Pro obchodní aplikace, které běží v rámci vaší organizace, obvykle používáte aplikace pro jednoho tenanta.You typically use single-tenant applications for line-of-business applications that run within your organization. K vytvoření instančního objektu můžete použít taky Azure PowerShell.You can also use Azure PowerShell to create a service principal.

Důležité

Místo Vytvoření instančního objektu zvažte použití spravovaných identit pro prostředky Azure pro vaši identitu aplikace.Instead of creating a service principal, consider using managed identities for Azure resources for your application identity. Pokud váš kód běží na službě, která podporuje spravované identity a přistupuje k prostředkům, které podporují ověřování Azure AD, jsou spravované identity lepší volbou pro vás.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. Další informace o spravovaných identitách pro prostředky Azure, včetně toho, které služby v současnosti podporují, najdete v tématu co jsou spravované identity pro prostředky Azure?.To learn more about managed identities for Azure resources, including which services currently support it, see What is managed identities for Azure resources?.

Registrace aplikace, objekty aplikace a instanční objektyApp registration, app objects, and service principals

Neexistuje žádný způsob, jak přímo vytvořit instanční objekt pomocí Azure Portal.There is no way to directly create a service principal using the Azure portal. Když zaregistrujete aplikaci prostřednictvím Azure Portal, objekt aplikace a instanční objekt se automaticky vytvoří v domovském adresáři nebo tenantovi.When you register an application through the Azure portal, an application object and service principal are automatically created in your home directory or tenant. Další informace o vztahu mezi registrací aplikace, objekty aplikace a instančními objekty najdete v tématu o tom, jak číst aplikace a objekty zabezpečení služby v 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.

Oprávnění vyžadovaná k registraci aplikacePermissions required for registering an app

Musíte mít dostatečná oprávnění k registraci aplikace ve vašem tenantovi Azure AD a přiřazení k aplikaci roli v předplatném 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.

Ověřit oprávnění služby Azure ADCheck Azure AD permissions

  1. Vyberte Azure Active Directory.Select Azure Active Directory.

  2. Poznamenejte si svoji roli.Note your role. Máte-li roli uživatele , je nutné zajistit, aby aplikace bez oprávnění správce mohli registrovat aplikace.If you have the User role, you must make sure that non-administrators can register applications.

    Najděte svoji roli.

  3. V levém podokně vyberte nastavení uživatele.In the left pane, select User settings.

  4. Ověřte nastavení Registrace aplikací .Check the App registrations setting. Tuto hodnotu může nastavit jenom správce.This value can only be set by an administrator. Pokud je nastaveno na Ano, každý uživatel v TENANTOVI Azure AD může zaregistrovat aplikaci.If set to Yes, any user in the Azure AD tenant can register an app.

Pokud je nastavení registrace aplikací nastaveno na ne, můžou tyto typy aplikací registrovat jenom uživatelé s rolí správce.If the app registrations setting is set to No, only users with an administrator role may register these types of applications. Další informace o dostupných rolích správců a konkrétních oprávněních v Azure AD, která jsou udělena jednotlivým rolím, najdete v tématu dostupné role a oprávnění role .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. Pokud má váš účet přiřazenou roli uživatele, ale nastavení registrace aplikace je omezené na uživatele s právy pro správu, požádejte správce, aby vám přidělil jednu z rolí správce, která může vytvářet a spravovat všechny aspekty registrací aplikací, nebo umožnit uživatelům registrovat aplikace.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.

Ověřit oprávnění pro předplatné AzureCheck Azure subscription permissions

Ve vašem předplatném Azure musí mít váš účet Microsoft.Authorization/*/Write přístup k aplikaci AD, aby mohl přiřadit roli.In your Azure subscription, your account must have Microsoft.Authorization/*/Write access to assign a role to an AD app. Tato akce se povoluje prostřednictvím role vlastníka nebo správce uživatelských přístupů.This action is granted through the Owner role or User Access Administrator role. Pokud má váš účet přiřazenou roli Přispěvatel , nemáte příslušná oprávnění.If your account is assigned the Contributor role, you don't have adequate permission. Při pokusu o přiřazení instančního objektu k roli se zobrazí chyba.You will receive an error when attempting to assign the service principal a role.

Ověření oprávnění k předplatnému:To check your subscription permissions:

  1. Vyhledejte a vyberte předplatnánebo vyberte předplatná na domovské stránce.Search for and select Subscriptions, or select Subscriptions on the Home page.

    Hledat

  2. Vyberte předplatné, ve kterém chcete vytvořit instanční objekt.Select the subscription you want to create the service principal in.

    Výběr předplatného pro přiřazení

    Pokud nevidíte předplatné, které hledáte, vyberte globální filtr předplatných.If you don't see the subscription you're looking for, select global subscriptions filter. Ujistěte se, že je vybráno požadované předplatné portálu.Make sure the subscription you want is selected for the portal.

  3. Vyberte Moje oprávnění.Select My permissions. Pak vyberte kliknutím sem zobrazíte informace o úplných přístupech k tomuto předplatnému.Then, select Click here to view complete access details for this subscription.

    Vyberte předplatné, ve kterém chcete vytvořit instanční objekt.

  4. Výběrem Zobrazit v přiřazeních rolí zobrazíte přiřazené role a určíte, jestli máte adekvátní oprávnění k přiřazení role k aplikaci 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. Pokud ne, požádejte správce předplatného, aby vás přidal do role správce přístupu uživatele.If not, ask your subscription administrator to add you to User Access Administrator role. Na následujícím obrázku je uživateli přiřazena role vlastníka, což znamená, že uživatel má odpovídající oprávnění.In the following image, the user is assigned the Owner role, which means that user has adequate permissions.

    Tento příklad ukazuje, že uživatel má přiřazenou roli vlastníka.

Registrace aplikace ve službě Azure AD a Vytvoření instančního objektuRegister an application with Azure AD and create a service principal

Pojďme přejít přímo na vytvoření identity.Let's jump straight into creating the identity. Pokud narazíte na problém, zkontrolujte požadovaná oprávnění a ujistěte se, že váš účet může vytvořit identitu.If you run into a problem, check the required permissions to make sure your account can create the identity.

  1. Přihlaste se ke svému účtu Azure prostřednictvím Azure Portal.Sign in to your Azure Account through the Azure portal.

  2. Vyberte Azure Active Directory.Select Azure Active Directory.

  3. Vyberte Registrace aplikací.Select App registrations.

  4. Vyberte Nová registrace.Select New registration.

  5. Pojmenujte aplikaci.Name the application. Vyberte podporovaný typ účtu, který určuje, kdo může aplikaci používat.Select a supported account type, which determines who can use the application. V části identifikátor URI pro přesměrovánívyberte Web pro typ aplikace, kterou chcete vytvořit.Under Redirect URI, select Web for the type of application you want to create. Zadejte identifikátor URI, na který se přístupový token pošle.Enter the URI where the access token is sent to. Nemůžete vytvořit pověření pro nativní aplikaci.You can't create credentials for a Native application. Tento typ nelze použít pro automatizovanou aplikaci.You can't use that type for an automated application. Po nastavení hodnot vyberte Registrovat.After setting the values, select Register.

    Zadejte název vaší aplikace.

Vytvořili jste aplikaci a instanční objekt služby Azure AD.You've created your Azure AD application and service principal.

Přiřazení role k aplikaciAssign a role to the application

Pokud chcete získat přístup k prostředkům ve vašem předplatném, musíte aplikaci přiřadit roli.To access resources in your subscription, you must assign a role to the application. Rozhodněte, která role nabízí správná oprávnění pro aplikaci.Decide which role offers the right permissions for the application. Další informace o dostupných rolích najdete v tématu předdefinované role Azure.To learn about the available roles, see Azure built-in roles.

Rozsah můžete nastavit na úrovni předplatného, skupiny prostředků nebo prostředku.You can set the scope at the level of the subscription, resource group, or resource. Oprávnění jsou zděděna na nižší úrovně rozsahu.Permissions are inherited to lower levels of scope. Například přidání aplikace do role Čtenář pro skupinu prostředků znamená, že může číst skupinu prostředků a všechny prostředky, které obsahuje.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. V Azure Portal vyberte úroveň rozsahu, do kterého chcete aplikaci přiřadit.In the Azure portal, select the level of scope you wish to assign the application to. Pokud například chcete přiřadit roli v oboru předplatného, vyhledejte a vyberte odběrynebo vyberte předplatná na domovské stránce.For example, to assign a role at the subscription scope, search for and select Subscriptions, or select Subscriptions on the Home page.

    Přiřaďte například roli v oboru předplatného.

  2. Vyberte konkrétní předplatné, ke kterému chcete aplikaci přiřadit.Select the particular subscription to assign the application to.

    Výběr předplatného pro přiřazení

    Pokud nevidíte předplatné, které hledáte, vyberte globální filtr předplatných.If you don't see the subscription you're looking for, select global subscriptions filter. Ujistěte se, že je vybráno požadované předplatné portálu.Make sure the subscription you want is selected for the portal.

  3. Vyberte Řízení přístupu (IAM) .Select Access control (IAM).

  4. Vyberte Přidat přiřazení role.Select Add role assignment.

  5. Vyberte roli, kterou chcete aplikaci přiřadit.Select the role you wish to assign to the application. Pokud například chcete, aby aplikace mohla provádět akce, jako je restartování, spuštění a zastavení instancí, vyberte roli Přispěvatel .For example, to allow the application to execute actions like reboot, start and stop instances, select the Contributor role. Další informace o dostupných rolích ve výchozím nastavení se v dostupných možnostech nezobrazí v aplikacích Azure AD.Read more about the available roles By default, Azure AD applications aren't displayed in the available options. Chcete-li najít aplikaci, vyhledejte její název a vyberte ji.To find your application, search for the name and select it.

    Vyberte roli, kterou chcete přiřadit k aplikaci.

  6. Kliknutím na Uložit dokončete přiřazení role.Select Save to finish assigning the role. Vaše aplikace se zobrazí v seznamu uživatelů s rolí pro tento obor.You see your application in the list of users with a role for that scope.

Vaše instanční objekt je nastavený.Your service principal is set up. Můžete ji začít používat ke spouštění skriptů nebo aplikací.You can start using it to run your scripts or apps. Chcete-li spravovat instanční objekt (oprávnění, uživatelská oprávnění, přečtěte si, kteří uživatelé jsou souhlasi, zkontrolujte oprávnění, přečtěte si informace o přihlášení a další), přejděte na podnikové aplikace.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.

V další části se dozvíte, jak získat hodnoty, které jsou potřeba při přihlašování prostřednictvím kódu programu.The next section shows how to get values that are needed when signing in programmatically.

Získání hodnot ID tenanta a aplikace pro přihlášeníGet tenant and app ID values for signing in

Když se programově přihlašujete, musíte předat ID tenanta pomocí žádosti o ověření a ID aplikace.When programmatically signing in, you need to pass the tenant ID with your authentication request and the application ID. Budete také potřebovat certifikát nebo ověřovací klíč (popsaný v následující části).You also need a certificate or an authentication key (described in the following section). K získání těchto hodnot použijte následující postup:To get those values, use the following steps:

  1. Vyberte Azure Active Directory.Select Azure Active Directory.

  2. V Registrace aplikací ve službě Azure AD vyberte svou aplikaci.From App registrations in Azure AD, select your application.

  3. Zkopírujte ID adresáře (tenant) a uložte ho do kódu aplikace.Copy the Directory (tenant) ID and store it in your application code.

    Zkopírujte adresář (ID tenanta) a uložte ho do kódu vaší aplikace.

    ID adresáře (tenant) se taky dá najít na stránce s přehledem výchozích adresářů.The directory (tenant) ID can also be found in the default directory overview page.

  4. Zkopírujte ID aplikace a uložte ho v kódu aplikace.Copy the Application ID and store it in your application code.

    Kopírovat ID aplikace (klienta)

Ověřování: dvě možnostiAuthentication: Two options

K dispozici jsou dva typy ověřování pro instanční objekty: ověřování založené na heslech (tajný klíč aplikace) a ověřování na základě certifikátů.There are two types of authentication available for service principals: password-based authentication (application secret) and certificate-based authentication. Doporučujeme použít certifikát, ale můžete také vytvořit tajný klíč aplikace.We recommend using a certificate, but you can also create an application secret.

Možnost 1: nahrání certifikátuOption 1: Upload a certificate

Pokud nějaký máte, můžete použít existující certifikát.You can use an existing certificate if you have one. Volitelně můžete vytvořit certifikát podepsaný svým držitelem pro účely testování.Optionally, you can create a self-signed certificate for testing purposes only. Chcete-li vytvořit certifikát podepsaný svým držitelem, otevřete PowerShell a spusťte rutinu New-SelfSignedCertificate s následujícími parametry k vytvoření certifikátu v úložišti certifikátů uživatele v počítači: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

Exportujte tento certifikát do souboru pomocí modulu snap-in Spravovat certifikát uživatele konzoly MMC přístupný z ovládacích panelů systému Windows.Export this certificate to a file using the Manage User Certificate MMC snap-in accessible from the Windows Control Panel.

  1. V nabídce Start vyberte Run (spustit ) a pak zadejte certmgr. msc.Select Run from the Start menu, and then enter certmgr.msc.

    Zobrazí se nástroj Správce certifikátů pro aktuálního uživatele.The Certificate Manager tool for the current user appears.

  2. Pokud chcete zobrazit certifikáty, v části Certifikáty – aktuální uživatel v levém podokně rozbalte osobní adresář.To view your certificates, under Certificates - Current User in the left pane, expand the Personal directory.

  3. Klikněte pravým tlačítkem na certifikát, který jste vytvořili, vyberte všechny úkoly – >exportovat.Right-click on the cert you created, select All tasks->Export.

  4. Postupujte podle pokynů Průvodce exportem certifikátu.Follow the Certificate Export wizard. Neexportujte privátní klíč a exportujte ho do. Soubor CER.Do not export the private key, and export to a .CER file.

Postup nahrání certifikátu:To upload the certificate:

  1. Vyberte Azure Active Directory.Select Azure Active Directory.

  2. V Registrace aplikací ve službě Azure AD vyberte svou aplikaci.From App registrations in Azure AD, select your application.

  3. Vyberte certifikáty & tajnýchkódů.Select Certificates & secrets.

  4. Vyberte nahrát certifikát a vyberte certifikát (existující certifikát nebo certifikát podepsaný svým držitelem).Select Upload certificate and select the certificate (an existing certificate or the self-signed certificate you exported).

    Vyberte nahrát certifikát a vyberte ten, který chcete přidat.

  5. Vyberte Přidat.Select Add.

Po registraci certifikátu ve vaší aplikaci na portálu pro registraci aplikací je nutné povolit klientský kód aplikace pro použití certifikátu.After registering the certificate with your application in the application registration portal, you need to enable the client application code to use the certificate.

Možnost 2: vytvoření nového tajného klíče aplikaceOption 2: Create a new application secret

Pokud se rozhodnete nepoužívat certifikát, můžete vytvořit nový tajný klíč aplikace.If you choose not to use a certificate, you can create a new application secret.

  1. Vyberte Azure Active Directory.Select Azure Active Directory.

  2. V Registrace aplikací ve službě Azure AD vyberte svou aplikaci.From App registrations in Azure AD, select your application.

  3. Vyberte certifikáty & tajnýchkódů.Select Certificates & secrets.

  4. Vyberte Client tajných klíčů – > nový tajný klíč klienta.Select Client secrets -> New client secret.

  5. Zadejte popis tajného kódu a dobu trvání.Provide a description of the secret, and a duration. Až budete hotovi, vyberte Přidat.When done, select Add.

    Po uložení tajného klíče klienta se zobrazí hodnota tajného klíče klienta.After saving the client secret, the value of the client secret is displayed. Zkopírujte tuto hodnotu, protože už nebudete moct klíč načíst později.Copy this value because you won't be able to retrieve the key later. Zadáním hodnoty klíče s ID aplikace se přihlásíte jako aplikace.You will provide the key value with the application ID to sign in as the application. Hodnotu klíče uložte na místo, odkud ji aplikace může načíst.Store the key value where your application can retrieve it.

    Zkopírujte tajnou hodnotu, protože ji nemůžete později načíst.

Konfigurace zásad přístupu pro prostředkyConfigure access policies on resources

Mějte na paměti, že možná budete muset nakonfigurovat další oprávnění k prostředkům, které vaše aplikace potřebuje k přístupu.Keep in mind, you might need to configure additional permissions on resources that your application needs to access. Například je třeba aktualizovat zásady přístupu trezoru klíčů , aby vaše aplikace měla přístup k klíčům, tajným klíčům nebo certifikátům.For example, you must also update a key vault's access policies to give your application access to keys, secrets, or certificates.

  1. V Azure Portalpřejděte do svého trezoru klíčů a vyberte zásady přístupu.In the Azure portal, navigate to your key vault and select Access policies.
  2. Vyberte Přidat zásady přístupua pak vyberte klíčová, tajná a oprávnění certifikátů, která chcete aplikaci udělit.Select Add access policy, then select the key, secret, and certificate permissions you want to grant your application. Vyberte objekt služby, který jste předtím vytvořili.Select the service principal you created previously.
  3. Vyberte Přidat a přidejte zásadu přístupu a potom uložte změny, které chcete potvrdit.Select Add to add the access policy, then Save to commit your changes. Přidat zásady přístupuAdd access policy

Další krokyNext steps