Créer un point de terminaison privé managé pour Azure Data Explorer
Les points de terminaison privés managés sont nécessaires pour se connecter aux ressources Azure hautement protégées. Il s’agit de connexions privées unidirectionnel qui permettent à Azure Data Explorer de se connecter à d’autres services protégés. Dans cet article, vous allez découvrir comment créer un point de terminaison privé managé et le connecter à votre source de données.
Prérequis
- Un abonnement Azure. Créez un compte Azure gratuit.
- Cluster Azure Data Explorer qui n’est pas injecté dans un réseau virtuel.
- Un hub d’événements ou un objet blob Stockage Azure dans un abonnement inscrit auprès du fournisseur de ressources Microsoft.Network. Pour plus d’informations, consultez Inscrire un abonnement au fournisseur de ressources.
Créer un point de terminaison privé managé à l’aide du portail Azure
Vous pouvez créer un point de terminaison privé managé à l’aide du portail que votre cluster doit utiliser lors de l’accès à votre stockage.
Dans le portail Azure, accédez à votre cluster, puis sélectionnez Mise en réseau.
Sélectionnez Points de terminaison privés managés, puis sélectionnez Ajouter.
Dans le volet Nouveau point de terminaison privé managé, renseignez les détails de la ressource avec les informations suivantes, puis sélectionnez Suivant.
Paramètre Valeur suggérée Description du champ Nom mpeToStorage Nom du point de terminaison privé managé Abonnement Votre abonnement Sélectionner l’abonnement Azure que vous souhaitez utiliser pour votre cluster Type de ressource Microsoft.Storage/storageAccounts Sélectionnez le type de ressources approprié que vous souhaitez pour votre source de données. Nom de la ressource Partager Choisissez le cluster qui doit être utilisé comme destination pour le nouveau point de terminaison privé Azure Sous-ressource cible blob Sélectionnez la cible appropriée pour votre source de données. Sélectionnez Créer pour créer la ressource de point de terminaison privé managé.
Créer un point de terminaison privé managé à l’aide de l’API REST
La création d’un point de terminaison privé managé nécessite un appel d’API unique au fournisseur de ressources Kusto. Vous pouvez établir un point de terminaison privé managé aux types de ressources suivants :
- Microsoft.Storage/storageAccounts (sous-ressource peut être « blob » ou « dfs »)
- Microsoft.EventHub/namespaces (sous-ressource « namespace »)
- Microsoft.Devices/IoTHubs (sous-ressource « iotHub »)
- Microsoft.KeyVault/vaults (sous-ressource « vault »)
- Microsoft.Sql/servers (sous-ressource « sqlServer »)
- Microsoft.Kusto/clusters (sous-ressource « cluster »)
- Microsoft.DigitalTwins/digitalTwinsInstance (sous-ressource « digitaltwinsinstance »)
Dans l’exemple suivant, vous allez utiliser ARMclient dans PowerShell pour créer un point de terminaison privé managé à l’aide de l’API REST.
Remarque
La connexion à un compte de stockage une ressource « dfs » nécessite un point de terminaison privé managé supplémentaire à la sous-ressource « blob ».
Conditions préalables pour utiliser l’API REST
Installez choco
Installez ARMClient
choco install armclient
Se connecter à ARMClient
armclient login
Créer un point de terminaison privé managé vers Azure Event Hubs
Utilisez l’appel d’API REST suivant pour activer le point de terminaison privé managé sur un service Event Hubs :
Exécutez la commande suivante pour créer un point de terminaison privé managé sur un service 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.' } } "@
Vérifiez la réponse.
{ "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" } }
Créer un point de terminaison privé managé sur un compte Stockage Azure
Utilisez l’appel d’API REST suivant pour activer le point de terminaison privé managé vers un objet blob Stockage Azure :
Exécutez la commande suivante pour créer un point de terminaison privé managé vers 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.' } } "@
Vérifiez la réponse.
{ "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" } }
Procédure pour vérifier la progression
Pour vérifier la progression de la migration du point de terminaison privé managé, utilisez la commande suivante :
Exécutez la commande suivante :
#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
Vérifiez la réponse.
{ "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" } }
Approuver le point de terminaison privé managé
Quelle que soit la méthode que vous avez utilisée pour créer le point de terminaison privé managé, vous devez approuver sa création sur la ressource cible. Pour approuver un point de terminaison privé managé auprès d’un service Event Hubs :
Dans le portail Azure, accédez à votre service Event Hubs, puis sélectionnez Mise en réseau.
Sélectionnez Connexions des points de terminaison privés, sélectionnez le point de terminaison privé managé que vous avez créé, puis sélectionnez Approuver.
Dans la colonne État de connexion, vérifiez que le point de terminaison privé managé est approuvé.
Votre cluster peut désormais se connecter à la ressource via la connexion de point de terminaison privé managé.
Créer plusieurs points de terminaison privés managés
Vous pouvez créer plusieurs points de terminaison privés managés à l’aide de modèles ARM et terraform. Les exemples suivants garantissent que le point de terminaison privé managé de l’espace de noms Event Hubs est créé avant celui du compte de stockage.
L’exemple suivant utilise un modèle ARM pour créer deux points de terminaison privés managés dans un cluster Azure Data Explorer. Le premier point de terminaison se connecte à un espace de noms Event Hubs. Le deuxième point de terminaison se connecte à un compte de stockage, avec une dépendance qui garantit que le point de terminaison Event Hubs est créé en premier.
{
"$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"
}
}
]
}
Approbation automatique
Vous pouvez approuver automatiquement un point de terminaison privé managé si l’identité demandée a Microsoft.<Autorisation provider>/ResourceType>/privateEndpointConnectionsApproval/action sur la ressource cible du point de< terminaison privé managé.