Creare un endpoint privato gestito per Azure Esplora dati
Gli endpoint privati gestiti sono necessari per connettersi alle risorse di Azure altamente protette. Si tratta di connessioni private unidirezionale che consentono ad Azure Esplora dati di connettersi ad altri servizi protetti. Questo articolo illustra come creare un endpoint privato gestito e connetterlo all'origine dati.
Prerequisiti
- Una sottoscrizione di Azure. Creare un account Azure gratuito.
- Un cluster di Azure Esplora dati non inserito in una rete virtuale.
- Un hub eventi o un BLOB Archiviazione di Azure in una sottoscrizione registrata nel provider di risorse Microsoft.Network. Per altre informazioni, vedere Registrare la sottoscrizione al provider di risorse.
Creare un endpoint privato gestito usando il portale di Azure
È possibile creare un endpoint privato gestito usando il portale per il cluster da usare quando si accede all'archiviazione.
Nel portale di Azure passare al cluster e selezionare Rete.
Selezionare Endpoint privati gestiti e quindi Selezionare Aggiungi.
Nel riquadro Nuovo endpoint privato gestito compilare i dettagli della risorsa con le informazioni seguenti e quindi selezionare Avanti.
Impostazione Valore consigliato Descrizione campo Nome mpeToStorage Nome dell'endpoint privato gestito Subscription Sottoscrizione in uso Selezionare la sottoscrizione di Azure da usare per il cluster Tipo di risorsa Microsoft.Storage/storageAccounts Selezionare il tipo di risorse pertinente desiderato per l'origine dati. Nome risorsa Condividi Scegliere il cluster che deve essere usato come destinazione per il nuovo endpoint privato di Azure Risorsa secondaria di destinazione BLOB Selezionare la destinazione pertinente per l'origine dati. selezionare Crea per creare la risorsa dell'endpoint privato gestito.
Creare un endpoint privato gestito usando l'API REST
La creazione di un endpoint privato gestito richiede una singola chiamata API al provider di risorse Kusto . È possibile stabilire un endpoint privato gestito con i tipi di risorse seguenti:
- Microsoft.Storage/storageAccounts (sotto-risorsa può essere "blob" o "dfs")
- Microsoft.EventHub/namespaces (sotto-risorsa "spazio dei nomi")
- Microsoft.Devices/IoTHubs (sotto-risorsa "iotHub")
- Microsoft.KeyVault/vaults (insieme di credenziali delle sotto-risorse)
- Microsoft.Sql/servers (sotto-risorsa "sqlServer")
- Microsoft.Kusto/clusters (sotto-risorsa "cluster")
- Microsoft.DigitalTwins/digitalTwinsInstance (sotto-risorsa "digitaltwinsinstance")
Nell'esempio seguente si userà ARMclient in PowerShell per creare un endpoint privato gestito usando l'API REST.
Nota
Per connettersi a un account di archiviazione una risorsa "dfs" richiede un endpoint privato gestito aggiuntivo alla sotto-risorsa "BLOB".
Prerequisiti per l'uso dell'API REST
Installare choco
Installare ARMClient
choco install armclient
Accedere con ARMClient
armclient login
Creare un endpoint privato gestito per Hub eventi di Azure
Usare la chiamata API REST seguente per abilitare l'endpoint privato gestito a un servizio hub eventi:
Eseguire il comando seguente per creare un endpoint privato gestito in un servizio hub eventi:
# 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.' } } "@
Controllare la risposta.
{ "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" } }
Creare un endpoint privato gestito in un account Archiviazione di Azure
Usare la chiamata API REST seguente per abilitare l'endpoint privato gestito a un BLOB Archiviazione di Azure:
Eseguire il comando seguente per creare un endpoint privato gestito in Hub eventi:
#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.' } } "@
Controllare la risposta.
{ "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" } }
Come controllare lo stato di avanzamento
Per controllare lo stato di avanzamento della migrazione dell'endpoint privato gestito, usare il comando seguente:
Esegui questo comando:
#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
Controllare la risposta.
{ "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" } }
Approvare l'endpoint privato gestito
Indipendentemente dal metodo usato per creare l'endpoint privato gestito, è necessario approvarne la creazione nella risorsa di destinazione. Per approvare un endpoint privato gestito a un servizio hub eventi:
Nella portale di Azure passare al servizio Hub eventi e quindi selezionare Rete.
Selezionare Connessioni endpoint privati, selezionare l'endpoint privato gestito creato e quindi selezionare Approva.
Nella colonna Stato connessione verificare che l'endpoint privato gestito sia approvato.
Il cluster può ora connettersi alla risorsa usando la connessione dell'endpoint privato gestito.
Creare più endpoint privati gestiti
È possibile creare più endpoint privati gestiti usando modelli di Resource Manager e Terraform. Gli esempi seguenti assicurano che l'endpoint privato gestito per lo spazio dei nomi di Hub eventi venga creato prima di quello per l'account di archiviazione.
L'esempio seguente usa un modello di Resource Manager per creare due endpoint privati gestiti in un cluster di Azure Esplora dati. Il primo endpoint si connette a uno spazio dei nomi di Hub eventi. Il secondo endpoint si connette a un account di archiviazione, con una dipendenza che garantisce che l'endpoint di Hub eventi venga creato per primo.
{
"$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"
}
}
]
}
Approvazione automatica
È possibile approvare automaticamente un endpoint privato gestito se l'identità richiedente ha Microsoft.<Autorizzazione provider>/ResourceType>/privateEndpointConnectionsApproval/action per la risorsa di destinazione dell'endpoint< privato gestito.