Tworzenie zarządzanego prywatnego punktu końcowego dla usługi Azure Data Explorer
Zarządzane prywatne punkty końcowe są wymagane do nawiązania połączenia z zasobami platformy Azure, które są wysoce chronione. Są one jednokierunkowymi połączeniami prywatnymi, które umożliwiają usłudze Azure Data Explorer łączenie się z innymi chronionymi usługami. W tym artykule dowiesz się, jak utworzyć zarządzany prywatny punkt końcowy i połączyć go ze źródłem danych.
Wymagania wstępne
- Subskrypcja platformy Azure. Utwórz bezpłatne konto platformy Azure.
- Klaster usługi Azure Data Explorer, który nie jest wstrzykiwany w sieci wirtualnej.
- Centrum zdarzeń lub obiekt blob usługi Azure Storage w subskrypcji zarejestrowanej u dostawcy zasobów Microsoft.Network. Aby uzyskać więcej informacji, zobacz Rejestrowanie subskrypcji dla dostawcy zasobów.
Tworzenie zarządzanego prywatnego punktu końcowego przy użyciu witryny Azure Portal
Zarządzany prywatny punkt końcowy można utworzyć przy użyciu portalu dla klastra, który będzie używany podczas uzyskiwania dostępu do magazynu.
W witrynie Azure Portal przejdź do klastra, a następnie wybierz pozycję Sieć.
Wybierz pozycję Zarządzane prywatne punkty końcowe, a następnie wybierz pozycję Dodaj.
W okienku Nowy zarządzany prywatny punkt końcowy wypełnij szczegóły zasobu następującymi informacjami, a następnie wybierz pozycję Dalej.
Ustawienie Sugerowana wartość Opis pola Nazwisko mpeToStorage Nazwa zarządzanego prywatnego punktu końcowego Subskrypcja Twoja subskrypcja Wybierz subskrypcję platformy Azure, której chcesz użyć dla klastra Typ zasobu Microsoft.Storage/storageAccounts Wybierz odpowiedni typ zasobów dla źródła danych. Nazwa zasobu Udostępnij Wybierz klaster, który ma być używany jako miejsce docelowe dla nowego prywatnego punktu końcowego platformy Azure Docelowy zasób podrzędny Blob Wybierz odpowiedni element docelowy źródła danych. wybierz pozycję Utwórz , aby utworzyć zarządzany zasób prywatnego punktu końcowego.
Tworzenie zarządzanego prywatnego punktu końcowego przy użyciu interfejsu API REST
Utworzenie zarządzanego prywatnego punktu końcowego wymaga pojedynczego wywołania interfejsu API do dostawcy zasobów Usługi Kusto . Zarządzany prywatny punkt końcowy można ustanowić w następujących typach zasobów:
- Microsoft.Storage/storageAccounts (podsób może być "obiektem blob" lub "dfs")
- Microsoft.EventHub/przestrzenie nazw (podsób "przestrzeń nazw")
- Microsoft.Devices/IoTHubs (podsób "iotHub")
- Microsoft.KeyVault/vaults (podsób "vault")
- Microsoft.Sql/servers (podsób "sqlServer")
- Microsoft.Kusto/clusters (podsób "cluster")
- Microsoft.DigitalTwins/digitalTwinsInstance (podsób "digitaltwinsinstance")
W poniższym przykładzie użyjesz klienta ARMclient w programie PowerShell, aby utworzyć zarządzany prywatny punkt końcowy przy użyciu interfejsu API REST.
Uwaga
Nawiązywanie połączenia z kontem magazynu zasobem "dfs" wymaga dodatkowego zarządzanego prywatnego punktu końcowego do zasobu podrzędnego "blob".
Wymagania wstępne dotyczące korzystania z interfejsu API REST
Zainstaluj choco
Instalowanie klienta ARMClient
choco install armclient
Logowanie przy użyciu klienta ARMClient
armclient login
Tworzenie zarządzanego prywatnego punktu końcowego w usłudze Azure Event Hubs
Użyj następującego wywołania interfejsu API REST, aby włączyć zarządzany prywatny punkt końcowy w usłudze Event Hubs:
Uruchom następujące polecenie, aby utworzyć zarządzany prywatny punkt końcowy w usłudze 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/<subscriptionIdEventHub>/resourceGroups/<resourceGroupNameEventHub>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>', 'groupId':'namespace', 'requestMessage':'Please Approve.' } } "@
Sprawdź odpowiedź.
{ "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" } }
Tworzenie zarządzanego prywatnego punktu końcowego na koncie usługi Azure Storage
Użyj następującego wywołania interfejsu API REST, aby włączyć zarządzany prywatny punkt końcowy do obiektu blob usługi Azure Storage:
Uruchom następujące polecenie, aby utworzyć zarządzany prywatny punkt końcowy w usłudze 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.' } } "@
Sprawdź odpowiedź.
{ "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" } }
Jak sprawdzić postęp
Aby sprawdzić postęp migracji zarządzanego prywatnego punktu końcowego, użyj następującego polecenia:
Uruchom następujące polecenie:
#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
Sprawdź odpowiedź.
{ "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" } }
Zatwierdzanie zarządzanego prywatnego punktu końcowego
Niezależnie od metody użytej do utworzenia zarządzanego prywatnego punktu końcowego należy zatwierdzić jego utworzenie w zasobie docelowym. Aby zatwierdzić zarządzany prywatny punkt końcowy w usłudze Event Hubs:
W witrynie Azure Portal przejdź do usługi Event Hubs, a następnie wybierz pozycję Sieć.
Wybierz pozycję Połączenia prywatnego punktu końcowego, wybierz utworzony zarządzany prywatny punkt końcowy, a następnie wybierz pozycję Zatwierdź.
W kolumnie Stan połączenia sprawdź, czy zarządzany prywatny punkt końcowy jest zatwierdzony.
Klaster może teraz nawiązać połączenie z zasobem przy użyciu zarządzanego połączenia prywatnego punktu końcowego.
Tworzenie wielu zarządzanych prywatnych punktów końcowych
Można utworzyć wiele zarządzanych prywatnych punktów końcowych przy użyciu szablonów usługi ARM i programu Terraform. W poniższych przykładach upewniono się, że zarządzany prywatny punkt końcowy w przestrzeni nazw usługi Event Hubs zostanie utworzony przed utworzeniem go na koncie usługi Storage.
W poniższym przykładzie użyto szablonu usługi ARM do utworzenia dwóch zarządzanych prywatnych punktów końcowych w klastrze usługi Azure Data Explorer. Pierwszy punkt końcowy łączy się z przestrzenią nazw usługi Event Hubs. Drugi punkt końcowy łączy się z kontem magazynu z zależnością, która gwarantuje, że punkt końcowy usługi Event Hubs zostanie utworzony jako pierwszy.
{
"$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"
}
}
]
}
Automatyczne zatwierdzanie
Jeśli żądająca tożsamość ma firmę Microsoft, możesz automatycznie zatwierdzić zarządzany prywatny punkt końcowy.<Uprawnienie Provider>/ResourceType>/privateEndpointConnectionsApproval/action do zasobu docelowego zarządzanego prywatnego< punktu końcowego.