Condividi tramite


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

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.

  1. Nel portale di Azure passare al cluster e selezionare Rete.

  2. Selezionare Endpoint privati gestiti e quindi Selezionare Aggiungi.

    Screenshot della pagina di rete, che mostra il primo passaggio della creazione di un endpoint privato gestito.

  3. Nel riquadro Nuovo endpoint privato gestito compilare i dettagli della risorsa con le informazioni seguenti e quindi selezionare Avanti.

    Screenshot della pagina di rete, che mostra il secondo passaggio nella creazione di un endpoint privato gestito.

    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.
  4. 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

  1. Installare choco

  2. Installare ARMClient

    choco install armclient
    
  3. 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:

  1. 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.'
        }
    }
    "@
    
  2. 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:

  1. 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.'
        }
    }
    "@
    
  2. 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:

  1. 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
    
  2. 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:

  1. Nella portale di Azure passare al servizio Hub eventi e quindi selezionare Rete.

  2. Selezionare Connessioni endpoint privati, selezionare l'endpoint privato gestito creato e quindi selezionare Approva.

    Screenshot della pagina di rete che mostra l'approvazione dell'endpoint privato gestito nel servizio Hub eventi.

  3. Nella colonna Stato connessione verificare che l'endpoint privato gestito sia approvato.

    Screenshot della pagina di rete, che mostra l'endpoint privato gestito approvato al servizio Hub eventi.

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.