Sdílet prostřednictvím


Ověřování javascriptových aplikací ve službách Azure během místního vývoje s využitím zprostředkovaného ověřování

Zprostředkované ověřování shromažďuje přihlašovací údaje uživatele pomocí zprostředkovatele ověřování systému k ověření aplikace. Zprostředkovatel ověřování systému je aplikace spuštěná na počítači uživatele, který spravuje ověřování handshakes a údržbu tokenů pro všechny připojené účty.

Zprostředkované ověřování nabízí následující výhody:

  • Povolí jednotné Sign-On (SSO): Umožňuje aplikacím zjednodušit ověřování uživatelů pomocí ID Microsoft Entra a chránit obnovovací tokeny Microsoft Entra ID před exfiltrací a zneužitím.
  • Rozšířené zabezpečení: Mnoho vylepšení zabezpečení se dodává se zprostředkovatelem, aniž by bylo nutné aktualizovat logiku aplikace.
  • Vylepšená podpora funkcí: S pomocí zprostředkovatele můžou vývojáři přistupovat k bohatým možnostem operačního systému a služeb.
  • Integrace systému: Aplikace, které používají modul plug-and-play zprostředkovatele s integrovaným výběrem účtu, umožňuje uživateli rychle vybrat existující účet místo opětovného zadávání stejných přihlašovacích údajů.
  • Ochrana tokenů: Zajišťuje, že jsou obnovovací tokeny vázané na zařízení a umožňují aplikacím získávat přístupové tokeny vázané na zařízení. Viz Ochrana tokenů.

Systém Windows poskytuje zprostředkovatele ověřování s názvem Správce webových účtů (WAM). WAM umožňuje poskytovatelům identity, jako je Microsoft Entra ID, nativně připojit k operačnímu systému a poskytovat aplikacím zabezpečené přihlašovací služby. Zprostředkované ověřování umožňuje aplikaci pro všechny operace povolené interaktivními přihlašovacími údaji.

Podporují se osobní účty Microsoft a pracovní nebo školní účty. V podporovaných verzích Windows se výchozí uživatelské rozhraní založené na prohlížeči nahrazuje plynulejším prostředím ověřování, podobně jako integrované aplikace pro Windows.

Linux používá jako zprostředkovatele ověřování jednotné přihlašování Microsoftu pro Linux .

Konfigurace aplikace pro zprostředkované ověřování

Pokud chcete ve své aplikaci povolit zprostředkované ověřování, postupujte takto:

  1. Na webu Azure Portal přejděte na MICROSOFT Entra ID a v nabídce vlevo vyberte Registrace aplikací .

  2. Vyberte registraci aplikace, a pak vyberte ověřování.

  3. Přidejte do registrace aplikace odpovídající identifikátor URI přesměrování prostřednictvím konfigurace platformy:

    1. V části Konfigurace platformy vyberte + Přidat platformu.

    2. V části Konfigurovat platformy vyberte dlaždici pro váš typ aplikace (platformu) a nakonfigurujte její nastavení, jako jsou mobilní a desktopové aplikace.

    3. V identifikátorech URI pro vlastní přesměrování zadejte následující identifikátor URI přesměrování pro vaši platformu:

      Platforma Přesměrování URI
      Windows 10+ nebo WSL ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}
      macOS msauth.com.msauth.unsignedapp://auth pro nepodepsané aplikace
      msauth.{bundle_id}://auth pro podepsané aplikace
      Operační systém Linux https://login.microsoftonline.com/common/oauth2/nativeclient

      Nahraďte nebo {your_client_id} nahraďte {bundle_id}ID aplikace (klienta) z podokna Přehled registrace aplikace.

    4. Vyberte a nakonfigurujte.

    Další informace najdete v tématu Přidání identifikátoru URI přesměrování do registrace aplikace.

  4. Zpět v podokně Ověřování v části Upřesnit nastavení vyberte Ano pro Povolit toky veřejného klienta.

  5. Chcete-li použít změny, vyberte Uložit .

  6. Pokud chcete aplikaci autorizovat pro konkrétní prostředky, přejděte na příslušný prostředek, vyberte oprávnění rozhraní APIa povolte Microsoft Graph a další prostředky, ke které chcete získat přístup.

    Důležité

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

Přiřaďte role

Pokud chcete úspěšně spustit kód aplikace s zprostředkovaným ověřováním, udělte svému uživatelskému účtu oprávnění pomocí řízení přístupu na základě role v Azure (RBAC). Přiřaďte příslušné roli k vašemu uživatelskému účtu pro příslušnou službu Azure. Například:

  • Azure Blob Storage: Přiřaďte roli Přispěvatel dat účtu úložiště .
  • Azure Key Vault: Přiřaďte roli Tajné kódy služby Key Vault .

Pokud je aplikace zadaná, musí mít nastavená oprávnění rozhraní API pro user_impersonation Access Azure Storage (krok 6 v předchozí části). Toto oprávnění rozhraní API umožňuje aplikaci přístup k úložišti Azure jménem přihlášeného uživatele po udělení souhlasu během přihlašování.

Implementace kódu

Knihovna Identit Azure podporuje zprostředkované ověřování pomocí InteractiveBrowserCredential. Pokud chcete například použít Node.js konzolovou aplikaci pro autentizaci ve službě Azure Key Vault pomocí SecretClient, postupujte takto:

  1. Nainstalujte balíčky @azure/identity a @azure/identity-broker :

    npm install @azure/identity @azure/identity-broker
    
  2. Vytvořte instanci InteractiveBrowserCredential pomocí možností brokera a zaregistrujte nativní zásuvný modul brokera:

    import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
    import { nativeBrokerPlugin } from "@azure/identity-broker";
    
    // Register the native broker plugin for brokered authentication
    useIdentityPlugin(nativeBrokerPlugin);
    
    // Use InteractiveBrowserCredential with broker for interactive or silent authentication
    
    // On Windows: Uses Windows Authentication Manager (WAM) - you'll be prompted to sign in
    // On macOS: Opens a browser window for authentication, since the broker flow isn't currently supported.
    // On Linux: Uses Microsoft Single Sign-on (SSO) for Linux.
    
    const credential = new InteractiveBrowserCredential({
        brokerOptions: {
            enabled: true,
            useDefaultBrokerAccount: true,
            // For Node.js console apps, we need to provide an empty buffer for parentWindowHandle
            parentWindowHandle: new Uint8Array(0),
        },
    });
    

Návod

Prohlédněte si kompletní vzorový kód aplikace v úložišti Azure SDK pro JavaScript GitHub.

V předchozím příkladu je vlastnost useDefaultBrokerAccount nastavena na true, která se přihlásí do tichého zprostředkovaného ověřovacího toku s výchozím systémovým účtem. Tímto způsobem uživatel nemusí opakovaně vybírat stejný účet. Pokud tiché, zprostředkované ověřování selže nebo useDefaultBrokerAccount je nastaveno false, InteractiveBrowserCredential vrátí se zpět do interaktivního zprostředkovaného ověřování.

Následující snímek obrazovky ukazuje alternativní interaktivní prostředí zprostředkovaného ověřování:

Snímek obrazovky s přihlašovacím prostředím windows při použití instance InteractiveBrowserCredential s povoleným zprostředkovatelem k ověření uživatele

Následující video ukazuje alternativní interaktivní zprostředkované ověřování:

Animovaný gif, který ukazuje prostředí pro přihlášení k Linuxu při použití instance InteractiveBrowserCredential s povoleným zprostředkovatelem k ověření uživatele.