Uwierzytelnianie w usłudze Microsoft Entra dla usługi Application Insights
Usługa Application Insights obsługuje teraz uwierzytelnianie firmy Microsoft Entra. Korzystając z identyfikatora Entra firmy Microsoft, możesz upewnić się, że tylko uwierzytelnione dane telemetryczne są pozyskiwane w zasobach usługi Application Insights.
Korzystanie z różnych systemów uwierzytelniania może być uciążliwe i ryzykowne, ponieważ trudno jest zarządzać poświadczeniami na dużą skalę. Teraz możesz zrezygnować z uwierzytelniania lokalnego, aby zapewnić, że tylko dane telemetryczne są uwierzytelniane wyłącznie przy użyciu tożsamości zarządzanych , a identyfikator Entra firmy Microsoft jest pozyskiwany w zasobie. Ta funkcja to krok w celu zwiększenia bezpieczeństwa i niezawodności telemetrii używanej do podejmowania krytycznych decyzji operacyjnych (alertów i skalowania automatycznego) oraz decyzji biznesowych.
Wymagania wstępne
Aby włączyć pozyskiwanie uwierzytelnione przez firmę Microsoft, wymagane są następujące wstępne kroki. Należy wykonać:
- Bądź w chmurze publicznej.
- Zapoznaj się z:
- Tożsamość zarządzana.
- Jednostka usługi.
- Przypisywanie ról platformy Azure.
- Udzielanie dostępu przy użyciu ról wbudowanych platformy Azure wymaga posiadania roli właściciela w grupie zasobów.
- Poznaj nieobsługiwane scenariusze.
Nieobsługiwane scenariusze
Następujące zestawy SDK (Software Development Kit) i funkcje nie są obsługiwane do użycia z uwierzytelnionym pozyskiwaniem danych przez firmę Microsoft Entra:
- Zestaw JAVA 2.x SDK usługi Application Insights.
Uwierzytelnianie Microsoft Entra jest dostępne tylko dla agenta Java usługi Application Insights większego lub równego 3.2.0. - Zestaw SDK sieci Web JavaScript usługi ApplicationInsights.
- Zestaw SDK języka Python openCensus usługi Application Insights z językiem Python w wersji 3.4 i 3.5.
- AutoInstrumentacja języka Python w usłudze aplikacja systemu Azure
- Profiler usługi Application Insights dla platformy .NET.
Konfigurowanie i włączanie uwierzytelniania opartego na identyfikatorze Entra firmy Microsoft
Jeśli nie masz jeszcze tożsamości, utwórz je przy użyciu tożsamości zarządzanej lub jednostki usługi.
Zalecamy używanie tożsamości zarządzanej:
Skonfiguruj tożsamość zarządzaną dla usługi platformy Azure (maszyny wirtualne lub usługa App Service).
Nie zalecamy używania jednostki usługi:
Aby uzyskać więcej informacji na temat tworzenia aplikacji entra firmy Microsoft i jednostki usługi, która może uzyskiwać dostęp do zasobów, zobacz Tworzenie jednostki usługi.
Przypisz wymaganą rolę kontroli dostępu opartej na rolach (RBAC) do konta użytkownika platformy Azure, jednostki usługi lub użytkownika platformy Azure.
Wykonaj kroki opisane w artykule Przypisywanie ról platformy Azure, aby dodać rolę Wydawca metryk monitorowania do oczekiwanej tożsamości, jednostki usługi lub konta użytkownika platformy Azure, ustawiając docelowy zasób usługi Application Insights jako zakres roli.
Uwaga
Mimo że rola Wydawca metryk monitorowania mówi "metryki", opublikuje wszystkie dane telemetryczne w zasobie usługi Application Insights.
Postępuj zgodnie ze wskazówkami dotyczącymi konfiguracji zgodnie z następującym językiem.
Uwaga
Obsługa identyfikatora Entra firmy Microsoft w zestawie SDK platformy .NET usługi Application Insights jest zawarta w wersji 2.18-Beta3.
Zestaw SDK platformy .NET usługi Application Insights obsługuje klasy poświadczeń udostępniane przez usługę Azure Identity.
- Zalecamy
DefaultAzureCredential
tworzenie aplikacji lokalnych. - Uwierzytelnianie w programie Visual Studio przy użyciu oczekiwanego konta użytkownika platformy Azure. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie za pomocą programu Visual Studio.
- Zalecamy
ManagedIdentityCredential
używanie tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika.- W przypadku przypisanego przez system użyj konstruktora domyślnego bez parametrów.
- W przypadku przypisanego przez użytkownika podaj identyfikator klienta konstruktorowi.
W poniższym przykładzie pokazano, jak ręcznie utworzyć i skonfigurować TelemetryConfiguration
przy użyciu platformy .NET:
TelemetryConfiguration.Active.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/";
var credential = new DefaultAzureCredential();
TelemetryConfiguration.Active.SetAzureTokenCredential(credential);
W poniższym przykładzie pokazano, jak skonfigurować TelemetryConfiguration
przy użyciu platformy .NET Core:
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/"
});
Konfiguracja zmiennej środowiskowej
Użyj zmiennej środowiskowejAPPLICATIONINSIGHTS_AUTHENTICATION_STRING
, aby umożliwić usłudze Application Insights uwierzytelnianie w usłudze Microsoft Entra ID i wysyłanie danych telemetrycznych podczas korzystania z autoinstrumentacji usług aplikacja systemu Azure Services.
- W przypadku tożsamości przypisanej przez system:
Ustawienia aplikacji | Wartość |
---|---|
APPLICATIONINSIGHTS_AUTHENTICATION_STRING | Authorization=AAD |
- W przypadku tożsamości przypisanej przez użytkownika:
Ustawienia aplikacji | Wartość |
---|---|
APPLICATIONINSIGHTS_AUTHENTICATION_STRING | Authorization=AAD;ClientId={Client id of the User-Assigned Identity} |
Wykonywanie zapytań w usłudze Application Insights przy użyciu uwierzytelniania microsoft Entra
Żądanie zapytania można przesłać przy użyciu punktu końcowego https://api.applicationinsights.io
usługi Azure Monitor Application Insights. Aby uzyskać dostęp do punktu końcowego, musisz uwierzytelnić się za pomocą identyfikatora Entra firmy Microsoft.
Konfigurowanie uwierzytelniania
Aby uzyskać dostęp do interfejsu API, należy zarejestrować aplikację kliencką przy użyciu identyfikatora Entra firmy Microsoft i zażądać tokenu.
Zarejestruj aplikację w identyfikatorze Entra firmy Microsoft.
Na stronie przeglądu aplikacji wybierz pozycję Uprawnienia interfejsu API.
Wybierz Dodaj uprawnienie.
Na karcie Interfejsy API używane przez moją organizację wyszukaj ciąg Application Insights i wybierz z listy pozycję Interfejs API usługi Application Insights.
Wybieranie delegowanych uprawnień.
Zaznacz pole wyboru Data.Read.
Wybierz Przyznaj uprawnienia.
Teraz, gdy aplikacja jest zarejestrowana i ma uprawnienia do korzystania z interfejsu API, przyznaj aplikacji dostęp do zasobu usługi Application Insights.
Na stronie przeglądu zasobów usługi Application Insights wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
Wybierz pozycję Dodaj przypisanie roli.
Wybierz rolę Czytelnik, a następnie wybierz pozycję Członkowie.
Na karcie Członkowie wybierz pozycję Wybierz członków.
Wprowadź nazwę aplikacji w polu Wybierz .
Wybierz aplikację i wybierz pozycję Wybierz.
Wybierz Przejrzyj + przypisz.
Po zakończeniu instalacji i uprawnień usługi Active Directory zażądaj tokenu autoryzacji.
Uwaga
W tym przykładzie zastosowano rolę Czytelnik. Ta rola jest jedną z wielu wbudowanych ról i może zawierać więcej uprawnień niż wymagane. Można utworzyć bardziej szczegółowe role i uprawnienia.
Żądanie tokenu autoryzacji
Przed rozpoczęciem upewnij się, że masz wszystkie wartości wymagane do pomyślnego wykonania żądania. Wszystkie żądania wymagają:
- Identyfikator dzierżawy entra firmy Microsoft.
- Identyfikator aplikacji usługi App Insights — jeśli obecnie używasz kluczy interfejsu API, jest to ten sam identyfikator aplikacji.
- Identyfikator klienta entra firmy Microsoft dla aplikacji.
- Wpis tajny klienta firmy Microsoft Entra dla aplikacji.
Interfejs API usługi Application Insights obsługuje uwierzytelnianie firmy Microsoft Entra z trzema różnymi przepływami OAuth2 identyfikatora Entra firmy Microsoft:
- Poświadczenia klienta
- Kod autoryzacji
- Niejawnie
Przepływ poświadczeń klienta
W przepływie poświadczeń klienta token jest używany z punktem końcowym usługi Application Insights. Jedno żądanie jest wykonywane w celu otrzymania tokenu przy użyciu poświadczeń podanych dla aplikacji w poprzednim kroku podczas rejestrowania aplikacji w identyfikatorze Entra firmy Microsoft.
Użyj punktu końcowego https://api.applicationinsights.io
.
Adres URL tokenu poświadczeń klienta (żądanie POST)
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>
Pomyślne żądanie odbiera token dostępu w odpowiedzi:
{
token_type": "Bearer",
"expires_in": "86399",
"ext_expires_in": "86399",
"access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax"
}
Użyj tokenu w żądaniach do punktu końcowego usługi Application Insights:
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"
}
Przykładowa odpowiedź:
"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"
]
]
}
]
}
Przepływ kodu autoryzacji
Obsługiwany jest główny przepływ OAuth2 za pomocą kodów autoryzacji. Ta metoda wymaga dwóch żądań HTTP w celu uzyskania tokenu, za pomocą którego należy wywołać interfejs API usługi Application Insights usługi Azure Monitor. Istnieją dwa adresy URL z jednym punktem końcowym na żądanie. Ich formaty opisano w poniższych sekcjach.
Adres URL kodu autoryzacji (żądanie GET)
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
Po wysłaniu żądania do autoryzowanego adresu URL client\_id
jest to identyfikator aplikacji z aplikacji Microsoft Entra skopiowany z menu właściwości aplikacji. Jest redirect\_uri
to homepage/login
adres URL z tej samej aplikacji Firmy Microsoft Entra. Gdy żądanie zakończy się pomyślnie, ten punkt końcowy przekierowuje Cię do strony logowania podanej podczas rejestracji przy użyciu kodu autoryzacji dołączonego do adresu URL. Zobacz poniższy przykład:
http://<app-client-id>/?code=AUTHORIZATION_CODE&session_state=STATE_GUID
W tym momencie uzyskasz kod autoryzacji, który jest teraz używany do żądania tokenu dostępu.
Adres URL tokenu kodu autoryzacji (żądanie POST)
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>
Wszystkie wartości są takie same jak poprzednio, z pewnymi dodatkami. Kod autoryzacji jest tym samym kodem otrzymanym w poprzednim żądaniu po pomyślnym przekierowaniu. Kod jest połączony z kluczem uzyskanym z aplikacji Microsoft Entra. Jeśli klucz nie został zapisany, możesz go usunąć i utworzyć nowy na karcie klucze w menu aplikacji Microsoft Entra. Odpowiedź jest ciągiem JSON zawierającym token z następującym schematem. Typy są wskazywane dla wartości tokenu.
Przykładowa odpowiedź:
{
"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"
}
Część tokenu dostępu tej odpowiedzi jest tym, co przedstawiono w interfejsie API usługi Application Insights w nagłówku Authorization: Bearer
. Możesz również użyć tokenu odświeżania w przyszłości, aby uzyskać nowe access_token i refresh_token, gdy twoje dane przestaną być nieaktualne. W przypadku tego żądania format i punkt końcowy to:
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>
Przykładowa odpowiedź:
{
"token_type": "Bearer",
"expires_in": "3600",
"expires_on": "1460404526",
"resource": "https://api.applicationinsights.io",
"access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
"refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az"
}
Niejawny przepływ kodu
Interfejs API usługi Application Insights obsługuje niejawny przepływ OAuth2. W przypadku tego przepływu wymagane jest tylko jedno żądanie, ale nie można uzyskać tokenu odświeżania.
Niejawny adres URL autoryzacji kodu
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
Pomyślne żądanie generuje przekierowanie do identyfikatora URI przekierowania przy użyciu tokenu w adresie URL:
http://YOUR_REDIRECT_URI/#access_token=YOUR_ACCESS_TOKEN&token_type=Bearer&expires_in=3600&session_state=STATE_GUID
Ta access_token służy jako wartość nagłówka, gdy przekazuje do interfejsu Authorization: Bearer
API usługi Application Insights autoryzację żądań.
Wyłączanie uwierzytelniania lokalnego
Po włączeniu uwierzytelniania entra firmy Microsoft możesz wyłączyć uwierzytelnianie lokalne. Ta konfiguracja umożliwia pozyskiwanie danych telemetrycznych uwierzytelnionych wyłącznie przez identyfikator Entra firmy Microsoft i wpływa na dostęp do danych (na przykład za pośrednictwem kluczy interfejsu API).
Uwierzytelnianie lokalne można wyłączyć przy użyciu witryny Azure Portal lub usługi Azure Policy albo programowo.
Azure Portal
W zasobie usługi Application Insights wybierz pozycję Właściwości w obszarze Konfiguruj w menu po lewej stronie. Wybierz pozycję Włączone (kliknij, aby zmienić), jeśli jest włączone uwierzytelnianie lokalne.
Wybierz pozycję Wyłączone i zastosuj zmiany.
Po wyłączeniu uwierzytelniania lokalnego w zasobie zobaczysz odpowiednie informacje w okienku Przegląd .
Azure Policy
Usługa Azure Policy DisableLocalAuth
uniemożliwia użytkownikom tworzenie nowego zasobu usługi Application Insights bez tej właściwości ustawionej na wartość true
. Nazwa zasad to Application Insights components should block non-Azure Active Directory based ingestion
.
Aby zastosować tę definicję zasad do subskrypcji, utwórz nowe przypisanie zasad i przypisz zasady.
W poniższym przykładzie przedstawiono definicję szablonu zasad:
{
"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')]"
}
}
}
}
Włączanie programowe
DisableLocalAuth
Właściwość służy do wyłączania uwierzytelniania lokalnego w zasobie usługi Application Insights. Gdy ta właściwość jest ustawiona na true
wartość , wymusza, że uwierzytelnianie Entra firmy Microsoft musi być używane dla całego dostępu.
Poniższy przykład przedstawia szablon usługi Azure Resource Manager, którego można użyć do utworzenia zasobu usługi Application Insights opartego na obszarze roboczym z wyłączonym LocalAuth
.
{
"$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')]"
}
}
]
}
Odbiorcy tokenów
Podczas tworzenia niestandardowego klienta w celu uzyskania tokenu dostępu z identyfikatora Entra firmy Microsoft do przesyłania danych telemetrycznych do usługi Application Insights zapoznaj się z poniższą tabelą, aby określić odpowiedni ciąg odbiorców dla danego środowiska hosta.
Wersja chmury platformy Azure | Wartość odbiorców tokenu |
---|---|
Chmura publiczna platformy Azure | https://monitor.azure.com |
Platforma Microsoft Azure obsługiwana przez chmurę 21Vianet | https://monitor.azure.cn |
Chmura platformy Azure dla instytucji rządowych USA | https://monitor.azure.us |
Jeśli używasz suwerennych chmur, możesz również znaleźć informacje o odbiorcach w parametry połączenia. Parametry połączenia jest zgodna z tą strukturą:
InstrumentationKey={profile. InstrumentationKey}; IngestionEndpoint={ingestionEndpoint}; LiveEndpoint={liveDiagnosticsEndpoint}; AADAudience={aadAudience}
Parametr odbiorców, AADAudience, może się różnić w zależności od konkretnego środowiska.
Rozwiązywanie problemów
Ta sekcja zawiera różne scenariusze rozwiązywania problemów i kroki, które można wykonać, aby rozwiązać problem przed zgłoszeniem biletu pomocy technicznej.
Błędy HTTP pozyskiwania
Usługa pozyskiwania zwraca określone błędy niezależnie od języka zestawu SDK. Ruch sieciowy można zbierać przy użyciu narzędzia takiego jak Fiddler. Ruch należy filtrować do punktu końcowego pozyskiwania ustawionego w parametry połączenia.
Uwierzytelnianie HTTP/1.1 400 nie jest obsługiwane
Ten błąd pokazuje, że zasób jest ustawiony tylko dla firmy Microsoft Entra-only. Należy poprawnie skonfigurować zestaw SDK, ponieważ wysyła go do nieprawidłowego interfejsu API.
Uwaga
Element "v2/track" nie obsługuje identyfikatora Entra firmy Microsoft. Po poprawnym skonfigurowaniu zestawu SDK dane telemetryczne będą wysyłane do "v2.1/track".
Następnie należy przejrzeć konfigurację zestawu SDK.
Wymagana autoryzacja HTTP/1.1 401
Ten błąd wskazuje, że zestaw SDK jest poprawnie skonfigurowany, ale nie może uzyskać prawidłowego tokenu. Ten błąd może wskazywać na problem z identyfikatorem Entra firmy Microsoft.
Następnie należy zidentyfikować wyjątki w dziennikach zestawu SDK lub błędach sieci z usługi Azure Identity.
HTTP/1.1 403 Brak autoryzacji
Ten błąd oznacza, że zestaw SDK używa poświadczeń bez uprawnień dla zasobu lub subskrypcji usługi Application Insights.
Najpierw sprawdź kontrolę dostępu zasobu usługi Application Insights. Należy skonfigurować zestaw SDK z poświadczeniami, które mają rolę Wydawca metryk monitorowania.
Rozwiązywanie problemów specyficznych dla języka
Źródło zdarzeń
Zestaw SDK platformy .NET usługi Application Insights emituje dzienniki błędów przy użyciu źródła zdarzeń. Aby dowiedzieć się więcej na temat zbierania dzienników źródła zdarzeń, zobacz Rozwiązywanie problemów z brakiem danych — zbieranie dzienników za pomocą programu PerfView.
Jeśli zestaw SDK nie otrzyma tokenu, komunikat o wyjątku zostanie zarejestrowany jako Failed to get AAD Token. Error message:
.