Application Insights için Microsoft Entra kimlik doğrulaması

Uygulama Analizler artık Microsoft Entra kimlik doğrulamayı destekliyor. Microsoft Entra Id kullanarak Uygulama Analizler kaynaklarınıza yalnızca kimliği doğrulanmış telemetrinin alındığından emin olabilirsiniz.

Kimlik bilgilerini büyük ölçekte yönetmek zor olduğundan çeşitli kimlik doğrulama sistemlerinin kullanılması zahmetli ve riskli olabilir. Artık yalnızca yönetilen kimlikler kullanılarak özel olarak doğrulanan telemetri verilerinin kaynağınıza alındığından ve Microsoft Entra Id'nin alındığından emin olmak için yerel kimlik doğrulamasını geri çevirmeyi seçebilirsiniz. Bu özellik, kritik işletimsel (uyarı ve otomatik ölçeklendirme) ve iş kararları almak için kullanılan telemetri verilerinin güvenliğini ve güvenilirliğini artırmaya yönelik bir adımdır.

Not

Bu belge, Microsoft Entra ID tabanlı kimlik doğrulaması kullanılarak Uygulama Analizler veri alımını kapsar. Application Analizler içindeki verileri sorgulama hakkında bilgi için bkz. Microsoft Entra kimlik doğrulamasını kullanarak Uygulama Analizler Sorgulama.

Önkoşullar

Microsoft Entra kimliği doğrulanmış alımını etkinleştirmek için aşağıdaki ön adımlar gereklidir. Şunları yapmanız gerekir:

Desteklenmeyen senaryolar

Aşağıdaki Yazılım Geliştirme Setleri (SDK' lar) ve özellikleri Microsoft Entra kimliği doğrulanmış alımıyla kullanılmak üzere desteklenmez:

Microsoft Entra ID tabanlı kimlik doğrulamasını yapılandırma ve etkinleştirme

  1. Henüz bir kimliğiniz yoksa, yönetilen kimlik veya hizmet sorumlusu kullanarak bir kimlik oluşturun.

    • Yönetilen kimlik kullanmanızı öneririz:

      Azure hizmetiniz (Sanal Makineler veya App Service) için yönetilen kimlik ayarlayın.

    • Hizmet sorumlusu kullanmanızı önermeyiz:

      Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturma hakkında daha fazla bilgi için bkz . Hizmet sorumlusu oluşturma.

  2. Azure hizmetine bir rol atayın.

    Hedef Uygulama Analizler kaynağından telemetrinin gönderildiği Azure kaynağına İzleme Ölçümleri Yayımcısı rolünü eklemek için Azure rollerini atama başlığı altında verilen adımları izleyin.

    Not

    İzleme Ölçümleri Yayımcısı rolü "ölçümler" dese de, tüm telemetri verilerini Uygulama Analizler kaynağında yayımlar.

  3. Aşağıdaki dile uygun olarak yapılandırma yönergelerini izleyin.

Not

2.18-Beta3 sürümünden itibaren Uygulama Analizler .NET SDK'sında Microsoft Entra Id desteği eklenmiştir.

Uygulama Analizler .NET SDK'sı, Azure Identity tarafından sağlanan kimlik bilgisi sınıflarını destekler.

  • Yerel geliştirme için önerilir DefaultAzureCredential .
  • Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlikler için önerilir ManagedIdentityCredential .
    • Sistem tarafından atanan için parametresiz varsayılan oluşturucuyu kullanın.
    • Kullanıcı tarafından atanan için oluşturucuya istemci kimliğini sağlayın.

Aşağıdaki örnekte .NET kullanarak el ile oluşturma ve yapılandırma TelemetryConfiguration gösterilmektedir:

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

Aşağıdaki örnekte .NET Core kullanarak yapılandırma TelemetryConfiguration gösterilmektedir:

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/"
});

Yerel kimlik doğrulamayı devre dışı bırakma

Microsoft Entra kimlik doğrulaması etkinleştirildikten sonra yerel kimlik doğrulamasını devre dışı bırakabilirsiniz. Bu yapılandırma, yalnızca Microsoft Entra Id tarafından kimliği doğrulanmış telemetriyi almanızı sağlar ve veri erişimini etkiler (örneğin, API anahtarları aracılığıyla).

Azure portalını veya Azure İlkesi veya program aracılığıyla yerel kimlik doğrulamasını devre dışı bırakabilirsiniz.

Azure portal

  1. Uygulama Analizler kaynağınızdan, soldaki menüde Yapılandır başlığı altında Özellikler'i seçin. Yerel kimlik doğrulaması etkinse Etkin'i (değiştirmek için tıklayın) seçin.

    Yapılandır bölümü ve Etkin (değiştirmek için seçin) yerel kimlik doğrulaması düğmesinin altında Özellikler'i gösteren ekran görüntüsü.

  2. Devre dışı'yı seçin ve değişiklikleri uygulayın.

    Etkin/Devre Dışı düğmesiyle yerel kimlik doğrulamasını gösteren ekran görüntüsü.

  3. Kaynağınızda yerel kimlik doğrulamasını devre dışı bırakdıktan sonra, genel bakış bölmesinde ilgili bilgileri görürsünüz.

    Devre Dışı (değiştirmek için seçin) yerel kimlik doğrulaması düğmesini içeren Genel Bakış sekmesini gösteren ekran görüntüsü.

Azure İlkesi

için DisableLocalAuth Azure İlkesi, kullanıcıların bu özellik olarak ayarlanmadan trueyeni bir Application Analizler kaynağı oluşturma yeteneğini reddeder. İlke adı şeklindedir Application Insights components should block non-AAD auth ingestion.

Bu ilke tanımını aboneliğinize uygulamak için yeni bir ilke ataması oluşturun ve ilkeyi atayın.

Aşağıdaki örnekte ilke şablonu tanımı gösterilmektedir:

{
    "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')]"
            }
        }
    }
}

Program aracılığıyla etkinleştirme

özelliğiDisableLocalAuth, Uygulama Analizler kaynağınızda yerel kimlik doğrulamasını devre dışı bırakmak için kullanılır. Bu özellik olarak trueayarlandığında, tüm erişimler için Microsoft Entra kimlik doğrulamasının kullanılması gerekir.

Aşağıdaki örnekte, çalışma alanı tabanlı uygulama Analizler kaynağı LocalAuth oluşturmak için kullanabileceğiniz Azure Resource Manager şablonu devre dışı bırakılmıştır.

{
    "$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')]"
            }
    }
 ]
}

Belirteç hedef kitlesi

Application Analizler'a telemetri göndermek için Microsoft Entra Id'den erişim belirteci almak üzere özel bir istemci geliştirirken, belirli bir konak ortamınız için uygun hedef kitle dizesini belirlemek için aşağıdaki tabloya bakın.

Azure bulut sürümü Belirteç hedef kitlesi değeri
Azure genel bulutu https://monitor.azure.com
21Vianet bulutu tarafından sağlanan Microsoft Azure https://monitor.azure.cn
Azure US Government bulutu https://monitor.azure.us

Bağımsız bulutlar kullanıyorsanız hedef kitle bilgilerini bağlantı dizesi de bulabilirsiniz. bağlantı dizesi şu yapıyı izler:

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

Audience parametresi olan AADAudience, ortamınıza bağlı olarak farklılık gösterebilir.

Sorun giderme

Bu bölümde, destek bileti oluşturmadan önce sorunu çözmek için uygulayabileceğiniz farklı sorun giderme senaryoları ve adımları sağlanır.

ALMA HTTP hataları

Alma hizmeti, SDK dilinden bağımsız olarak belirli hataları döndürür. Ağ trafiği Fiddler gibi bir araç kullanılarak toplanabilir. bağlantı dizesi alınan uç noktaya gelen trafiği filtrelemeniz gerekir.

HTTP/1.1 400 Kimlik Doğrulaması desteklenmiyor

Bu hata, kaynağın Microsoft Entra-only için ayarlandığını gösterir. SDK yanlış API'ye gönderdiğinden doğru yapılandırmanız gerekir.

Not

"v2/track" Microsoft Entra Id'yi desteklemez. SDK doğru yapılandırıldığında telemetri "v2.1/track" adresine gönderilir.

Ardından SDK yapılandırmasını gözden geçirmeniz gerekir.

HTTP/1.1 401 Yetkilendirme gerekiyor

Bu hata SDK'nın doğru yapılandırıldığını ancak geçerli bir belirteç alamadığını gösterir. Bu hata, Microsoft Entra Kimliği ile ilgili bir sorunu gösterebilir.

Ardından, SDK günlüklerindeki özel durumları veya Azure Identity'den gelen ağ hatalarını tanımlamanız gerekir.

HTTP/1.1 403 Yetkisiz

Bu hata, SDK'nın Uygulama Analizler kaynağı veya aboneliği için izni olmayan kimlik bilgilerini kullandığı anlamına gelir.

İlk olarak Uygulama Analizler kaynağının erişim denetimini denetleyin. SDK'yi İzleme Ölçümleri Yayımcısı rolüne sahip kimlik bilgileriyle yapılandırmanız gerekir.

Dile özgü sorun giderme

Olay kaynağı

Application Analizler .NET SDK'sı, olay kaynağını kullanarak hata günlüklerini yayar. Olay kaynak günlüklerini toplama hakkında daha fazla bilgi edinmek için bkz . Veri yok sorunlarını giderme - PerfView ile günlükleri toplama.

SDK belirteç alamazsa, özel durum iletisi olarak Failed to get AAD Token. Error message:günlüğe kaydedilir.

Sonraki adımlar