Compartir a través de


Creación de un punto de conexión privado administrado para Azure Data Explorer

Los puntos de conexión privados administrados son necesarios para conectarse a recursos de Azure altamente protegidos. Son conexiones privadas unidireccionales que permiten a Azure Data Explorer conectarse a otros servicios protegidos. En este artículo, obtendrá información sobre cómo crear un punto de conexión privado administrado y a conectarlo al origen de datos.

Requisitos previos

Creación de un punto de conexión privado administrado mediante Azure Portal

Azure Portal le permite crear un punto de conexión privado administrado para que el clúster lo use al acceder al almacenamiento.

  1. En Azure Portal, vaya al clúster y seleccione Redes.

  2. Seleccione Managed private endpoints (Puntos de conexión privados administrados) y, después, elija Agregar.

    Captura de pantalla de la página de redes en la que se muestra el primer paso de la creación de un punto de conexión privado administrado.

  3. En el panel New managed private endpoint (Nuevo punto de conexión privado administrado), rellene los detalles del recurso con la siguiente información. A continuación, seleccione Siguiente.

    Captura de pantalla de la página de redes en la que se muestra el segundo paso de la creación de un punto de conexión privado administrado.

    Configuración Valor sugerido Descripción del campo
    Nombre mpeToStorage Nombre del punto de conexión privado administrado.
    Suscripción Su suscripción Seleccione la suscripción de Azure que quiere usar para el clúster.
    Tipo de recurso Microsoft.Storage/storageAccounts Seleccione el tipo de recursos que desea asignar al origen de datos.
    Nombre del recurso Compartir Elija el clúster que se usará como destino para el nuevo punto de conexión privado de Azure.
    Recurso secundario de destino blob Seleccione el destino pertinente para el origen de datos.
  4. Seleccione Crear para crear el recurso del punto de conexión privado administrado.

Creación de un punto de conexión privado administrado mediante la API de REST

Este método de creación de un punto de conexión privado administrado requiere una sola llamada API al proveedor de recursos Kusto. Puede establecer un punto de conexión privado administrado para los siguientes tipos de recursos:

  • Microsoft.Storage/storageAccounts (el subrecurso puede ser "blob" o "dfs")
  • Microsoft.EventHub/namespaces (el subrecurso debe ser "namespace")
  • Microsoft.Devices/IoTHubs (el subrecurso debe ser "iotHub")
  • Microsoft.KeyVault/vaults (el subrecurso debe ser "vault")
  • Microsoft.Sql/servers (el subrecurso debe ser "sqlServer")
  • Microsoft.Kusto/clusters (el subrecurso debe ser "cluster")
  • Microsoft.DigitalTwins/digitalTwinsInstance (el subrecurso debe ser "digitaltwinsinstance")

En el ejemplo siguiente, usará la herramienta ARMclient en PowerShell para crear un punto de conexión privado administrado mediante la API de REST.

Nota:

La conexión a una cuenta de almacenamiento de un recurso "dfs" requiere un punto de conexión privado administrado adicional al subrecurso "blob".

Requisitos previos para usar la API de REST

  1. Instale choco

  2. Instale ARMClient

    choco install armclient
    
  3. Inicio de sesión con ARMClient

    armclient login
    

Creación de un punto de conexión privado administrado para Azure Event Hubs

Use la siguiente llamada a la API de REST para habilitar un punto de conexión privado administrado para un servicio de Event Hubs:

  1. Ejecute el siguiente comando para crear un punto de conexión privado administrado para un servicio de 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.'
        }
    }
    "@
    
  2. Compruebe la respuesta.

    {
      "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"
      }
    }
    

Creación de un punto de conexión privado administrado para una cuenta de Azure Storage

Use la siguiente llamada a la API de REST para habilitar un punto de conexión privado administrado para un servicio de blob de Azure Storage:

  1. Ejecute el siguiente comando para crear un punto de conexión privado administrado para 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.'
        }
    }
    "@
    
  2. Compruebe la respuesta.

    {
      "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"
      }
    }
    

Cómo comprobar el progreso de la migración

Para comprobar el progreso de la migración del punto de conexión privado administrado, use el siguiente comando:

  1. Ejecute el siguiente 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. Compruebe la respuesta.

    {
      "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"
      }
    }
    

Apruebe el punto de conexión privado administrado

Cualquier método que haya usado para crear el punto de conexión privado administrado, debe aprobar su creación en el recurso de destino. Para aprobar un punto de conexión privado administrado en un servicio de Event Hubs:

  1. En Azure Portal, vaya al servicio de Event Hubs y seleccione Redes.

  2. Seleccione Conexiones de punto de conexión privado y seleccione el punto de conexión privado administrado que ha creado. A continuación, seleccione Aprobar.

    Captura de pantalla de la página de redes en la que se muestra la aprobación del punto de conexión privado administrado para el servicio Event Hubs.

  3. En la columna Estado de conexión, compruebe que el punto de conexión privado administrado está aprobado.

    Captura de pantalla de la página de redes en la que se muestra el punto de conexión privado administrado aprobado para el servicio Event Hubs.

Ahora, el clúster podrá conectarse al recurso mediante el punto de conexión privado administrado.

Creación de varios puntos de conexión privados administrados

Puede crear varios puntos de conexión privados administrados mediante plantillas de ARM y Terraform. En los ejemplos siguientes se garantiza que el punto de conexión privado administrado al espacio de nombres de Event Hubs se cree antes del que se crea en la cuenta de storage.

En el ejemplo siguiente se usa una plantilla de ARM para crear dos puntos de conexión privados administrados en un clúster de Azure Data Explorer. El primer punto de conexión se conecta a un espacio de nombres de Event Hubs. El segundo punto de conexión se conecta a una cuenta de Almacenamiento, con una dependencia que garantiza que el punto de conexión de Event Hubs se cree primero.

{
    "$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"
            }
        }
    ]
}

Aprobación automática

Puede aprobar automáticamente un punto de conexión privado administrado si la identidad solicitante tiene Microsoft.<Permiso Provider>/ResourceType>/privateEndpointConnectionsApproval/action en el recurso de destino del punto de< conexión privado administrado.