Partager via


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

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.

  1. Dans le portail Azure, accédez à votre cluster, puis sélectionnez Mise en réseau.

  2. Sélectionnez Points de terminaison privés managés, puis sélectionnez Ajouter.

    Capture d’écran montrant la première étape de la création d’un point de terminaison privé managé dans la page relative au réseau.

  3. Dans le volet Nouveau point de terminaison privé managé, renseignez les détails de la ressource avec les informations suivantes, puis sélectionnez Suivant.

    Capture d’écran montrant la deuxième étape de la création d’un point de terminaison privé managé dans la page relative au réseau.

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

  1. Installez choco

  2. Installez ARMClient

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

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

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

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

  1. Dans le portail Azure, accédez à votre service Event Hubs, puis sélectionnez Mise en réseau.

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

    Capture d’écran montrant l’approbation du point de terminaison privé managé vers le service Event Hubs dans la page relative au réseau.

  3. Dans la colonne État de connexion, vérifiez que le point de terminaison privé managé est approuvé.

    Capture d’écran montrant le point de terminaison privé managé vers le service Event Hubs après approbation dans la page relative au réseau.

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