我正试图使用私有链接中心和私有端点建立到Azure synapse studio的安全连接,如下面的doc所述,
但是,它会引发一个错误。
“由于网络/防火墙问题,无法连接到无服务器SQL池”
请注意-我们使用VPN从家里连接到公司内部网络,并使用SQL身份验证访问专用池。这很好用。
专用端点和链接集线器安装在与专用池相同的子网上。因此,我不认为允许某些端口用于无服务器池没有任何问题。请纠正我。
我在这里错过了什么?
发布于 2022-05-20 07:15:04
无法连接到无服务器的SQL池,原因是网络/防火墙问题?
Synapse Studio

请按照以下说明对网络和防火墙进行故障排除:
注意:如果你不启用它,你的突触工作室将无法创建一个私有端点。所以如果你在突触工作区创建过程中没有做到这一点。稍后你将无法改变这一点,你将成为重建突触工作区的一股力量。


要了解更多细节,请参考这个链接:
https://www.thedataguy.blog/azure-synapse-understanding-private-endpoints/
https://www.c-sharpcorner.com/article/how-to-setup-azure-synapse-analytics-with-private-endpoint/
如何为Azure Synapse工作区设置访问控制- Azure Synapse Analytics = Microsoft Docs
发布于 2022-10-07 08:49:44
这就是为我解决这个问题的原因。希望这对外面的人有帮助。
使用Terraform for_each循环部署专用端点。Synapse工作区正在使用托管专用网络。为了禁用公共网络访问,需要专用链路集线器加上3个特定于同步的端点(用于子资源)。
预审:
main.tf
# Loop through Synapse subresource names, and create Private Endpoints to each of them
resource "azurerm_private_endpoint" "this" {
for_each = var.endpoints
name = lower("pep-syn-${var.location}-${var.environment}-${each.value["alias"]}")
location = var.location
resource_group_name = var.resource_group_name
subnet_id = data.azurerm_subnet.subnet.id
private_service_connection {
name = lower("pep-syn-${var.location}-${var.environment}-${each.value["alias"]}")
private_connection_resource_id = ("${each.key}" == "web") ? azurerm_synapse_private_link_hub.this.id : azurerm_synapse_workspace.this.id
subresource_names = ["${each.key}"]
is_manual_connection = false
}
private_dns_zone_group {
name = "${each.value["source_dns_zone_group_name"]}"
private_dns_zone_ids = [var.private_dns_zone_config[each.value["source_dns_zone_group_name"]]]
}
tags = var.tags
lifecycle {
ignore_changes = [
tags
]
}
}variables.tf
variable "endpoints" {
description = "Private Endpoint Connections required. 'web' (case-sensitive) is for the Workspace to the Private Link Hub, and Sql/Dev/SqlOnDemand (case-sensitive) are from the Synapse workspace"
type = map(map(string))
default = {
"Dev" = {
alias = "studio"
source_dns_zone_group_name = "privatelink_dev_azuresynapse_net"
}
"Sql" = {
alias = "sqlpool"
source_dns_zone_group_name = "privatelink_sql_azuresynapse_net"
}
"SqlOnDemand" = {
alias = "sqlondemand"
source_dns_zone_group_name = "privatelink_sql_azuresynapse_net"
}
"web" = {
alias = "pvtlinkhub"
source_dns_zone_group_name = "privatelink_azuresynapse_net"
}
}
}附录:
https://stackoverflow.com/questions/72307398
复制相似问题