Azure AD verificatie voor Azure Monitor-logboeken

Azure Monitor kan gegevens verzamelen in Azure Monitor-logboeken van meerdere bronnen. Deze bronnen omvatten agents op virtuele machines, Application Insights, diagnostische instellingen voor Azure-resources en de Data Collector-API.

Log Analytics-agents gebruiken een werkruimtesleutel als inschrijvingssleutel om de initiële toegang te verifiëren en een certificaat in te richten dat verder wordt gebruikt om een beveiligde verbinding tot stand te brengen tussen de agent en Azure Monitor. Zie Gegevens van agents verzenden voor meer informatie. De Gegevensverzamelaar-API gebruikt dezelfde werkruimtesleutel om toegang te verlenen.

Deze opties kunnen omslachtig zijn en een risico vormen omdat het moeilijk is om referenties, met name werkruimtesleutels, op grote schaal te beheren. U kunt zich afmelden voor lokale verificatie en ervoor zorgen dat alleen telemetriegegevens die uitsluitend worden geverifieerd met behulp van beheerde identiteiten en Azure Active Directory (Azure AD) worden opgenomen in Azure Monitor. Deze functie verbetert de beveiliging en betrouwbaarheid van de telemetrie die wordt gebruikt om kritieke operationele en zakelijke beslissingen te nemen.

Ga als volgt te werk om Azure AD-integratie voor Azure Monitor-logboeken in te schakelen en de afhankelijkheid van deze gedeelde geheimen te verwijderen:

  1. Migreren naar De Azure Monitor-agent vanuit de Log Analytics-agents. Azure Monitor-agent vereist geen sleutels, maar in plaats daarvan een door het systeem beheerde identiteit.
  2. Schakel lokale verificatie uit voor Log Analytics-werkruimten.
  3. Zorg ervoor dat alleen geverifieerde telemetrie wordt opgenomen in uw Application Insights-resources met Azure AD-verificatie voor Application Insights (preview).

Lokale verificatie uitschakelen voor Log Analytics

Nadat u uw afhankelijkheid van de Log Analytics-agent hebt verwijderd, kunt u lokale verificatie voor Log Analytics-werkruimten uitschakelen. Vervolgens kunt u telemetriegegevens opnemen en opvragen die uitsluitend door Azure AD worden geverifieerd.

Het uitschakelen van lokale verificatie kan de beschikbaarheid van bepaalde functionaliteit beperken, met name:

  • Bestaande Log Analytics-agents werken niet meer. Alleen Azure Monitor-agent wordt ondersteund. In de Azure Monitor-agent ontbreken enkele mogelijkheden die beschikbaar zijn via de Log Analytics-agent. Voorbeelden hiervan zijn aangepaste logboekverzameling en IIS-logboekverzameling.
  • De Data Collector-API (preview) biedt geen ondersteuning voor Azure AD-verificatie en is niet beschikbaar voor het opnemen van gegevens.
  • VM-inzichten en container-inzichten werken niet meer. Lokale autorisatie is de enige autorisatiemethode die door deze functies wordt ondersteund.

U kunt lokale verificatie uitschakelen met behulp van Azure Policy. U kunt deze functie ook programmatisch uitschakelen via een Azure Resource Manager-sjabloon, PowerShell of de Azure CLI.

Azure Policy

met Azure Policy voor DisableLocalAuth kunt u geen nieuwe Log Analytics-werkruimte maken, tenzij deze eigenschap is ingesteld op true. De beleidsnaam is Log Analytics Workspaces should block non-Azure Active Directory based ingestion. Als u deze beleidsdefinitie wilt toepassen op uw abonnement, maakt u een nieuwe beleidstoewijzing en wijst u het beleid toe.

De definitie van de beleidssjabloon:

{
  "properties": {
    "displayName": "Log Analytics Workspaces should block non-Azure Active Directory based ingestion.",
    "policyType": "BuiltIn",
    "mode": "Indexed",
    "description": "Enforcing log ingestion to require Azure Active Directory authentication prevents unauthenticated logs from an attacker which could lead to incorrect status, false alerts, and incorrect logs stored in the system.",
    "metadata": {
      "version": "1.0.0",
      "category": "Monitoring"
    },
    "parameters": {
      "effect": {
        "type": "String",
        "metadata": {
          "displayName": "Effect",
          "description": "Enable or disable the execution of the policy"
        },
        "allowedValues": [
          "Deny",
          "Audit",
          "Disabled"
        ],
        "defaultValue": "Audit"
      }
    },
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.OperationalInsights/workspaces"
          },
          {
            "field": "Microsoft.OperationalInsights/workspaces/features.disableLocalAuth",
            "notEquals": "true"
          }
        ]
      },
      "then": {
        "effect": "[parameters('effect')]"
      }
    }
  },
  "id": "/providers/Microsoft.Authorization/policyDefinitions/e15effd4-2278-4c65-a0da-4d6f6d1890e2",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "e15effd4-2278-4c65-a0da-4d6f6d1890e2"
}

Azure Resource Manager

De DisableLocalAuth eigenschap wordt gebruikt om lokale verificatie voor uw Log Analytics-werkruimte uit te schakelen. Als deze eigenschap is ingesteld op true, dwingt deze eigenschap af dat Azure AD verificatie moet worden gebruikt voor alle toegang.

Gebruik de volgende Azure Resource Manager-sjabloon om lokale verificatie uit te schakelen:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "workspaces_name": {
            "defaultValue": "workspace-name",
            "type": "string"
        },
        "workspace_location": {
          "defaultValue": "region-name",
          "type": "string"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.OperationalInsights/workspaces",
            "apiVersion": "2020-08-01",
            "name": "[parameters('workspaces_name')]",
            "location": "[parameters('workspace_location')]",
            "properties": {
                 "sku": {
                    "name": "PerGB2018"
                },
                "retentionInDays": 30,
                "features": {
                    "disableLocalAuth": false,
                    "enableLogAccessUsingOnlyResourcePermissions": true
                }
            }
        }
    ]
}

Azure CLI

De DisableLocalAuth eigenschap wordt gebruikt om lokale verificatie voor uw Log Analytics-werkruimte uit te schakelen. Als deze eigenschap is ingesteld op true, dwingt deze eigenschap af dat Azure AD verificatie moet worden gebruikt voor alle toegang.

Gebruik de volgende Azure CLI-opdrachten om lokale verificatie uit te schakelen:

    az resource update --ids "/subscriptions/[Your subscription ID]/resourcegroups/[Your resource group]/providers/microsoft.operationalinsights/workspaces/[Your workspace name]--api-version "2021-06-01" --set properties.features.disableLocalAuth=True

PowerShell

De DisableLocalAuth eigenschap wordt gebruikt om lokale verificatie voor uw Log Analytics-werkruimte uit te schakelen. Als deze eigenschap is ingesteld op true, dwingt deze eigenschap af dat Azure AD verificatie moet worden gebruikt voor alle toegang.

Gebruik de volgende PowerShell-opdrachten om lokale verificatie uit te schakelen:

    $workspaceSubscriptionId = "[You subscription ID]"
    $workspaceResourceGroup = "[You resource group]"
    $workspaceName = "[Your workspace name]"
    $disableLocalAuth = $false
    
    # login
    Connect-AzAccount
    
    # select subscription
    Select-AzSubscription -SubscriptionId $workspaceSubscriptionId
    
    # get private link workspace resource
    $workspace = Get-AzResource -ResourceType Microsoft.OperationalInsights/workspaces -ResourceGroupName $workspaceResourceGroup -ResourceName $workspaceName -ApiVersion "2021-06-01"
    
    # set DisableLocalAuth
    $workspace.Properties.Features | Add-Member -MemberType NoteProperty -Name DisableLocalAuth -Value $disableLocalAuth -Force
    $workspace | Set-AzResource -Force

Volgende stappen

Zie Azure AD verificatie voor Application Insights (preview).