Создание управляемой частной конечной точки для Azure Data Explorer
Управляемые частные конечные точки необходимы для подключения к ресурсам Azure с высокой степенью защиты. Это односторонняя частная связь, которая позволяет Azure Data Explorer подключаться к другим защищенным службам. В этой статье вы узнаете, как создать управляемую частную конечную точку и подключить ее к источнику данных.
Необходимые компоненты
- Подписка Azure. Создайте бесплатную учетную запись Azure.
- Кластер Azure Data Explorer, который не внедряется в виртуальную сеть.
- Концентратор событий или большой двоичный объект служба хранилища Azure в подписке, зарегистрированной в поставщике ресурсов Microsoft.Network. Дополнительные сведения см. в разделе "Регистрация подписки в поставщике ресурсов".
Создайте управляемую частную конечную точку с помощью портала Azure
С помощью портала можно создать управляемую частную конечную точку для кластера, который будет использоваться при доступе к хранилищу.
Войдите на портал Azure, перейдите в свой кластер и выберите Сеть.
Выберите Управляемые частные конечные точки и щелкните Добавить.
На панели Новая управляемая частная конечная точка укажите следующие сведения о ресурсе, а затем нажмите кнопку Далее.
Параметр Рекомендуемое значение Описание поля Имя. mpeToStorage Имя управляемой частной конечной точки Отток подписок Ваша подписка Выберите подписку Azure, которую вы хотите использовать для кластера Тип ресурса Microsoft.Storage/storageAccounts Выберите нужный тип ресурсов для источника данных. Имя ресурса Предоставить общий доступ Выберите кластер, который нужно использовать в качестве назначения для новой частной конечной точки Azure Целевой подресурс BLOB-объект Выберите соответствующий целевой объект для источника данных. Выберите Создать, чтобы создать ресурс управляемой частной конечной точки.
Создание управляемой частной конечной точки с помощью портала 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
установитеchoco;
установите ARMClient;
choco install armclient
выполните вход с помощью ARMClient;
armclient login
Создание управляемой частной конечной точки для Центров событий Azure
Используйте следующий вызов REST API, чтобы включить управляемую частную конечную точку для службы Центров событий:
Выполните следующую команду, чтобы создать управляемую частную конечную точку в службе Центров событий:
# 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.' } } "@
Проверьте ответ.
{ "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:
Выполните следующую команду, чтобы создать управляемую частную конечную точку в Центре событий:
#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.' } } "@
Проверьте ответ.
{ "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" } }
Проверка хода выполнения
Чтобы проверить ход миграции управляемой частной конечной точки, используйте следующую команду:
Выполните следующую команду:
#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
Проверьте ответ.
{ "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" } }
Утверждение управляемой частной конечной точки
Независимо от метода, используемого для создания управляемой частной конечной точки, необходимо утвердить его создание в целевом ресурсе. Чтобы утвердить управляемую частную конечную точку в службе Центров событий:
Войдите на портал Azure, перейдите к службе Центров событий и выберите Сеть.
Выберите Подключения к частной конечной точке, выберите созданную управляемую частную конечную точку и нажмите кнопку Утвердить.
Убедитесь, что управляемая частная конечная точка утверждена в столбце Состояния подключения.
Теперь кластер может связаться с ресурсом с помощью подключения к управляемой частной конечной точке.
Создание нескольких управляемых частных конечных точек
Вы можете создать несколько управляемых частных конечных точек с помощью шаблонов 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 для целевого ресурса управляемой частной< конечной точки.