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
- Suscripción a Azure. Cree una cuenta de Azure gratuita.
- Un clúster de Azure Data Explorer que no se inserta en una red virtual.
- Un centro de eventos o un blob de Azure Storage en una suscripción registrada en el proveedor de recursos Microsoft.Network. Para más información, consulte Registro de la suscripción al proveedor de recursos.
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.
En Azure Portal, vaya al clúster y seleccione Redes.
Seleccione Managed private endpoints (Puntos de conexión privados administrados) y, después, elija Agregar.
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.
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. 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
Instale choco
Instale ARMClient
choco install armclient
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:
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.' } } "@
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:
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.' } } "@
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:
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
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:
En Azure Portal, vaya al servicio de Event Hubs y seleccione Redes.
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.
En la columna Estado de conexión, compruebe que el punto de conexión privado administrado está aprobado.
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.