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:
- Legyen a nyilvános felhőben.
- Ismerkedjen meg a következőkkel:
- Felügyelt identitás.
- Szolgáltatásnév.
- Azure-szerepkörök hozzárendelése.
- Tulajdonosi szerepkörrel rendelkezik az erőforráscsoporthoz, amely hozzáférést biztosít az Azure beépített szerepköreivel.
- Ismerje meg a nem támogatott forgatókönyveket.
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:
- Alkalmazás Elemzések Java 2.x SDK.
A Microsoft Entra-hitelesítés csak a 3.2.0-snál nagyobb vagy egyenlő Alkalmazás Elemzések Java-ügynökhöz érhető el. - Alkalmazás Elemzések JavaScript webes SDK.
- Az alkalmazás Elemzések OpenCensus Python SDK-t a Python 3.4-es és 3.5-ös verziójával.
- Az alapértelmezett autoinstrumentáció/kód nélküli monitorozás (nyelvekhez) a Azure-alkalmazás Szolgáltatáshoz, az Azure Virtual Machineshez,az Azure Virtual Machine Scale Setshez és az Azure Functionshez.
- Profilkészítő.
A Microsoft Entra ID-alapú hitelesítés konfigurálása és engedélyezése
Ha még nem rendelkezik identitással, hozzon létre egyet felügyelt identitás vagy szolgáltatásnév használatával.
Felügyelt identitás használatát javasoljuk:
Felügyelt identitás beállítása az Azure-szolgáltatáshoz (Virtuális gépek vagy App Service).
Nem javasoljuk a szolgáltatásnév használatát:
Az erőforrásokhoz hozzáférő Microsoft Entra-alkalmazás és szolgáltatásnév létrehozásáról további információt a Szolgáltatásnév létrehozása című témakörben talál.
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.
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
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.
Válassza a Letiltva lehetőséget, és alkalmazza a módosításokat.
Miután letiltotta a helyi hitelesítést az erőforráson, a megfelelő információk megjelennek az Áttekintés panelen.
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 true
ez 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: .