Uygulama Analizler için Azure AD kimlik doğrulaması (Önizleme)

Uygulama Analizler artık Azure Active Directory (Azure AD) kimlik doğrulamayı destekliyor. Azure AD'yi kullanarak Uygulama Analizler kaynaklarınıza yalnızca kimliği doğrulanmış telemetri verilerinin alındığından emin olabilirsiniz.

Genellikle çeşitli kimlik doğrulama sistemlerinin kullanılması zahmetli olabilir ve kimlik bilgilerini büyük ölçekte yönetmek zor olduğundan risk oluşturabilir. Artık yerel kimlik doğrulamasını geri çevirmeyi seçebilir ve yalnızca Yönetilen Kimlikler kullanılarak özel olarak kimliği doğrulanmış telemetri verilerinin ve Azure Active Directory Uygulama Analizler kaynağınıza alındığından emin olabilirsiniz. Bu özellik, hem kritik operasyonel (uyarı verme/otomatik ölçeklendirme vb.) hem de iş kararları almak için kullanılan telemetrinin güvenliğini ve güvenilirliğini artırma adımıdır.

Önemli

Azure AD kimlik doğrulaması şu anda ÖNİzLEME aşamasındadır. Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Genel Önizleme'de desteklenmeyen SDK'lar/senaryolar aşağıdadır:

Not

31 Mart 2025'te izleme anahtarı alımı desteği sona erecek. İzleme anahtarı alımı çalışmaya devam edecek ancak bu özellik için güncelleştirme veya destek sunulmayacak. Yeni özelliklerden yararlanmak için bağlantı dizelerine geçiş.

Azure AD kimlik doğrulaması alımını etkinleştirme önkoşulları

Azure AD tabanlı kimlik doğrulamasını yapılandırma ve etkinleştirme

  1. Zaten yoksa, yönetilen kimlik veya hizmet sorumlusu kullanarak bir kimlik oluşturun:

    1. Yönetilen kimliği kullanma (Önerilen):

      Azure Hizmetiniz için yönetilen kimlik ayarlama (VM, App Service vb.).

    2. Hizmet sorumlusunu kullanma (Önerilmez):

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

  2. Azure Hizmetine rol atayın.

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

    Not

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

  3. Aşağıdaki dil başına yapılandırma kılavuzunu izleyin.

Not

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

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

  • DefaultAzureCredential yerel geliştirme için önerilir.
  • ManagedIdentityCredential sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlikler için önerilir.
    • Sistem tarafından atanan için parametresiz varsayılan oluşturucuyu kullanın.
    • Kullanıcı tarafından atanan için oluşturucuya clientId değerini sağlayın.
  • ClientSecretCredential hizmet sorumluları için önerilir.
    • Oluşturucuya tenantId, clientId ve clientSecret değerlerini sağlayın.

Aşağıda.NET kullanarak el ile oluşturma ve yapılandırma örneği verilmiştir TelemetryConfiguration :

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

.NET Core kullanarak yapılandırma TelemetryConfiguration örneği aşağıda verilmiştir:

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

Azure AD kimlik doğrulaması etkinleştirildikten sonra yerel kimlik doğrulamasını devre dışı bırakabilirsiniz. Bu, yalnızca Azure AD tarafından kimliği doğrulanmış telemetriyi almanıza olanak sağlar ve veri erişimini etkiler (örneğin, API Anahtarları aracılığıyla).

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

Azure portal

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

    Screenshot of Properties under the *Configure* selected and enabled (click to change) local authentication button.

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

    Screenshot of local authentication with the enabled/disabled button highlighted.

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

    Screenshot of overview tab with the disabled(click to change) highlighted.

Azure İlkesi

'DisableLocalAuth' için Azure İlkesi, kullanıcıların bu özellik ayarı 'true' olmadan yeni bir Application Analizler kaynağı oluşturmasını reddeder. İlke adı : 'Uygulama Analizler bileşenleri AAD olmayan kimlik doğrulaması alımını engellemelidir'.

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

İlke şablonu tanımı aşağıdadır:

{
    "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, Application Analizler kaynağınızdaki yerel kimlik doğrulamasını devre dışı bırakmak için kullanılır. olarak ayarlandığında true, bu özellik azure AD kimlik doğrulamasının tüm erişim için kullanılmasını zorunlu kılacak.

Aşağıda, yerel kimlik doğrulaması devre dışı bırakılmış çalışma alanı tabanlı bir Uygulama Analizler kaynağı oluşturmak için kullanabileceğiniz örnek bir Azure Resource Manager şablonu verilmiştir.

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

Sorun giderme

Bu bölümde, kullanıcıların destek bileti oluşturmadan önce sorunları çözmek için uygulayabileceği 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ı Dizesinde ayarlanan IngestionEndpoint'e gelen trafiği filtrelemeniz gerekir.

HTTP/1.1 400 Kimlik Doğrulaması desteklenmiyor

Bu, Uygulama Analizler kaynağının yalnızca Azure AD için yapılandırıldığını, ancak SDK'nın doğru yapılandırılmadığını ve yanlış API'ye gönderdiğini gösterir.

Not

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

Sonraki adımlar SDK yapılandırmasını gözden geçirmek olmalıdır.

HTTP/1.1 401 Yetkilendirme gerekiyor

Bu, SDK'nın doğru şekilde yapılandırıldığını ancak geçerli bir belirteç alamadığını gösterir. Bu, Azure Active Directory ile ilgili bir sorun olduğunu gösterebilir.

Sonraki adımlar, Sdk günlüklerindeki özel durumları veya Azure Identity'deki ağ hatalarını belirlemek olmalıdır.

HTTP/1.1 403 Yetkisiz

Bu, SDK'nın Uygulama Analizler kaynağı veya aboneliğine izin verilmemiş kimlik bilgileriyle yapılandırıldığını gösterir.

Sonraki adımlar, Application Analizler kaynağının erişim denetimini gözden geçirmek olmalıdır. SDK, "İzleme Ölçümleri Publisher" rolü verilmiş bir kimlik bilgileriyle yapılandırılmalıdır.

Dile özgü sorun giderme

Olay Kaynağı

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

SDK belirteç alamazsa özel durum iletisi şu şekilde günlüğe kaydedilir: "AAD Belirteci alınamadı. Hata iletisi: "

Sonraki adımlar