Freigeben über


Erstellen eines verwalteten privaten Endpunkts für Azure Data Explorer

Verwaltete private Endpunkte sind erforderlich, um eine Verbindung mit stark geschützten Azure-Ressourcen herzustellen. Sie sind unidirektionale private Verbindungen, mit denen Azure Data Explorer eine Verbindung mit anderen geschützten Diensten herstellen kann. In diesem Artikel erfahren Sie, wie Sie einen verwalteten privaten Endpunkt erstellen und ihn mit Ihrer Datenquelle verbinden.

Voraussetzungen

Erstellen eines verwalteten privaten Endpunkts mit dem Azure-Portal

Sie können einen verwalteten privaten Endpunkt mithilfe des Portals für Ihren Cluster erstellen, der beim Zugriff auf Ihren Speicher verwendet werden soll.

  1. Navigieren Sie im Azure-Portal zu Ihrem Cluster, und wählen Sie dann Netzwerk aus.

  2. Wählen Sie Verwaltete private Endpunkte und dann Hinzufügen aus.

    Screenshot: Netzwerkseite mit dem ersten Schritt bei der Erstellung eines verwalteten privaten Endpunkts

  3. Füllen Sie im Bereich Neuer verwalteter privater Endpunkt die Ressourcendetails mit den folgenden Informationen aus, und wählen Sie dann Weiter aus.

    Screenshot: Netzwerkseite mit dem zweiten Schritt bei der Erstellung eines verwalteten privaten Endpunkts

    Einstellung Empfohlener Wert Feldbeschreibung
    Name mpeToStorage Der Name des verwalteten privaten Endpunkts
    Abonnement Ihr Abonnement Wählen Sie das Azure-Abonnement aus, das Sie für Ihren Cluster verwenden möchten.
    Ressourcentyp Microsoft.Storage/storageAccounts Wählen Sie die relevanten Ressourcentypen aus, die Sie für Ihre Datenquelle wünschen.
    Ressourcenname Freigeben Wählen Sie den Cluster aus, der als Ziel für den neuen privaten Azure-Endpunkt verwendet werden soll.
    Zielunterressource blob Wählen Sie das relevante Ziel für Ihre Datenquelle aus.
  4. wählen Sie Erstellen aus, um die verwaltete private Endpunktressource zu erstellen.

Erstellen eines verwalteten privaten Endpunkts mithilfe der REST-API

Das Erstellen eines verwalteten privaten Endpunkts erfordert einen einzelnen API-Aufruf des Kusto-Ressourcenanbieters. Sie können einen verwalteten privaten Endpunkt für die folgenden Ressourcentypen einrichten:

  • Microsoft.Storage/storageAccounts (Unterressource kann "blob" oder "dfs") sein.
  • Microsoft.EventHub/namespaces (Unterressource „namespace“)
  • Microsoft.Devices/IoTHubs (Unterressource „iotHub“)
  • Microsoft.KeyVault/vaults (Unterressource „vault“)
  • Microsoft.Sql/servers (sub-resource "sqlServer")
  • Microsoft.Kusto/clusters (Unterressource „cluster“)
  • Microsoft.DigitalTwins/digitalTwinsInstance (Unterressource „digitaltwinsinstance“)

Im folgenden Beispiel verwenden Sie den ARMclient in PowerShell, um einen verwalteten privaten Endpunkt mithilfe der REST-API zu erstellen.

Hinweis

Für die Verbindung mit einem Speicherkonto ist eine "dfs"-Ressource ein zusätzlicher verwalteter privater Endpunkt mit der Unterressource "blob" erforderlich.

Voraussetzungen für die Verwendung der REST-API

  1. Installieren Sie choco

  2. Installieren Sie ARMClient

    choco install armclient
    
  3. Anmelden mit ARMClient

    armclient login
    

Erstellen eines verwalteten privaten Endpunkts für Azure Event Hubs

Verwenden Sie den folgenden REST-API-Aufruf, um den verwalteten privaten Endpunkt für einen Event Hubs-Dienst zu aktivieren:

  1. Führen Sie den folgenden Befehl aus, um einen verwalteten privaten Endpunkt für einen Event Hubs-Dienst zu erstellen:

    # 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. Überprüfen Sie die Antwort.

    {
      "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"
      }
    }
    

Erstellen eines verwalteten privaten Endpunkts für ein Azure Storage-Konto

Verwenden Sie den folgenden REST-API-Aufruf, um den verwalteten privaten Endpunkt für ein Azure Storage-Blob zu aktivieren:

  1. Führen Sie den folgenden Befehl aus, um einen verwalteten privaten Endpunkt für Event Hubs zu erstellen:

    #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. Überprüfen Sie die Antwort.

    {
      "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"
      }
    }
    

Überprüfen des Status

Zum Überprüfen des Fortschritts der verwalteten privaten Endpunktmigration verwenden Sie den folgenden Befehl:

  1. Führen Sie den folgenden Befehl aus:

    #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. Überprüfen Sie die Antwort.

    {
      "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"
      }
    }
    

Genehmigen des verwalteten privaten Endpunkts

Unabhängig davon, welche Methode Sie zum Erstellen des verwalteten privaten Endpunkts verwendet haben, müssen Sie die Erstellung für die Zielressource genehmigen. So genehmigen Sie einen verwalteten privaten Endpunkt für einen Event Hubs-Dienst:

  1. Navigieren Sie im Azure-Portal zu Ihrem Event Hubs-Dienst, und wählen Sie dann Netzwerk aus.

  2. Wählen Sie Private Endpunktverbindungen aus, wählen Sie den erstellten verwalteten privaten Endpunkt aus, und wählen Sie dann Genehmigen aus.

    Screenshot: Netzwerkseite mit der Genehmigung des verwalteten privaten Endpunkts für den Event Hubs-Dienst

  3. Überprüfen Sie in der Spalte Verbindungsstatus, ob der verwaltete private Endpunkt genehmigt ist.

    Screenshot: Netzwerkseite mit dem genehmigten verwalteten privaten Endpunkt für den Event Hubs-Dienst

Ihr Cluster kann nun mithilfe der verwalteten privaten Endpunktverbindung eine Verbindung mit der Ressource herstellen.

Erstellen mehrerer verwalteter privater Endpunkte

Sie können mehrere verwaltete private Endpunkte mit ARM-Vorlagen und Terraform erstellen. In den folgenden Beispielen wird sichergestellt, dass der verwaltete private Endpunkt für den Event Hubs-Namespace erstellt wird, bevor es zum Speicherkonto kommt.

Im folgenden Beispiel wird eine ARM-Vorlage verwendet, um zwei verwaltete private Endpunkte in einem Azure Data Explorer-Cluster zu erstellen. Der erste Endpunkt stellt eine Verbindung mit einem Event Hubs-Namespace dar. Der zweite Endpunkt stellt eine Verbindung mit einem Speicherkonto mit einer Abhängigkeit dar, die sicherstellt, dass der Event Hubs-Endpunkt zuerst erstellt wird.

{
    "$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 Genehmigung

Sie können automatisch einen verwalteten privaten Endpunkt genehmigen , wenn die anfordernde Identität über microsoft verfügt.<Provider>/<ResourceType>/privateEndpointConnectionsApproval/action permission on the target resource of the managed private endpoint.