Поделиться через


Создание управляемой частной конечной точки для Azure Data Explorer

Управляемые частные конечные точки необходимы для подключения к ресурсам Azure с высокой степенью защиты. Это односторонняя частная связь, которая позволяет Azure Data Explorer подключаться к другим защищенным службам. В этой статье вы узнаете, как создать управляемую частную конечную точку и подключить ее к источнику данных.

Необходимые компоненты

Создайте управляемую частную конечную точку с помощью портала Azure

С помощью портала можно создать управляемую частную конечную точку для кластера, который будет использоваться при доступе к хранилищу.

  1. Войдите на портал Azure, перейдите в свой кластер и выберите Сеть.

  2. Выберите Управляемые частные конечные точки и щелкните Добавить.

    Снимок экрана: страница

  3. На панели Новая управляемая частная конечная точка укажите следующие сведения о ресурсе, а затем нажмите кнопку Далее.

    Снимок экрана: страница

    Параметр Рекомендуемое значение Описание поля
    Имя. mpeToStorage Имя управляемой частной конечной точки
    Отток подписок Ваша подписка Выберите подписку Azure, которую вы хотите использовать для кластера
    Тип ресурса Microsoft.Storage/storageAccounts Выберите нужный тип ресурсов для источника данных.
    Имя ресурса Предоставить общий доступ Выберите кластер, который нужно использовать в качестве назначения для новой частной конечной точки Azure
    Целевой подресурс BLOB-объект Выберите соответствующий целевой объект для источника данных.
  4. Выберите Создать, чтобы создать ресурс управляемой частной конечной точки.

Создание управляемой частной конечной точки с помощью портала Azure

Для создания управляемой частной конечной точки требуется один вызов API к поставщику ресурсов Kusto. Вы можете установить управляемую частную конечную точку для следующих типов ресурсов:

  • Microsoft.Storage/storageAccounts (вложенный ресурс может быть "blob" или "dfs")
  • Microsoft.EventHub/namespaces (подресурс namespace)
  • Microsoft.Devices/IoTHubs (подресурс iotHub)
  • Microsoft.KeyVault/vaults (подресурс vault)
  • Microsoft.Sql/servers (подресурс sqlServer)
  • Microsoft.Kusto/clusters (подресурс cluster)
  • Microsoft.DigitalTwins/digitalTwinsInstance (подресурс digitaltwinsinstance)

В следующем примере вы будете использовать ARMclient в PowerShell для создания управляемой частной конечной точкой с помощью REST API.

Примечание.

Для подключения к учетной записи хранения ресурсу "dfs" требуется дополнительная управляемая частная конечная точка к подресурсу BLOB-объекта.

Необходимые условия для использования REST API

  1. установитеchoco;

  2. установите ARMClient;

    choco install armclient
    
  3. выполните вход с помощью ARMClient;

    armclient login
    

Создание управляемой частной конечной точки для Центров событий Azure

Используйте следующий вызов REST API, чтобы включить управляемую частную конечную точку для службы Центров событий:

  1. Выполните следующую команду, чтобы создать управляемую частную конечную точку в службе Центров событий:

    # 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. Проверьте ответ.

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

Создание управляемой частной конечной точки для учетной записи службы хранилища Azure

Используйте следующий вызов REST API, чтобы включить управляемую частную конечную точку для BLOB-объекта службы хранилища Azure:

  1. Выполните следующую команду, чтобы создать управляемую частную конечную точку в Центре событий:

    #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. Проверьте ответ.

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

Проверка хода выполнения

Чтобы проверить ход миграции управляемой частной конечной точки, используйте следующую команду:

  1. Выполните следующую команду:

    #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. Проверьте ответ.

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

Утверждение управляемой частной конечной точки

Независимо от метода, используемого для создания управляемой частной конечной точки, необходимо утвердить его создание в целевом ресурсе. Чтобы утвердить управляемую частную конечную точку в службе Центров событий:

  1. Войдите на портал Azure, перейдите к службе Центров событий и выберите Сеть.

  2. Выберите Подключения к частной конечной точке, выберите созданную управляемую частную конечную точку и нажмите кнопку Утвердить.

    Снимок экрана: страница

  3. Убедитесь, что управляемая частная конечная точка утверждена в столбце Состояния подключения.

    Снимок экрана: страница

Теперь кластер может связаться с ресурсом с помощью подключения к управляемой частной конечной точке.

Создание нескольких управляемых частных конечных точек

Вы можете создать несколько управляемых частных конечных точек с помощью шаблонов ARM и Terraform. В следующих примерах убедитесь, что управляемая частная конечная точка в пространстве имен Центров событий создается перед учетной записью хранения.

В следующем примере используется шаблон ARM для создания двух управляемых частных конечных точек в кластере Azure Data Explorer. Первая конечная точка подключается к пространству имен Центров событий. Вторая конечная точка подключается к учетной записи хранения с зависимостью, которая гарантирует, что конечная точка Центров событий создается сначала.

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

Автоматическое утверждение

Вы можете автоматически утвердить управляемую частную конечную точку, если запрашивающее удостоверение имеет корпорацию Майкрософт.<Разрешение provider>/ResourceType>/privateEndpointConnectionsApproval/action для целевого ресурса управляемой частной< конечной точки.