Microsoft Entra-hitelesítés az Application Insightshoz

Az alkalmazás Elemzések mostantól támogatja a Microsoft Entra-hitelesítést. A Microsoft Entra ID használatával meggyőződhet arról, hogy csak a hitelesített telemetriai adatok kerülnek be az alkalmazás Elemzések-erőforrásokba.

A különböző hitelesítési rendszerek használata nehézkes és kockázatos lehet, mert a hitelesítő adatok nagy léptékben nehezen kezelhetők. Mostantól kikapcsolhatja a helyi hitelesítést, hogy csak felügyelt identitásokkalhitelesített telemetriai adatok legyenek hitelesítve, és a Microsoft Entra-azonosító be legyen osztva az erőforrásba. Ez a funkció a kritikus fontosságú üzemeltetési (riasztási és automatikus skálázási) és üzleti döntések meghozatalához használt telemetriai adatok biztonságának és megbízhatóságának fokozására szolgál.

Feljegyzés

Ez a dokumentum a Microsoft Entra ID-alapú hitelesítést használó alkalmazás Elemzések való adatbetöltést ismerteti. Az alkalmazás Elemzések belüli adatok lekérdezéséről további információt a Microsoft Entra-hitelesítést használó lekérdezési alkalmazás Elemzések című témakörben talál.

Előfeltételek

A Microsoft Entra által hitelesített betöltés engedélyezéséhez az alábbi előzetes lépések szükségesek. A következőkre van szüksége:

Nem támogatott forgatókönyvek

Az alábbi szoftverfejlesztői készletek (SDK-k) és funkciók nem támogatottak a Microsoft Entra által hitelesített betöltéssel való használathoz:

A Microsoft Entra ID-alapú hitelesítés konfigurálása és engedélyezése

  1. Ha még nem rendelkezik identitással, hozzon létre egyet felügyelt identitás vagy szolgáltatásnév használatával.

  2. Szerepkör hozzárendelése az Azure-szolgáltatáshoz.

    Kövesse az Azure-szerepkörök hozzárendelése című témakörben leírt lépéseket, hogy a monitorozási metrikák közzétevői szerepkörét a célalkalmazásból Elemzések erőforrásból adja hozzá ahhoz az Azure-erőforráshoz, ahonnan a telemetriát elküldi.

    Feljegyzés

    Bár a Monitorozási metrikák közzétevője szerepkör "metrikák" szöveget tartalmaz, minden telemetriát közzé fog tenni az alkalmazás Elemzések erőforrásban.

  3. Kövesse a konfigurációs útmutatót az alábbi nyelvnek megfelelően.

Feljegyzés

A Microsoft Entra ID támogatása az alkalmazás Elemzések .NET SDK-ban a 2.18-beta3 verziótól kezdve érhető el.

Az Application Elemzések .NET SDK támogatja az Azure Identity által biztosított hitelesítő osztályokat.

  • Helyi fejlesztéshez ajánljuk DefaultAzureCredential .
  • Rendszer által hozzárendelt és felhasználó által hozzárendelt felügyelt identitásokhoz javasoljuk ManagedIdentityCredential .
    • A rendszer által hozzárendelt alapértelmezett konstruktort használja paraméterek nélkül.
    • Felhasználó által hozzárendelt esetben adja meg az ügyfél-azonosítót a konstruktornak.

Az alábbi példa bemutatja, hogyan hozhat létre és konfigurálhat TelemetryConfiguration manuálisan a .NET használatával:

TelemetryConfiguration.Active.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/";
var credential = new DefaultAzureCredential();
TelemetryConfiguration.Active.SetAzureTokenCredential(credential);

Az alábbi példa bemutatja, hogyan konfigurálható TelemetryConfiguration a .NET Core használatával:

services.Configure<TelemetryConfiguration>(config =>
{
       var credential = new DefaultAzureCredential();
       config.SetAzureTokenCredential(credential);
});
services.AddApplicationInsightsTelemetry(new ApplicationInsightsServiceOptions
{
    ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/"
});

Helyi hitelesítés letiltása

A Microsoft Entra-hitelesítés engedélyezése után letilthatja a helyi hitelesítést. Ez a konfiguráció lehetővé teszi a kizárólag a Microsoft Entra ID által hitelesített telemetriai adatok betöltését, és hatással van az adathozzáférésre (például API-kulcsokon keresztül).

Letilthatja a helyi hitelesítést az Azure Portal vagy az Azure Policy használatával, vagy programozott módon.

Azure Portal

  1. Az alkalmazás Elemzések erőforrásban válassza a Tulajdonságok lehetőséget a bal oldali menü Konfigurálás fejléce alatt. Ha a helyi hitelesítés engedélyezve van, válassza az Engedélyezve (kattintson ide a módosításhoz) lehetőséget.

    Képernyőkép a Tulajdonságok a Konfigurálás szakaszban, valamint az Engedélyezve (válassza a módosításhoz) helyi hitelesítés gombot.

  2. Válassza a Letiltva lehetőséget, és alkalmazza a módosításokat.

    Képernyőkép a helyi hitelesítésről az Engedélyezve/Letiltva gombbal.

  3. Miután letiltotta a helyi hitelesítést az erőforráson, a megfelelő információk megjelennek az Áttekintés panelen.

    Képernyőkép az Áttekintés lapról a Helyi hitelesítés letiltva (válassza a módosításhoz) gombot.

Azure Policy

Az DisableLocalAuth Azure Policy tagadja, hogy a felhasználók új alkalmazás-Elemzések erőforrást hozhatnak létre anélkül, hogy trueez a tulajdonság be van állítva. A szabályzat neve .Application Insights components should block non-AAD auth ingestion

Ha ezt a szabályzatdefiníciót az előfizetésére szeretné alkalmazni, hozzon létre egy új szabályzat-hozzárendelést, és rendelje hozzá a szabályzatot.

Az alábbi példa a szabályzatsablon definícióját mutatja be:

{
    "properties": {
        "displayName": "Application Insights components should block non-AAD auth ingestion",
        "policyType": "BuiltIn",
        "mode": "Indexed",
        "description": "Improve Application Insights security by disabling log ingestion that are not AAD-based.",
        "metadata": {
            "version": "1.0.0",
            "category": "Monitoring"
        },
        "parameters": {
            "effect": {
                "type": "String",
                "metadata": {
                    "displayName": "Effect",
                    "description": "The effect determines what happens when the policy rule is evaluated to match"
                },
                "allowedValues": [
                    "audit",
                    "deny",
                    "disabled"
                ],
                "defaultValue": "audit"
            }
        },
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "field": "type",
                        "equals": "Microsoft.Insights/components"
                    },
                    {
                        "field": "Microsoft.Insights/components/DisableLocalAuth",
                        "notEquals": "true"                        
                    }
                ]
            },
            "then": {
                "effect": "[parameters('effect')]"
            }
        }
    }
}

Programozott engedélyezés

A tulajdonság DisableLocalAuth az alkalmazás Elemzések erőforráson található helyi hitelesítés letiltására szolgál. Ha ez a tulajdonság be van állítva true, kényszeríti, hogy a Microsoft Entra-hitelesítést minden hozzáféréshez használni kell.

Az alábbi példa azt az Azure Resource Manager-sablont mutatja be, amellyel munkaterület-alapú alkalmazásokat hozhat létre, Elemzések erőforrás LocalAuth le van tiltva.

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "name": {
            "type": "string"
        },
        "type": {
            "type": "string"
        },
        "regionId": {
            "type": "string"
        },
        "tagsArray": {
            "type": "object"
        },
        "requestSource": {
            "type": "string"
        },
        "workspaceResourceId": {
            "type": "string"
        },
        "disableLocalAuth": {
            "type": "bool"
        }
     
    },
    "resources": [
        {
        "name": "[parameters('name')]",
        "type": "microsoft.insights/components",
        "location": "[parameters('regionId')]",
        "tags": "[parameters('tagsArray')]",
        "apiVersion": "2020-02-02-preview",
        "dependsOn": [],
        "properties": {
            "Application_Type": "[parameters('type')]",
            "Flow_Type": "Redfield",
            "Request_Source": "[parameters('requestSource')]",
            "WorkspaceResourceId": "[parameters('workspaceResourceId')]",
            "DisableLocalAuth": "[parameters('disableLocalAuth')]"
            }
    }
 ]
}

Jogkivonat célközönsége

Amikor egyéni ügyfelet fejleszt, hogy hozzáférési jogkivonatot szerezzen be a Microsoft Entra-azonosítóból, hogy telemetriát küldjön az Alkalmazás Elemzések, tekintse meg az alábbi táblázatot az adott gazdagépkörnyezet megfelelő célközönségi sztringjének meghatározásához.

Azure-felhőverzió Jogkivonat célközönségének értéke
Nyilvános Azure-felhő https://monitor.azure.com
A 21Vianet-felhő által üzemeltetett Microsoft Azure https://monitor.azure.cn
Azure US Government-felhő https://monitor.azure.us

Ha szuverén felhőket használ, a célközönség adatait is megtalálhatja a kapcsolati sztring. A kapcsolati sztring a következő struktúrát követi:

InstrumentationKey={profile. InstrumentationKey}; IngestionEndpoint={ingestionEndpoint}; LiveEndpoint={liveDiagnosticsEndpoint}; AADAudience={aadAudience}

Az AADAudience célközönségparamétere az adott környezettől függően változhat.

Hibaelhárítás

Ez a szakasz különböző hibaelhárítási forgatókönyveket és lépéseket tartalmaz, amelyeket a támogatási jegy létrehozása előtt elvégezhet a probléma megoldásához.

Betöltési HTTP-hibák

A betöltési szolgáltatás az SDK nyelvétől függetlenül adott hibákat ad vissza. A hálózati forgalom egy olyan eszközzel gyűjthető össze, mint a Fiddler. Szűrje a kapcsolati sztring beállított betöltési végpont felé irányuló forgalmat.

HTTP/1.1 400 Hitelesítés nem támogatott

Ez a hiba azt mutatja, hogy az erőforrás csak a Microsoft Entra-hoz van beállítva. Helyesen kell konfigurálnia az SDK-t, mert nem a megfelelő API-ra küldi.

Feljegyzés

A "v2/track" nem támogatja a Microsoft Entra-azonosítót. Ha az SDK megfelelően van konfigurálva, a rendszer a telemetriát a "v2.1/track" címre küldi.

Ezután tekintse át az SDK-konfigurációt.

HTTP/1.1 401 Engedélyezés szükséges

Ez a hiba azt jelzi, hogy az SDK megfelelően van konfigurálva, de nem tud érvényes jogkivonatot beszerezni. Ez a hiba a Microsoft Entra-azonosítóval kapcsolatos problémát jelezhet.

Ezután meg kell határoznia az SDK-naplókban szereplő kivételeket vagy az Azure Identity hálózati hibáit.

HTTP/1.1 403 Jogosulatlan

Ez a hiba azt jelenti, hogy az SDK az alkalmazás Elemzések erőforrás vagy előfizetés engedélye nélkül használ hitelesítő adatokat.

Először ellenőrizze az alkalmazás Elemzések erőforrás hozzáférés-vezérlését. Az SDK-t olyan hitelesítő adatokkal kell konfigurálnia, amelyek rendelkeznek monitorozási metrikák közzétevői szerepkörével.

Nyelvspecifikus hibaelhárítás

Eseményforrás

Az alkalmazás Elemzések .NET SDK hibanaplókat bocsát ki az eseményforrás használatával. Az eseményforrás-naplók gyűjtésével kapcsolatos további információkért lásd : Adatok nélküli hibaelhárítás – naplók gyűjtése a PerfView-nal.

Ha az SDK nem tud jogkivonatot lekérni, a kivételüzenet naplózása a következőként Failed to get AAD Token. Error message:történik: .

Következő lépések