Delen via


Een beheerd privé-eindpunt maken voor Azure Data Explorer

Beheerde privé-eindpunten zijn vereist om verbinding te maken met Azure-resources die maximaal zijn beveiligd. Ze zijn privéverbindingen in één richting waarmee Azure Data Explorer verbinding kan maken met andere beveiligde services. In dit artikel leert u hoe u een beheerd privé-eindpunt maakt en dit verbindt met uw gegevensbron.

Notitie

Het is raadzaam om managed identity te gebruiken om verbinding te maken met Azure Storage- en Azure Event Hubs in plaats van beheerde privé-eindpunten. Als u verbinding wilt maken met beheerde identiteiten, configureert u de Azure Storage- of Event Hubs-resources om Azure Data Explorer te herkennen als een vertrouwde service. Gebruik vervolgens Managed Identity om toegang te verlenen door een uitzondering voor netwerkregels te maken voor vertrouwde Azure-services.

Voorwaarden

Een beheerd privé-eindpunt maken met behulp van Azure Portal

U kunt een beheerd privé-eindpunt maken met behulp van de portal voor uw cluster dat u kunt gebruiken bij het openen van uw opslag.

  1. Navigeer in Azure Portal naar uw cluster en selecteer Netwerken.

  2. Selecteer beheerde privé-eindpuntenen selecteer vervolgens toevoegen.

    Schermopname van de netwerkpagina, met de eerste stap bij het maken van een beheerd privé-eindpunt.

  3. Vul in het deelvenster Nieuw beheerd privé-eindpunt de resourcegegevens in met de volgende informatie en selecteer vervolgens Volgende.

    Schermopname van de netwerkpagina, met de tweede stap bij het maken van een beheerd privé-eindpunt.

    instellen voorgestelde waarde veldbeschrijving
    Naam mpeToStorage De naam van het beheerde privé-eindpunt
    Abonnement Uw abonnement Selecteer het Azure-abonnement dat u wilt gebruiken voor uw cluster
    Type hulpbron Microsoft.Storage/storageAccounts Selecteer het gewenste resourcetype voor uw gegevensbron.
    Resourcenaam delen Kies het cluster dat moet worden gebruikt als de bestemming voor het nieuwe privé-eindpunt van Azure
    Doel-subbron blob Selecteer het relevante doel voor uw gegevensbron.
  4. selecteer maken om de beheerde privé-eindpuntresource te maken.

Een beheerd privé-eindpunt maken met behulp van de REST API

Voor het maken van een beheerd privé-eindpunt is één API-aanroep naar de Kusto--resourceprovider vereist. U kunt een beheerd privé-eindpunt tot stand brengen voor de volgende resourcetypen:

  • Microsoft.Storage/storageAccounts (deelbron kan 'blob' of 'dfs' zijn)
  • Microsoft.EventHub/naamruimten (subresource 'naamruimte')
  • Microsoft.Devices/IoTHubs (subresource 'iotHub')
  • Microsoft.KeyVault/vaults (subresource 'kluis')
  • Microsoft.Sql/servers (subresource 'sqlServer')
  • Microsoft.Kusto/clusters (sub-resource 'cluster')
  • Microsoft.DigitalTwins/digitalTwinsInstance (subresource "digitaltwinsinstance")

In het volgende voorbeeld gebruikt u de ARMclient- in PowerShell om een beheerd privé-eindpunt te maken met behulp van de REST API.

Notitie

Voor het maken van verbinding met een 'dfs'-resource naar een opslagaccount is een extra beheerd privé-eindpunt naar de subresource 'blob' vereist.

Vereisten voor het gebruik van de REST API

  1. choco installeren

  2. ARMClient installeren

    choco install armclient
    
  3. Aanmelden met ARMClient

    armclient login
    

Een beheerd privé-eindpunt maken voor Azure Event Hubs

Gebruik de volgende REST API-aanroep om het beheerde privé-eindpunt in te schakelen voor een Event Hubs-service:

  1. Voer de volgende opdracht uit om een beheerd privé-eindpunt te maken voor een Event Hubs-service:

    # Replace the <...> placeholders with the correct values
    armclient PUT /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01 @"
    {
        'properties': {
            'privateLinkResourceId':'/subscriptions/<subscriptionIdEventHub>/resourceGroups/<resourceGroupNameEventHub>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>',
            'groupId':'namespace',
            'requestMessage':'Please Approve.'
        }
    }
    "@
    
  2. Controleer het antwoord.

    {
      "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>",
      "name": "<clusterName>/<newMpeName>",
      "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints",
      "location": "DummyLocation",
      "properties": {
        "privateLinkResourceId": "/subscriptions/<subscriptionIdEventHub>/resourceGroups/<resourceGroupNameEventHub>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>",
        "groupId": "namespace",
        "requestMessage": "Please Approve.",
        "provisioningState": "Creating"
      }
    }
    

Een beheerd privé-eindpunt maken voor een Azure Storage-account

Gebruik de volgende REST API-aanroep om het beheerde privé-eindpunt in te schakelen voor een Azure Storage-blob:

  1. Voer de volgende opdracht uit om een beheerd privé-eindpunt te maken voor Event Hubs:

    #replace the <...> placeholders with the correct values
    armclient PUT /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01 @"
    {
        'properties': {
            'privateLinkResourceId':'/subscriptions/<subscriptionIdStorage>/resourceGroups/<resourceGroupNameStorage>/providers/Microsoft.Storage/storageAccounts/<storageAccountName>',
            'groupId':'blob',
            'requestMessage':'Please Approve.'
        }
    }
    "@
    
  2. Controleer het antwoord.

    {
      "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>",
      "name": "<clusterName>/<newMpeName>",
      "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints",
      "location": "DummyLocation",
      "properties": {
        "privateLinkResourceId": "/subscriptions/<subscriptionIdStorage>/resourceGroups/<resourceGroupNameStorage>/providers/Microsoft.Storage/storageAccounts/<storageAccountName>",
        "groupId": "blob",
        "requestMessage": "Please Approve.",
        "provisioningState": "Creating"
      }
    }
    

Voortgang controleren

Gebruik de volgende opdracht om de voortgang van de migratie van het beheerde privé-eindpunt te controleren:

  1. Voer de volgende opdracht uit:

    #replace the <...> placeholders with the correct values
    armclient GET /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01
    
  2. Controleer het antwoord.

    {
      "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>",
      "name": "<clusterName>/<newMpeName>",
      "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints",
      "location": "DummyLocation",
      "properties": {
        "privateLinkResourceId": "/subscriptions/02de0e00-8c52-405c-9088-1342de78293d/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.<service>/<...>/<name>",
        "groupId": "<groupId>",
        "requestMessage": "Please Approve.",
        "provisioningState": "Succeeded"
      },
      "systemData": {
        "createdBy": "<UserName>",
        "createdByType": "User",
        "createdAt": "2022-02-05T08:29:54.2912851Z",
        "lastModifiedBy": "chrisqpublic@contoso.com",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2022-02-05T08:29:54.2912851Z"
      }
    }
    

Het beheerde privé-eindpunt goedkeuren

Welke methode u ook hebt gebruikt om het beheerde privé-eindpunt te maken, u moet het maken ervan goedkeuren voor de doelresource. Een beheerd privé-eindpunt goedkeuren voor een Event Hubs-service:

  1. Navigeer in Azure Portal naar uw Event Hubs-service en selecteer vervolgens Netwerken.

  2. Selecteer privé-eindpuntverbindingen, selecteer het beheerde privé-eindpunt dat u hebt gemaakt en selecteer vervolgens Goedkeuren.

    Schermopname van de netwerkpagina, met de goedkeuring van het beheerde privé-eindpunt voor de Event Hubs-service.

  3. Controleer in de kolom Verbindingsstatus of het beheerde privé-eindpunt is goedgekeurd.

    Schermopname van de netwerkpagina met het goedgekeurde beheerde privé-eindpunt voor de Event Hubs-service.

Uw cluster kan nu verbinding maken met de resource met behulp van de beheerde privé-eindpuntverbinding.

Meerdere beheerde privé-eindpunten maken

U kunt meerdere beheerde privé-eindpunten maken met behulp van ARM-sjablonen en Terraform. De volgende voorbeelden zorgen ervoor dat het beheerde privé-eindpunt voor de Event Hubs-naamruimte wordt gemaakt voordat het wordt gemaakt voor het opslagaccount.

In het volgende voorbeeld wordt een ARM-sjabloon gebruikt om twee beheerde privé-eindpunten te maken in een Azure Data Explorer-cluster. Het eerste eindpunt maakt verbinding met een Event Hubs-naamruimte. Het tweede eindpunt maakt verbinding met een opslagaccount, met een afhankelijkheid die ervoor zorgt dat het Event Hubs-eindpunt eerst wordt gemaakt.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "cluster_name": {
            "defaultValue": "<ADX cluster name>",
            "type": "String"
        },
        "eventhub_resource_id": {
            "defaultValue": "<Eventhub resource id>",
            "type": "String"
        },
        "storage_resource_id": {
            "defaultValue": "<Storage resource id>",
            "type": "String"
        },
        "managed_pe_eventhub_name": {
            "defaultValue": "<name of the managed private endpoint to Event Hub>",
            "type": "String"
        },
        "managed_pe_storage_name": {
            "defaultValue": "<name of the managed private endpoint to Storage>",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Kusto/Clusters",
            "apiVersion": "2023-08-15",
            "name": "[parameters('cluster_name')]",
            "location": "<region of the cluster>",
            "sku": {...},
            "zones": {...}
            "properties": {...}
        },
        {
            "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints",
            "apiVersion": "2023-08-15",
            "name": "[concat(parameters('cluster_name'), '/', parameters('managed_pe_eventhub_name'))]",
            "dependsOn": [
                "[resourceId('Microsoft.Kusto/Clusters', parameters('cluster_name'))]"
            ],
            "properties": {
                "privateLinkResourceId": "[parameters('eventhub_resource_id')]",
                "groupId": "namespace",
                "requestMessage": "Please approve"
            }
        },
        {
            "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints",
            "apiVersion": "2023-08-15",
            "name": "[concat(parameters('cluster_name'), '/', parameters('managed_pe_storage_name'))]",
            "dependsOn": [
                "[resourceId('Microsoft.Kusto/Clusters', parameters('cluster_name'))]",
                "[resourceId('Microsoft.Kusto/Clusters/ManagedPrivateEndpoints', parameters('cluster_name'), parameters('managed_pe_eventhub_name'))]"
            ],
            "properties": {
                "privateLinkResourceId": "[parameters('storage_resource_id')]",
                "groupId": "blob",
                "requestMessage": "Please approve"
            }
        }
    ]
}

Automatische goedkeuring

U kunt automatisch goedkeuren een beheerd privé-eindpunt als de aanvragende identiteit de Microsoft heeft.<Provider>/<ResourceType>/privateEndpointConnectionsApproval/action machtiging voor de doelresource van het beheerde privé-eindpunt.