Ověřování Azure ve vývojových prostředích Java

Tento článek obsahuje přehled podpory knihovny identit Azure pro ověřování tokenů Microsoft Entra. Tato podpora umožňuje ověřování pro aplikace spuštěné místně na vývojářských počítačích prostřednictvím sady TokenCredential implementací.

Tento článek se zabývá následujícími tématy:

Informace o řešení potíží s ověřováním vývojového prostředí najdete v tématu Řešení potíží s ověřováním vývojového prostředí.

Přihlašovací údaje kódu zařízení

Přihlašovací údaje kódu zařízení interaktivně ověřuje uživatele na zařízeních s omezeným uživatelským rozhraním. Funguje tak, že uživatele vyzve k návštěvě přihlašovací adresy URL na počítači s podporou prohlížeče, když se aplikace pokusí ověřit. Uživatel pak zadá kód zařízení uvedený v pokynech spolu s přihlašovacími údaji. Po úspěšném ověření se aplikace, u které bylo požadováno ověření, úspěšně ověří na zařízení, na kterém běží.

Další informace najdete v tématu Microsoft Identity Platform a tok udělení autorizace zařízení OAuth 2.0.

Povolení aplikací pro tok kódu zařízení

Pokud chcete ověřit uživatele prostřednictvím toku kódu zařízení, postupujte následovně:

  1. Na webu Azure Portal přejděte na ID Microsoft Entra a najděte registraci aplikace.
  2. Přejděte do části Ověřování .
  3. V části Navrhované přesměrované identifikátory URI zkontrolujte identifikátor URI, který končí /common/oauth2/nativeclientna .
  4. V části Výchozí typ klienta vyberte možnost Ano pro možnost Považovat aplikaci za veřejného klienta.

Tyto kroky umožňují aplikaci ověřit, ale přesto nemá oprávnění k přihlášení k ID Microsoft Entra nebo k přístupu k prostředkům vaším jménem. Pokud chcete tento problém vyřešit, přejděte na oprávnění rozhraní API a povolte Microsoft Graph a prostředky, ke které chcete získat přístup.

Při prvním přihlášení musíte být také správcem vašeho tenanta, abyste udělili souhlas s vaší aplikací.

Pokud ve svém ID Microsoft Entra nemůžete nakonfigurovat možnost toku kódu zařízení, může to vyžadovat, aby vaše aplikace byla více tenantů. Pokud chcete aplikaci nastavit jako více tenantů, přejděte na panel Ověřování a vyberte Účty v libovolném adresáři organizace. Potom jako veřejný klient vyberte možnost Ano.

Ověření uživatelského účtu pomocí toku kódu zařízení

Následující příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí DeviceCodeCredential zařízení IoT.

DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
  .challengeConsumer(challenge -> {
    // lets user know of the challenge
    System.out.println(challenge.getMessage());
  }).build();

// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(deviceCodeCredential)
  .buildClient();

Přihlašovací údaje interaktivního prohlížeče

Tyto přihlašovací údaje interaktivně ověřuje uživatele pomocí výchozího systémového prohlížeče a nabízí bezproblémové ověřování tím, že vám umožní použít vlastní přihlašovací údaje k ověření vaší aplikace.

Povolení aplikací pro tok OAuth 2 interaktivního prohlížeče

Pokud chcete použít InteractiveBrowserCredential, musíte zaregistrovat aplikaci v Microsoft Entra ID s oprávněními k přihlášení jménem uživatele. Postupujte podle předchozích kroků pro tok kódu zařízení a zaregistrujte aplikaci. Jak už bylo zmíněno dříve, správce vašeho tenanta musí udělit souhlas s vaší aplikací, aby se mohl přihlásit jakýkoli uživatelský účet.

Můžete si všimnout, že v InteractiveBrowserCredentialBuilderadrese URL pro přesměrování se vyžaduje. Přidejte adresu URL pro přesměrování do pododdílu Identifikátory URI pro přesměrování v části Ověřování registrované aplikace Microsoft Entra.

Interaktivní ověření uživatelského účtu v prohlížeči

Následující příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí InteractiveBrowserCredentialknihovny .

InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
  .clientId("<your client ID>")
  .redirectUrl("http://localhost:8765")
  .build();

// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(interactiveBrowserCredential)
  .buildClient();

Přihlašovací údaje Azure CLI

Přihlašovací údaje Azure CLI se ověřují ve vývojovém prostředí s povoleným uživatelem nebo instančním objektem v Azure CLI. Používá Azure CLI vzhledem k uživateli, který je k němu již přihlášený, a používá rozhraní příkazového řádku k ověření aplikace v Microsoft Entra ID.

Přihlášení k Azure CLI pro AzureCliCredential

Přihlaste se jako uživatel pomocí následujícího příkazu Azure CLI :

az login

Přihlaste se jako instanční objekt pomocí následujícího příkazu:

az login \
    --service-principal \
    --username <client-ID> \
    --password <client-secret> \
    --tenant <tenant-ID>

Pokud má účet nebo instanční objekt přístup k více tenantům, ujistěte se, že je požadovaný tenant nebo předplatné ve stavu Povoleno ve výstupu z následujícího příkazu:

az account list

Před použitím AzureCliCredential kódu spusťte následující příkaz a ověřte, že byl účet úspěšně nakonfigurovaný.

az account get-access-token

Tento proces možná budete muset opakovat po určitém časovém období v závislosti na platnosti obnovovacího tokenu ve vaší organizaci. Obecně platí, že doba platnosti obnovovacího tokenu je několik týdnů až několik měsíců. AzureCliCredential zobrazí výzvu k opětovnému přihlášení.

Ověření uživatelského účtu pomocí Azure CLI

Následující příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí AzureCliCredential na pracovní stanici s nainstalovaným a přihlášeným Rozhraním příkazového řádku Azure.

AzureCliCredential cliCredential = new AzureCliCredentialBuilder().build();

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(cliCredential)
  .buildClient();

Přihlašovací údaje IntelliJ

Přihlašovací údaje IntelliJ se ověřují ve vývojovém prostředí pomocí účtu v sadě Azure Toolkit for IntelliJ. Používá informace o přihlášených uživatelích v integrovaném vývojovém prostředí IntelliJ a používá je k ověření aplikace v Microsoft Entra ID.

Přihlášení k sadě Azure Toolkit for IntelliJ for IntelliJCredential

Přihlaste se pomocí následujících kroků:

  1. V okně IntelliJ otevřete moduly plug-in File Nastavení. >>
  2. Na marketplace vyhledejte sadu Azure Toolkit for IntelliJ. Instalace a restartování integrovaného vývojového prostředí (IDE)
  3. Vyhledání nové položky nabídky Nástroje > azure > Azure Sign In
  4. Přihlášení zařízení vám pomůže přihlásit se jako uživatelský účet. Podle pokynů se přihlaste na login.microsoftonline.com webu pomocí kódu zařízení. IntelliJ vás vyzve k výběru předplatných. Vyberte předplatné s prostředky, ke kterým chcete získat přístup.

Ve Windows potřebujete také cestu k databázi KeePass ke čtení přihlašovacích údajů IntelliJ. Cestu najdete v nastavení IntelliJ v části Soubor > Nastavení > Vzhled a chování > systému Nastavení > hesla. Poznamenejte si umístění cesty KeePassDatabase.

Ověření uživatelského účtu pomocí IntelliJ IDEA

Následující příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí IntelliJCredential na pracovní stanici, kde je nainstalovaná IntelliJ IDEA, a uživatel se přihlásil pomocí účtu Azure.

IntelliJCredential intelliJCredential = new IntelliJCredentialBuilder()
  // KeePass configuration isrequired only for Windows. No configuration needed for Linux / Mac.
  .keePassDatabasePath("C:\\Users\\user\\AppData\\Roaming\\JetBrains\\IdeaIC2020.1\\c.kdbx")
  .build();

// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(intelliJCredential)
  .buildClient();

Přihlašovací údaje editoru Visual Studio Code

Přihlašovací údaje editoru Visual Studio Code umožňují ověřování ve vývojových prostředích, kde je VS Code nainstalovaný s rozšířením účtu Azure VS Code. Používá informace o přihlášených uživatelích v integrovaném vývojovém prostředí VS Code a používá je k ověření aplikace na základě ID Microsoft Entra.

Přihlášení rozšíření účtu Azure Pro Visual Studio Code pro VisualStudioCodeCredential

Integrace Nn s rozšířením účtu Azure zpracovává ověřování v editoru Visual Studio Code. Pokud chcete použít tuto formu ověřování, nainstalujte rozšíření účtu Azure a pak pomocí palety příkazů Zobrazit > spusťte příkaz Azure: Přihlásit se. Tento příkaz otevře okno prohlížeče a zobrazí stránku, která vám umožní přihlásit se k Azure. Po dokončení procesu přihlášení můžete prohlížeč zavřít podle pokynů. Spuštění aplikace (buď v ladicím programu, nebo kdekoli na vývojovém počítači) používá přihlašovací údaje z vašeho přihlášení.

Ověření uživatelského účtu pomocí editoru Visual Studio Code

Následující příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí VisualStudioCodeCredential na pracovní stanici, kde je nainstalovaný Visual Studio Code, a uživatel se přihlásil pomocí účtu Azure.

VisualStudioCodeCredential visualStudioCodeCredential = new VisualStudioCodeCredentialBuilder().build();

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(visualStudioCodeCredential)
  .buildClient();

Další kroky

Tento článek se zabýval ověřováním během vývoje pomocí přihlašovacích údajů dostupných na vašem počítači. Tato forma ověřování je jedním z několika způsobů, jak se můžete ověřit v sadě Azure SDK pro Javu. Následující články popisují další způsoby:

Pokud narazíte na problémy související s ověřováním vývojového prostředí, přečtěte si téma Řešení potíží s ověřováním vývojového prostředí.

Jakmile zvládnete ověřování, přečtěte si téma Konfigurace protokolování v sadě Azure SDK pro Javu , kde najdete informace o funkcích protokolování poskytovaných sadou SDK.