Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Během místního vývoje se aplikace musí ověřit do Azure, aby získaly přístup k různým službám Azure. Místní ověření můžete provést pomocí jednoho z následujících přístupů:
- Použijte vývojářský účet s jedním z vývojářských nástrojů podporovaných knihovnou identit Azure. Další informace najdete v tématu Ověření Java aplikací ke službám Azure během lokálního vývoje použitím vývojářských účtů.
- Použijte službu principal.
Tento článek vysvětluje, jak používat instanční objekt aplikace. Další informace o instančních objektech najdete v tématu Application a instanční objekty v Microsoft Entra ID. V tomto článku se dozvíte:
- Postup registrace aplikace ve službě Microsoft Entra k vytvoření služební zásady.
- Jak používat Microsoft Entra skupiny k efektivní správě oprávnění.
- Jak přiřadit role k oprávněním oboru
- Jak se pomocí služebního principála ověřit z kódu aplikace.
Použití vyhrazených principálů služeb aplikací umožňuje dodržovat zásadu nejnižších oprávnění při přístupu k prostředkům Azure. Během vývoje můžete omezit oprávnění na konkrétní požadavky aplikace, abyste zabránili náhodnému přístupu k Azure prostředkům určeným pro jiné aplikace nebo služby. Tento přístup vám také pomůže vyhnout se problémům při přesunu aplikace do produkčního prostředí tím, že zajistí, že ve vývojovém prostředí není příliš privilegovaný.
Diagram
Když aplikaci zaregistrujete v Azure, vytvoří se služební hlavní objekt aplikace. Pro místní vývoj byste měli:
- Vytvořte samostatnou registraci aplikace pro každého vývojáře pracujícího na aplikaci, aby každý vývojář měli vlastní instanční objekt aplikace a nemuseli sdílet přihlašovací údaje.
- Vytvořte pro každou aplikaci samostatnou registraci aplikace, která omezí oprávnění aplikace jenom na to, co je potřeba.
Během místního vývoje nastavte proměnné prostředí s hlavní identitou služby aplikace. Knihovna Azure Identita načte tyto proměnné prostředí, aby ověřila aplikaci v požadovaných Azure prostředcích.
Registrace aplikace v Azure
Objekty aplikačních služebních principálů se vytvářejí registrací aplikace v Azure pomocí portálu Azure nebo Azure CLI.
Na portálu Azure přejděte pomocí panelu hledání na stránku App registrations.
Na stránce App registrations vyberte + Nová registrace.
Na stránce registrace aplikace :
- Do pole Název zadejte popisnou hodnotu, která obsahuje název aplikace a cílové prostředí.
- Pro Podporované typy účtůvyberte Účty pouze v tomto organizačním adresáři (pouze Microsoft Customer Led – jednotná instance), nebo vyberte možnost, která nejlépe vyhovuje vašim požadavkům.
Vyberte Register pro registraci vaší aplikace a vytvoření service principal.
Na stránce registrace aplikace aplikace zkopírujte ID aplikace (klienta) a ID adresáře (tenanta) a vložte je do dočasného umístění pro pozdější použití v konfiguracích kódu aplikace.
Vyberte Přidání certifikátu nebo tajného kódu pro nastavení přihlašovacích údajů pro vaši aplikaci.
Na stránce Certifikáty a tajemství vyberte + Nový tajný klíč klienta.
V panelu, který se otevře Přidat tajný klíč klienta:
- Jako popiszadejte hodnotu Current.
- Pro hodnotu u Expires ponechte výchozí doporučenou hodnotu 180 dnů.
- Chcete-li přidat tajemství, vyberte Přidat.
Na stránce Certifikáty & tajných kódů zkopírujte vlastnost Hodnota tajného klíče klienta pro použití v dalším kroku.
Poznámka:
Hodnota tajného klíče klienta se zobrazí jenom jednou po vytvoření registrace aplikace. Můžete přidat další tajné kódy klienta bez zneplatnění tohoto tajného klíče klienta, ale neexistuje způsob, jak tuto hodnotu znovu zobrazit.
Vytvoření skupiny Microsoft Entra pro místní vývoj
Vytvořte skupinu Microsoft Entra, abyste zahrnuli role (oprávnění), které aplikace potřebuje v místním vývoji, místo přiřazování rolí jednotlivým objektům typu "service principal". Tento přístup nabízí následující výhody:
- Každý vývojář má stejné role přiřazené na úrovni skupiny.
- Pokud je pro aplikaci potřeba nová role, stačí ji přidat jenom do skupiny aplikace.
- Pokud se nový vývojář připojí k týmu, vytvoří se nový instanční objekt aplikace pro vývojáře a přidá se do skupiny, aby vývojář získal správná oprávnění pro práci s aplikací.
Na portálu Azure přejděte na stránku přehledu Microsoft Entra ID.
V nabídce vlevo vyberte Všechny skupiny .
Na stránce Skupiny vyberte Nová skupina.
Na stránce Nová skupina vyplňte následující pole formuláře:
- Typ skupiny: Vyberte Zabezpečení.
- Název skupiny: Zadejte název skupiny, která obsahuje odkaz na název aplikace nebo prostředí.
- Popis skupiny: Zadejte popis, který vysvětluje účel skupiny.
Vyberte odkaz Nejsou vybráni žádní členové v části Členové, abyste přidali členy do skupiny.
V rozbalovacím panelu, který se otevře, vyhledejte aplikační objekt služby, který jste vytvořili dříve, a vyberte ho z filtrovaných výsledků. Výběrem tlačítka Vybrat v dolní části panelu potvrďte výběr.
Výběrem možnosti Vytvořit v dolní části stránky Nová skupina vytvořte skupinu a vraťte se na stránku Všechny skupiny . Pokud novou skupinu nevidíte, chvíli počkejte a aktualizujte stránku.
Přiřazení rolí ke skupině
Dále určete, jaké role (oprávnění) vaše aplikace potřebuje k jakým prostředkům, a přiřaďte tyto role Microsoft Entra skupině, kterou jste vytvořili. Skupinám lze přiřadit roli v rámci prostředku, skupiny prostředků nebo předplatného. Tento příklad ukazuje, jak přiřadit role v oboru skupiny prostředků, protože většina aplikací seskupuje všechny své Azure prostředky do jedné skupiny prostředků.
Na portálu Azure přejděte na stránku Overview skupiny prostředků, která obsahuje vaši aplikaci.
V levém navigačním panelu vyberte řízení přístupu (IAM).
Na stránce Řízení přístupu (IAM) vyberte + Přidat a pak v rozevírací nabídce zvolte Přidat přiřazení role . Stránka Přidat přiřazení role poskytuje několik záložek pro konfiguraci a přiřazení rolí.
Na kartě Role vyhledejte roli, kterou chcete přiřadit, pomocí vyhledávacího pole. Vyberte roli a pak zvolte Další.
Na kartě Členové :
- V části Přiřadit přístup k hodnotě vyberte Uživatel, skupina nebo instanční objekt .
- Pro hodnotu Členové zvolte + Vybrat členy , aby se otevřel informační panel Vybrat členy .
- Vyhledejte skupinu Microsoft Entra, kterou jste vytvořili dříve, a vyberte ji z filtrovaných výsledků. Výběrem možnosti Vybrat vyberte skupinu a zavřete informační panel.
- V dolní části karty Členové vyberte Zkontrolovat a přiřadit.
Na kartě Revize a Přiřazení vyberte Revize a Přiřazení v dolní části stránky.
Nastavení proměnných prostředí aplikace
Při běhu se některé přihlašovací údaje z knihovny Azure Identity, jako například DefaultAzureCredential, EnvironmentCredential, a ClientSecretCredential, pokouší vyhledat informace o službě principal podle konvencí v proměnných prostředí. Při práci s Java můžete proměnné prostředí nakonfigurovat různými způsoby v závislosti na nástrojích a prostředích.
Bez ohledu na zvolený přístup nakonfigurujte pro instanční objekt následující proměnné prostředí:
-
AZURE_CLIENT_ID: Slouží k identifikaci registrované aplikace v Azure. -
AZURE_TENANT_ID: ID tenanta Microsoft Entra. -
AZURE_CLIENT_SECRET: Tajné přihlašovací údaje vygenerované pro aplikaci.
Přidejte do souboru ~/.bashrc nebo ~/.zshrc souboru následující řádky. Nahraďte zástupné hodnoty skutečnými hodnotami z registrace aplikace:
export AZURE_CLIENT_ID="<your-client-id>"
export AZURE_TENANT_ID="<your-tenant-id>"
export AZURE_CLIENT_SECRET="<your-client-secret>"
Po úpravě souboru spusťte source ~/.bashrc nebo source ~/.zshrc a aplikujte změny v aktuální relaci.
Autentizace ke službám Azure z vaší aplikace
Knihovna Azure Identity poskytuje různá pověření – implementace TokenCredential, které podporují různé scénáře a toky ověřování Microsoft Entra. Následující kroky ukazují, jak používat ClientSecretCredential při práci se servisními hlavními místně a v produkčním prostředí.
Implementace kódu
Přidejte závislost azure-identity do souboru pom.xml.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
Ke službám Azure přistupujete pomocí specializovaných klientských tříd z různých Azure SDK klientských knihoven. Pro každý Java kód, který ve vaší aplikaci vytvoří objekt klienta Azure SDK, postupujte takto:
- Importujte
ClientSecretCredentialBuildertřídu zcom.azure.identitybalíčku. - Vytvořte objekt
ClientSecretCredentialpomocíClientSecretCredentialBuilderstenantId,clientIdaclientSecret. - Předejte instanci
ClientSecretCredentialdo metodycredentialtvůrce objektů klienta Azure SDK.
Příklad tohoto přístupu je znázorněn v následujícím segmentu kódu:
import com.azure.identity.ClientSecretCredential;
import com.azure.identity.ClientSecretCredentialBuilder;
import com.azure.storage.blob.BlobServiceClient;
import com.azure.storage.blob.BlobServiceClientBuilder;
String tenantId = System.getenv("AZURE_TENANT_ID");
String clientId = System.getenv("AZURE_CLIENT_ID");
String clientSecret = System.getenv("AZURE_CLIENT_SECRET");
ClientSecretCredential credential = new ClientSecretCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientSecret(clientSecret)
.build();
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("https://<account-name>.blob.core.windows.net")
.credential(credential)
.buildClient();
Další kroky
Článek se zabýval ověřováním prostřednictvím principálu služby. Tato forma ověřování je jedním z mnoha způsobů, jak se můžete ověřit v Azure SDK pro Java. Následující články popisují další způsoby ověřování:
- Authenticate Java aplikace pro Azure služby během místního vývoje pomocí vývojářských účtů
- Autentizujte Java aplikace hostované v Azure k Azure prostředkům pomocí systémem přiřazené spravované identity
- Autentizujte Azure-hostované aplikace Java k prostředkům Azure pomocí uživatelské spravované identity
Pokud narazíte na problémy s ověřováním služebního principálu, přečtěte si téma Řešení potíží s ověřováním služebního principálu.
Po zvládnutí autentizace si přečtěte informace o funkci protokolování, které poskytuje SDK, v Konfigurování protokolování v Azure SDK pro Java.