Vytvoření registrace aplikace Microsoft Entra v Azure Data Explorer

Microsoft Entra ověřování aplikací se používá pro aplikace, jako je bezobslužná služba nebo naplánovaný tok, které potřebují přístup k Azure Data Explorer bez přítomnosti uživatele. Pokud se připojujete k databázi Azure Data Explorer pomocí aplikace, jako je webová aplikace, měli byste provést ověření pomocí ověřování instančního objektu. Tento článek podrobně popisuje, jak vytvořit a zaregistrovat Microsoft Entra instanční objekt a pak ho autorizovat pro přístup k databázi Azure Data Explorer.

Vytvoření registrace aplikace Microsoft Entra

Microsoft Entra ověřování aplikací vyžaduje vytvoření a registraci aplikace pomocí Microsoft Entra ID. Instanční objekt se automaticky vytvoří při vytvoření registrace aplikace v tenantovi Microsoft Entra.

Registraci aplikace je možné vytvořit buď v Azure Portal, nebo programově pomocí Azure CLI. Zvolte kartu, která odpovídá vašemu scénáři.

Registrace aplikace

  1. Přihlaste se, abyste Azure Portal a otevřeli okno Microsoft Entra ID.

  2. Přejděte na Registrace aplikací a vyberte Nová registrace.

    Snímek obrazovky, který ukazuje, jak spustit registraci nové aplikace

  3. Pojmenujte aplikaci, například example-app.

  4. Vyberte podporovaný typ účtu, který určuje, kdo může aplikaci používat.

  5. V části Identifikátor URI pro přesměrování vyberte u typu aplikace, kterou chcete vytvořit, možnost Web . Identifikátor URI je volitelný a v tomto případě je prázdný.

    Snímek obrazovky znázorňující, jak zaregistrovat novou registraci aplikace

  6. Vyberte Zaregistrovat.

Nastavení ověřování

Pro instanční objekty jsou k dispozici dva typy ověřování: ověřování pomocí hesla (tajný klíč aplikace) a ověřování pomocí certifikátů. Následující část popisuje použití ověřování pomocí hesla pro přihlašovací údaje aplikace. Alternativně můžete k ověření aplikace použít certifikát X509. Další informace najdete v tématu Postup konfigurace Microsoft Entra ověřování pomocí certifikátů.

V průběhu této části zkopírujete následující hodnoty: ID aplikace a hodnota klíče. Tyto hodnoty vložte někam, například do textového editoru, abyste je mohli použít v kroku konfigurace přihlašovacích údajů klienta k databázi.

  1. Přejděte do okna Přehled .

  2. Zkopírujte ID aplikace (klienta) a ID adresáře (tenanta).

    Poznámka

    K autorizaci přístupu instančního objektu k databázi budete potřebovat ID aplikace a ID tenanta.

  3. V okně Certifikáty & tajné kódy vyberte Nový tajný klíč klienta.

    Snímek obrazovky znázorňující, jak začít vytvářet tajný klíč klienta

  4. Zadejte popis a vypršení platnosti.

  5. Vyberte Přidat.

  6. Zkopírujte si hodnotu klíče.

    Poznámka

    Když tuto stránku opustíte, hodnota klíče nebude přístupná.

Vytvořili jste aplikaci Microsoft Entra a instanční objekt.

Konfigurace delegovaných oprávnění pro aplikaci – volitelné

Pokud vaše aplikace potřebuje přístup k databázi pomocí přihlašovacích údajů volajícího uživatele, nakonfigurujte pro aplikaci delegovaná oprávnění. Například pokud vytváříte webové rozhraní API a chcete provést ověření pomocí přihlašovacích údajů uživatele, který volá vaše rozhraní API.

Pokud potřebujete přístup pouze k autorizovanému datovému prostředku, můžete tuto část přeskočit a pokračovat v části Udělení přístupu instančního objektu k databázi.

  1. Přejděte do okna Oprávnění rozhraní APIregistrace vaší aplikace.

  2. Vyberte Přidat oprávnění.

  3. Vyberte rozhraní API, která moje organizace používá.

  4. Vyhledejte a vyberte Azure Data Explorer.

    Snímek obrazovky znázorňující, jak přidat oprávnění rozhraní API Data Explorer Azure

  5. V části Delegovaná oprávnění zaškrtněte políčko user_impersonation .

  6. Vyberte Přidat oprávnění.

    Snímek obrazovky znázorňující, jak vybrat delegovaná oprávnění se zosobněním uživatele

Udělení přístupu instančnímu objektu k databázi

Po vytvoření registrace aplikace musíte udělit přístup k databázi odpovídajícímu instančnímu objektu. Následující příklad poskytuje přístup čtenáře. Informace o dalších rolích najdete v tématu Správa oprávnění databáze.

  1. Použijte hodnoty ID aplikace a ID tenanta zkopírované v předchozím kroku.

  2. V editoru dotazů spusťte následující příkaz a zástupné hodnoty ApplicationID a TenantID nahraďte skutečnými hodnotami:

    .add database <DatabaseName> viewers ('aadapp=<ApplicationID>;<TenantID>') '<Notes>'
    

    Příklad:

    .add database Logs viewers ('aadapp=1234abcd-e5f6-g7h8-i9j0-1234kl5678mn;9876abcd-e5f6-g7h8-i9j0-1234kl5678mn') 'App Registration'
    

    Poslední parametr je řetězec, který se zobrazí jako poznámky při dotazování rolí přidružených k databázi.

    Poznámka

    Po vytvoření registrace aplikace může trvat několik minut, než se na ni bude odkazovat. Pokud se zobrazí chyba, že aplikace nebyla nalezena, počkejte a zkuste to znovu.

Další informace o rolích najdete v tématu Řízení přístupu na základě rolí.

Použití přihlašovacích údajů aplikace pro přístup k databázi

Přihlašovací údaje aplikace použijte pro programový přístup k databázi pomocí klientské knihovny.

. . .
string applicationClientId = "<myClientID>";
string applicationKey = "<myApplicationKey>";
string authority = "<myApplicationTenantID>";
. . .
var kcsb = new KustoConnectionStringBuilder($"https://{clusterName}.kusto.windows.net/{databaseName}")
    .WithAadApplicationKeyAuthentication(
        applicationClientId,
        applicationKey,
        authority);
var client = KustoClientFactory.CreateCslQueryProvider(kcsb);
var queryResult = client.ExecuteQuery($"{query}");

Poznámka

Zadejte ID a klíč registrace aplikace (instanční objekt) vytvořené dříve.

Další informace najdete v tématu Ověřování pomocí knihovny Microsoft Authentication Library (MSAL) v aplikacích a použití Azure Key Vault s webovou aplikací .NET Core.

Poradce při potížích

Chyba kvůli neplatnému prostředku

Pokud se vaše aplikace používá k ověřování uživatelů nebo aplikací pro přístup, musíte pro aplikaci služby nastavit delegovaná oprávnění. Deklarujte, že aplikace může ověřovat uživatele nebo aplikace pro přístup. Pokud to neuděláte, při pokusu o ověření dojde k chybě podobné následující:

AADSTS650057: Invalid resource. The client has requested access to a resource which is not listed in the requested permissions in the client's application registration...

Při konfiguraci delegovaných oprávnění pro aplikaci budete muset postupovat podle pokynů.

Správce tenanta Microsoft Entra může přijmout zásady, které uživatelům tenanta zabrání v udělování souhlasu s aplikacemi. Tato situace bude mít za následek chybu podobnou následující, když se uživatel pokusí přihlásit k vaší aplikaci:

AADSTS65001: The user or administrator has not consented to use the application with ID '<App ID>' named 'App Name'

Budete muset kontaktovat správce Microsoft Entra a požádat o udělení souhlasu všem uživatelům v tenantovi nebo povolení souhlasu uživatele pro vaši konkrétní aplikaci.