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 Azure-abonnement. Maak een gratis Azure-account.
- Een Azure Data Explorer-cluster dat niet is opgenomen in een virtueel netwerk.
- Een Event Hub of een Azure Storage--blob in een abonnement dat is geregistreerd bij de Microsoft.Network-resourceprovider. Zie Abonnement registreren bij de resourceprovidervoor meer informatie.
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.
Navigeer in Azure Portal naar uw cluster en selecteer Netwerken.
Selecteer beheerde privé-eindpuntenen selecteer vervolgens toevoegen.
Vul in het deelvenster Nieuw beheerd privé-eindpunt de resourcegegevens in met de volgende informatie en selecteer vervolgens Volgende.
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. 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
choco installeren
ARMClient installeren
choco install armclient
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:
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.' } } "@
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:
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.' } } "@
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:
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
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:
Navigeer in Azure Portal naar uw Event Hubs-service en selecteer vervolgens Netwerken.
Selecteer privé-eindpuntverbindingen, selecteer het beheerde privé-eindpunt dat u hebt gemaakt en selecteer vervolgens Goedkeuren.
Controleer in de kolom Verbindingsstatus of het beheerde privé-eindpunt is goedgekeurd.
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.
- ARM-sjabloon
- Terraform-configuratie
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.