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
- Ein Azure-Abonnement. Erstellen Sie ein kostenloses Azure-Konto.
- Ein Azure Data Explorer-Cluster , der nicht in ein virtuelles Netzwerk eingefügt wird.
- Ein Event Hub oder ein Azure Storage-Blob in einem Abonnement, das für den Microsoft.Network-Ressourcenanbieter registriert ist. Weitere Informationen finden Sie unter Registrieren des Abonnements für den Ressourcenanbieter.
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.
Navigieren Sie im Azure-Portal zu Ihrem Cluster, und wählen Sie dann Netzwerk aus.
Wählen Sie Verwaltete private Endpunkte und dann Hinzufügen aus.
Füllen Sie im Bereich Neuer verwalteter privater Endpunkt die Ressourcendetails mit den folgenden Informationen aus, und wählen Sie dann Weiter aus.
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. 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
Installieren Sie choco
Installieren Sie ARMClient
choco install armclient
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:
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.' } } "@
Ü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:
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.' } } "@
Ü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:
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
Ü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:
Navigieren Sie im Azure-Portal zu Ihrem Event Hubs-Dienst, und wählen Sie dann Netzwerk aus.
Wählen Sie Private Endpunktverbindungen aus, wählen Sie den erstellten verwalteten privaten Endpunkt aus, und wählen Sie dann Genehmigen aus.
Überprüfen Sie in der Spalte Verbindungsstatus, ob der verwaltete private Endpunkt genehmigt ist.
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.