Microsoft Entra-Authentifizierung für Application Insights
Application Insights unterstützt jetzt die Microsoft Entra-Authentifizierung. Mit Microsoft Entra ID können Sie sicherstellen, dass ausschließlich authentifizierte Telemetriedaten in Ihren Application Insights-Ressourcen erfasst werden.
Die Nutzung mehrerer Authentifizierungssysteme kann umständlich und riskant sein, weil es schwierig ist, Anmeldeinformationen im großen Stil zu verwalten. Sie können jetzt wahlweise die lokale Authentifizierung deaktivieren, um sicherzustellen, dass in Ihrer Ressource nur Telemetriedaten erfasst werden, die ausschließlich mithilfe von verwalteten Identitäten und Microsoft Entra ID authentifiziert wurden. Diese Funktion ist ein Schritt zur Verbesserung der Sicherheit und Zuverlässigkeit der Telemetrie, die für kritische betriebliche (Warnung und automatische Skalierung) und geschäftliche Entscheidungen verwendet wird.
Voraussetzungen
Die folgenden vorläufigen Schritte sind erforderlich, um die authentifizierte Aufnahme von Microsoft Entra zu aktivieren. Sie müssen folgende Schritte durchführen:
- In der öffentlichen Cloud arbeiten.
- Machen Sie sich vertraut mit:
- Um Zugriff mithilfe integrierter Azure-Rollen gewähren zu können, ist die Rolle „Besitzer“ in der Ressourcengruppe erforderlich.
- Sie müssen die nicht unterstützten Szenarien verstehen.
Nicht unterstützte Szenarien
Die folgenden Software Development Kits (SDKs) und Features werden bei der authentifizierten Datenerfassung in Microsoft Entra nicht unterstützt:
- Application Insights Java 2.x SDK.
Die Microsoft Entra-Authentifizierung ist nur für den Java-Agent 3.2.0 und höher von Application Insights verfügbar. - ApplicationInsights JavaScript-Web SDK.
- Application Insights-OpenCensus-Python SDK mit Python-Version 3.4 und 3.5.
- AutoInstrumentation für Python in Azure App Service
- Profiler.
Konfigurieren und Aktivieren der Microsoft Entra ID-basierten Authentifizierung
Wenn Sie noch keine Identität haben, erstellen Sie eine entweder mithilfe einer verwalteten Identität oder eines Dienstprinzipals.
Wir empfehlen die Verwendung einer verwalteten Identität:
Richten Sie eine verwaltete Identität für Ihren Azure-Dienst (Virtual Machines oder App Service) ein.
Wir raten von der Verwendung eines Dienstprinzipals ab:
Weitere Informationen über das Erstellen einer Microsoft Entra-Anwendung und eines Dienstprinzipals mit Ressourcenzugriff finden Sie unter Erstellen eines Dienstprinzipals.
Weisen Sie der Azure-Identität, dem Dienstprinzipal oder dem Azure-Benutzerkonto die erforderliche rollenbasierte Zugriffssteuerungsrolle (RBAC) zu.
Führen Sie die Schritte in Zuweisen von Azure-Rollen aus, um der erwarteten Identität, dem erwarteten Dienstprinzipal oder dem erwarteten Azure-Benutzerkonto die Rolle „Herausgeber für Überwachungsmetriken“ zu erteilen, indem Sie die Zielressource „Application Insights“ als Geltungsbereich der Rolle festlegen.
Hinweis
Obwohl in der Bezeichnung der Rolle „Herausgeber von Überwachungsmetriken“ nur der Begriff „Metriken“ verwendet wird, werden in der Application Insights-Ressource alle Telemetriedaten veröffentlicht.
Folgen Sie der Konfigurationsanleitung in Übereinstimmung mit der folgenden Sprache.
Hinweis
Microsoft Entra ID wird im .NET-SDK von Application Insights ab Version 2.18-Beta3 unterstützt.
Das Application Insights-.NET SDK unterstützt die von Azure Identity bereitgestellten Anmeldeinformationsklassen.
- Wir empfehlen
DefaultAzureCredential
für die lokale Entwicklung. - Authentifizieren Sie sich in Visual Studio mit dem erwarteten Azure-Benutzerkonto. Weitere Informationen finden Sie unter Authentifizieren über Visual Studio.
- Wir empfehlen
ManagedIdentityCredential
wird für systemseitig zugewiesene und benutzerseitig zugewiesene verwaltete Identitäten.- Verwenden Sie bei systemseitig zugewiesenen Identitäten den Standardkonstruktor ohne Parameter.
- Stellen Sie bei benutzerseitig zugewiesenen Identitäten die Client-ID für den Konstruktor bereit.
Das folgende Beispiel wird gezeigt, wie Sie TelemetryConfiguration
mithilfe von .NET manuell erstellen und konfigurieren:
TelemetryConfiguration.Active.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/";
var credential = new DefaultAzureCredential();
TelemetryConfiguration.Active.SetAzureTokenCredential(credential);
Im folgenden Beispiel wird gezeigt, wie Sie TelemetryConfiguration
mithilfe von .NET Core konfigurieren:
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/"
});
Umgebungsvariablenkonfiguration
Verwenden Sie die Umgebungsvariable APPLICATIONINSIGHTS_AUTHENTICATION_STRING
, um die Authentifizierung von Application Insights bei Microsoft Entra ID zu ermöglichen und Telemetrie zu senden, wenn Sie die automatische Instrumentierung von Azure App Services verwenden.
- Für systemseitig zugewiesene Identität:
App-Einstellung | Wert |
---|---|
APPLICATIONINSIGHTS_AUTHENTICATION_STRING | Authorization=AAD |
- Für benutzerseitig zugewiesene Identität:
App-Einstellung | Wert |
---|---|
APPLICATIONINSIGHTS_AUTHENTICATION_STRING | Authorization=AAD;ClientId={Client id of the User-Assigned Identity} |
Abfragen von Application Insights mithilfe der Microsoft Entra-Authentifizierung
Sie können eine Abfrageanforderung mithilfe des Azure Monitor Application Insights-Endpunkts https://api.applicationinsights.io
übermitteln. Um auf den Endpunkt zuzugreifen, müssen Sie sich über Microsoft Entra ID authentifizieren.
Einrichten der Authentifizierung
Sie registrieren eine Client-App bei Microsoft Entra ID und fordern ein Token an, um auf die API zuzugreifen.
Wählen Sie auf der Übersichtsseite der App API-Berechtigungen aus.
Wählen Sie Berechtigung hinzufügen aus.
Suchen Sie auf der Registerkarte Von meiner Organisation verwendete APIs nach Application Insights, und wählen Sie in der Liste Application Insights-API aus.
Wählen Sie Delegierte Berechtigungen aus.
Aktivieren Sie das Kontrollkästchen Data.Read.
Wählen Sie Berechtigungen hinzufügen aus.
Nachdem Ihre App registriert ist und über Berechtigungen zur Verwendung der API verfügt, gewähren Sie Ihrer App Zugriff auf Ihre Application Insights-Ressource.
Wählen Sie auf der Übersichtsseite der Application Insights-Ressource die Option Zugriffssteuerung (IAM) aus.
Wählen Sie Rollenzuweisung hinzufügen aus.
Wählen Sie die Rolle Leser und dann Mitglieder aus.
Wählen Sie auf der Registerkarte Mitglieder die Option Mitglieder auswählen aus.
Geben Sie den Namen Ihrer App in das Feld Auswählen ein.
Wählen Sie zunächst Ihre App und dann Auswählen aus.
Wählen Sie Überprüfen und zuweisen aus.
Nachdem Sie die Active Directory-Einrichtung und die Berechtigungen abgeschlossen haben, fordern Sie ein Autorisierungstoken an.
Hinweis
In diesem Beispiel haben wir die Rolle „Leser“ angewendet. Diese Rolle ist eine von vielen integrierten Rollen und enthält möglicherweise mehr Berechtigungen als benötigt. Sie können auch differenziertere Rollen und Berechtigungen erstellen.
Anfordern eines Autorisierungstokens
Stellen Sie vor Beginn sicher, dass Sie über alle Werte verfügen, die für die erfolgreiche Anforderung erforderlich sind. Für alle Anforderungen wird Folgendes benötigt:
- Ihre Microsoft Entra-Mandanten-ID
- Ihre App Insights-App-ID: Wenn Sie derzeit API-Schlüssel verwenden, ist dies die gleiche App-ID.
- Ihre Microsoft Entra-Client-ID für die App
- Einen geheimen Microsoft Entra-Clientschlüssel für die App
Die Application Insights-API unterstützt die Microsoft Entra-Authentifizierung mit drei verschiedenen Flows von Microsoft Entra ID OAuth2:
- Client credentials (Clientanmeldeinformationen)
- Authorization code (Autorisierungscode)
- Implizit
Clientanmeldeinformations-Flow
Im Flow für Clientanmeldeinformationen wird das Token mit dem Application Insights-Endpunkt verwendet. Es wird eine einzelne Anforderung zum Empfangen eines Tokens mithilfe der Anmeldeinformationen gestellt, die für Ihre App im vorherigen Schritt Registrieren einer App in Microsoft Entra ID angegeben wurden.
Verwenden Sie den Endpunkt https://api.applicationinsights.io
.
URL für Client-Anmeldeinformations-Token (POST-Anforderung)
POST /<your-tenant-id>/oauth2/token
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
&client_id=<app-client-id>
&resource=https://api.applicationinsights.io
&client_secret=<app-client-secret>
Bei einer erfolgreichen Anforderung empfangen Sie ein Zugriffstoken in der Antwort:
{
token_type": "Bearer",
"expires_in": "86399",
"ext_expires_in": "86399",
"access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax"
}
Verwenden Sie das Token in Anforderungen an den Application Insights-Endpunkt:
POST /v1/apps/yous_app_id/query?timespan=P1D
Host: https://api.applicationinsights.io
Content-Type: application/json
Authorization: Bearer <your access token>
Body:
{
"query": "requests | take 10"
}
Beispielantwort:
"tables": [
{
"name": "PrimaryResult",
"columns": [
{
"name": "timestamp",
"type": "datetime"
},
{
"name": "id",
"type": "string"
},
{
"name": "source",
"type": "string"
},
{
"name": "name",
"type": "string"
},
{
"name": "url",
"type": "string"
},
{
"name": "success",
"type": "string"
},
{
"name": "resultCode",
"type": "string"
},
{
"name": "duration",
"type": "real"
},
{
"name": "performanceBucket",
"type": "string"
},
{
"name": "customDimensions",
"type": "dynamic"
},
{
"name": "customMeasurements",
"type": "dynamic"
},
{
"name": "operation_Name",
"type": "string"
},
{
"name": "operation_Id",
"type": "string"
},
{
"name": "operation_ParentId",
"type": "string"
},
{
"name": "operation_SyntheticSource",
"type": "string"
},
{
"name": "session_Id",
"type": "string"
},
{
"name": "user_Id",
"type": "string"
},
{
"name": "user_AuthenticatedId",
"type": "string"
},
{
"name": "user_AccountId",
"type": "string"
},
{
"name": "application_Version",
"type": "string"
},
{
"name": "client_Type",
"type": "string"
},
{
"name": "client_Model",
"type": "string"
},
{
"name": "client_OS",
"type": "string"
},
{
"name": "client_IP",
"type": "string"
},
{
"name": "client_City",
"type": "string"
},
{
"name": "client_StateOrProvince",
"type": "string"
},
{
"name": "client_CountryOrRegion",
"type": "string"
},
{
"name": "client_Browser",
"type": "string"
},
{
"name": "cloud_RoleName",
"type": "string"
},
{
"name": "cloud_RoleInstance",
"type": "string"
},
{
"name": "appId",
"type": "string"
},
{
"name": "appName",
"type": "string"
},
{
"name": "iKey",
"type": "string"
},
{
"name": "sdkVersion",
"type": "string"
},
{
"name": "itemId",
"type": "string"
},
{
"name": "itemType",
"type": "string"
},
{
"name": "itemCount",
"type": "int"
}
],
"rows": [
[
"2018-02-01T17:33:09.788Z",
"|0qRud6jz3k0=.c32c2659_",
null,
"GET Reports/Index",
"http://fabrikamfiberapp.azurewebsites.net/Reports",
"True",
"200",
"3.3833",
"<250ms",
"{\"_MS.ProcessedByMetricExtractors\":\"(Name:'Requests', Ver:'1.0')\"}",
null,
"GET Reports/Index",
"0qRud6jz3k0=",
"0qRud6jz3k0=",
"Application Insights Availability Monitoring",
"9fc6738d-7e26-44f0-b88e-6fae8ccb6b26",
"us-va-ash-azr_9fc6738d-7e26-44f0-b88e-6fae8ccb6b26",
null,
null,
"AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3",
"PC",
null,
null,
"52.168.8.0",
"Boydton",
"Virginia",
"United States",
null,
"fabrikamfiberapp",
"RD00155D5053D1",
"cf58dcfd-0683-487c-bc84-048789bca8e5",
"fabrikamprod",
"5a2e4e0c-e136-4a15-9824-90ba859b0a89",
"web:2.5.0-33031",
"051ad4ef-0776-11e8-ac6e-e30599af6943",
"request",
"1"
],
[
"2018-02-01T17:33:15.786Z",
"|x/Ysh+M1TfU=.c32c265a_",
null,
"GET Home/Index",
"http://fabrikamfiberapp.azurewebsites.net/",
"True",
"200",
"716.2912",
"500ms-1sec",
"{\"_MS.ProcessedByMetricExtractors\":\"(Name:'Requests', Ver:'1.0')\"}",
null,
"GET Home/Index",
"x/Ysh+M1TfU=",
"x/Ysh+M1TfU=",
"Application Insights Availability Monitoring",
"58b15be6-d1e6-4d89-9919-52f63b840913",
"emea-se-sto-edge_58b15be6-d1e6-4d89-9919-52f63b840913",
null,
null,
"AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3",
"PC",
null,
null,
"51.141.32.0",
"Cardiff",
"Cardiff",
"United Kingdom",
null,
"fabrikamfiberapp",
"RD00155D5053D1",
"cf58dcfd-0683-487c-bc84-048789bca8e5",
"fabrikamprod",
"5a2e4e0c-e136-4a15-9824-90ba859b0a89",
"web:2.5.0-33031",
"051ad4f0-0776-11e8-ac6e-e30599af6943",
"request",
"1"
]
]
}
]
}
Autorisierungscodeflow
Der unterstützte OAuth2-Hauptflow basiert auf Autorisierungscodes. Diese Methode erfordert zwei HTTP-Anforderungen, um ein Token zum Aufrufen der Azure Monitor Application Insights-API zu erhalten. Es gibt zwei URLs, mit einem Endpunkt pro Anforderung. Ihre Formate werden in den folgenden Abschnitten beschrieben.
Autorisierungscode-URL (GET-Anforderung)
GET https://login.microsoftonline.com/YOUR_Azure AD_TENANT/oauth2/authorize?
client_id=<app-client-id>
&response_type=code
&redirect_uri=<app-redirect-uri>
&resource=https://api.applicationinsights.io
Wenn eine Anforderung an die autorisierte URL übermittelt wurde, ist die client\_id
die aus dem Menü „Eigenschaften“ Ihrer Microsoft Entra-App kopierte Anwendungs-ID. Der redirect\_uri
ist die homepage/login
-URL aus derselben Microsoft Entra-App. Ist die Anforderung erfolgreich, werden Sie von diesem Endpunkt zu der Anmeldeseite umgeleitet, die Sie bei der Registrierung angegeben haben, und der Autorisierungscode wird an die URL angefügt. Sehen Sie sich folgendes Beispiel an:
http://<app-client-id>/?code=AUTHORIZATION_CODE&session_state=STATE_GUID
An diesem Punkt erhalten Sie einen Autorisierungscode, den Sie jetzt zum Anfordern eines Zugriffstokens verwenden.
URL für Autorisierungscode-Token (POST-Anforderung)
POST /YOUR_Azure AD_TENANT/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id=<app client id>
&code=<auth code fom GET request>
&redirect_uri=<app-client-id>
&resource=https://api.applicationinsights.io
&client_secret=<app-client-secret>
Die Werte sind die gleichen wie zuvor, aber mit einigen Ergänzungen. Der Autorisierungscode ist der Code, den Sie in der vorherigen Anforderung nach erfolgreicher Umleitung erhalten haben. Der Code wird mit dem Schlüssel kombiniert, der von der Microsoft Entra-App abgerufen wurde. Wenn Sie den Schlüssel nicht gespeichert haben, können Sie diesen löschen und auf der Registerkarte „Schlüssel“ im Menü der Microsoft Entra-App einen neuen Schlüssel erstellen. Die Antwort ist eine JSON-Zeichenfolge, die das Token mit dem folgenden Schema enthält. Für die Tokenwerte sind Typen angegeben.
Beispielantwort:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
"expires_in": "3600",
"ext_expires_in": "1503641912",
"id_token": "not_needed_for_app_insights",
"not_before": "1503638012",
"refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az",
"resource": "https://api.applicationinsights.io",
"scope": "Data.Read",
"token_type": "bearer"
}
Der Zugriffstokenteil dieser Antwort muss der Application Insights-API im Header Authorization: Bearer
präsentiert werden. Anschließend kann auch das Aktualisierungs-Token verwendet werden, um ein neues Zugriffs-Token (access_token) und ein Aktualisierungs-Token (refresh_token) zu erhalten, wenn Ihre Token veraltet sind. Für diese Anforderung werden das folgende Format und der folgende Endpunkt verwendet:
POST /YOUR_AAD_TENANT/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
client_id=<app-client-id>
&refresh_token=<refresh-token>
&grant_type=refresh_token
&resource=https://api.applicationinsights.io
&client_secret=<app-client-secret>
Beispielantwort:
{
"token_type": "Bearer",
"expires_in": "3600",
"expires_on": "1460404526",
"resource": "https://api.applicationinsights.io",
"access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
"refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az"
}
Impliziter Code-Flow
Die Application Insights-API unterstützt den impliziten Flow für OAuth2. Bei diesem Flow ist nur eine einzelne Anforderung erforderlich, es kann jedoch kein Aktualisierungs-Token bezogen werden.
Implizite Codeautorisierungs-URL
GET https://login.microsoftonline.com/YOUR_AAD_TENANT/oauth2/authorize?
client_id=<app-client-id>
&response_type=token
&redirect_uri=<app-redirect-uri>
&resource=https://api.applicationinsights.io
Eine erfolgreiche Anforderung hat eine Umleitung zu Ihrem Umleitungs-URI zur Folge, und das Token wird in die URL integriert:
http://YOUR_REDIRECT_URI/#access_token=YOUR_ACCESS_TOKEN&token_type=Bearer&expires_in=3600&session_state=STATE_GUID
Dieses Zugriffstoken dient bei der Übergabe an die Application Insights-API als Headerwert Authorization: Bearer
, um Anforderungen zu autorisieren.
Deaktivieren der lokalen Authentifizierung
Nach dem Aktivieren der Microsoft Entra-Authentifizierung können Sie die lokale Authentifizierung deaktivieren. Diese Konfiguration ermöglicht Ihnen das Erfassen von Telemetriedaten, die ausschließlich durch Microsoft Entra ID authentifiziert wurden, und sie wirkt sich auf den Datenzugriff beispielsweise über API-Schlüssel aus.
Sie können die lokale Authentifizierung über das Azure-Portal, mithilfe von Azure Policy oder programmgesteuert deaktivieren.
Azure-Portal
Wählen Sie in Ihrer Application Insights-Ressource im linken Menü unter Konfigurieren die Option Eigenschaften aus. Wenn die lokale Authentifizierung aktiviert ist, wählen Sie Aktiviert (zum Ändern klicken) aus.
Wählen Sie Deaktiviert und wenden Sie die Änderungen an.
Nachdem die lokale Authentifizierung deaktiviert wurde, werden die entsprechenden Informationen im Bereich Übersicht angezeigt.
Azure Policy
Der Azure Policy-Dienst für die DisableLocalAuth
-Eigenschaft verweigert Benutzer*innen das Erstellen einer neuen Application Insights-Ressource, wenn diese Eigenschaft nicht auf true
festgelegt wurde. Der Richtlinienname lautet Application Insights components should block non-Azure Active Directory based ingestion
.
Um diese Richtliniendefinition auf Ihr Abonnement anzuwenden, erstellen Sie eine neue Richtlinienzuweisung, und weisen Sie die Richtlinie dann zu.
Im folgenden Beispiel wird die Definition der Richtlinienvorlage gezeigt:
{
"properties": {
"displayName": "Application Insights components should block non-Azure Active Directory based 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')]"
}
}
}
}
Programmgesteuerte Aktivierung
Die Eigenschaft DisableLocalAuth
wird zum Deaktivieren jeder lokalen Authentifizierung für Ihre Application Insights-Ressource verwendet. Wenn diese Eigenschaft auf true
festgelegt wurde, wird die Verwendung der Microsoft Entra-Authentifizierung für sämtliche Zugriffe erzwungen.
Im folgenden Beispiel wird die Azure Resource Manager-Vorlage gezeigt, mit der Sie eine arbeitsbereichsbasierte Application Insights-Ressource mit deaktivierter lokaler Authentifizierung (LocalAuth
) erstellen können.
{
"$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')]"
}
}
]
}
Zielgruppe
Wenn Sie einen benutzerdefinierten Client entwickeln, um ein Zugriffstoken von Microsoft Entra ID für die Übermittlung von Telemetriedaten an Application Insights zu erhalten, können Sie anhand der folgenden Tabelle die geeignete Zielgruppenzeichenfolge für die jeweilige Hostumgebung ermitteln.
Azure-Cloudversion | Wert der Tokenzielgruppe |
---|---|
Öffentliche Azure-Cloud | https://monitor.azure.com |
Microsoft Azure, betrieben von 21Vianet Cloud | https://monitor.azure.cn |
(Azure-Cloud für US-Behörden) | https://monitor.azure.us |
Wenn Sie Sovereign Clouds verwenden, finden Sie die Zielgruppeninformationen auch in der Verbindungszeichenfolge. Die Verbindungszeichenfolge weist die folgende Struktur auf:
InstrumentationKey={profile.InstrumentationKey};IngestionEndpoint={ingestionEndpoint};LiveEndpoint={liveDiagnosticsEndpoint};AADAudience={aadAudience}
Der Zielgruppenparameter „AADAudience“ kann abhängig von der jeweiligen Umgebung variieren.
Problembehandlung
Dieser Abschnitt enthält verschiedene Szenarien und Schritte zur Problembehandlung, die Sie ausführen können, um ein Problem zu beheben, bevor Sie ein Supportticket erstellen.
HTTP-Erfassungsfehler
Vom Erfassungsdienst werden unabhängig von der SDK-Sprache spezifische Fehler zurückgegeben. Netzwerkdatenverkehr kann mithilfe eines Tools wie Fiddler erfasst werden. Sie sollten Datenverkehr nach dem in der Verbindungszeichenfolge festgelegten Erfassungsendpunkt filtern.
HTTP/1.1 400: Authentifizierung wird nicht unterstützt
Dieser Fehler zeigt, dass die Ressource nur für Microsoft Entra festgelegt ist. Sie müssen das SDK ordnungsgemäß konfigurieren, da es an die falsche API gesendet wird.
Hinweis
Microsoft Entra ID wird von „v2/track“ nicht unterstützt. Wenn das SDK ordnungsgemäß konfiguriert ist, werden die Telemetriedaten an „v2.1/track“ gesendet.
Als Nächstes sollten Sie die SDK-Konfiguration überprüfen.
HTTP/1.1 401 Authorization required (Authorisierung erforderlich)
Dieser Fehler weist darauf hin, dass das SDK ordnungsgemäß konfiguriert wurde, aber kein gültiges Token abrufen kann. Dieser Fehler könnte auf ein Problem mit Microsoft Entra ID hinweisen.
Als Nächstes sollten Sie Ausnahmen in den SDK-Protokollen oder Netzwerkfehler von Azure Identity identifizieren.
HTTP/1.1 403 Unauthorized (Nicht autorisiert)
Dieser Fehler bedeutet, dass das SDK Anmeldeinformationen ohne Berechtigung für die Application Insights-Ressource oder das Abonnement verwendet.
Überprüfen Sie zuerst die Zugriffssteuerung der Application Insights-Ressource. Sie müssen das SDK mit Anmeldeinformationen konfigurieren, die über die Rolle "Monitoring Metrics Publisher" verfügen.
Sprachspezifische Problembehandlung
Ereignisquelle
Das Application Insights-.NET SDK gibt Fehlerprotokolle mithilfe der Ereignisquelle aus. Weitere Informationen zum Sammeln von Protokollen der Ereignisquelle finden Sie unter Problembehandlung ohne Daten – Sammeln von Protokollen mit PerfView.
Wenn das SDK kein Token abrufen kann, wird die Ausnahmemeldung als Failed to get AAD Token. Error message:
protokolliert.