首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用专用端点的Azure突触工作室连接

使用专用端点的Azure突触工作室连接
EN

Stack Overflow用户
提问于 2022-05-19 15:38:37
回答 2查看 1.1K关注 0票数 0

我正试图使用私有链接中心和私有端点建立到Azure synapse studio的安全连接,如下面的doc所述,

https://learn.microsoft.com/en-us/azure/synapse-analytics/security/how-to-connect-to-workspace-from-restricted-network

但是,它会引发一个错误。

“由于网络/防火墙问题,无法连接到无服务器SQL池”

请注意-我们使用VPN从家里连接到公司内部网络,并使用SQL身份验证访问专用池。这很好用。

专用端点和链接集线器安装在与专用池相同的子网上。因此,我不认为允许某些端口用于无服务器池没有任何问题。请纠正我。

我在这里错过了什么?

EN

回答 2

Stack Overflow用户

发布于 2022-05-20 07:15:04

无法连接到无服务器的SQL池,原因是网络/防火墙问题?

Synapse Studio

请按照以下说明对网络和防火墙进行故障排除:

  1. 在创建工作区时,https://learn.microsoft.com/en-us/azure/synapse-analytics/security/synapse-workspace-managed-vnet应该启用,并确保允许所有IP地址

注意:如果你不启用它,你的突触工作室将无法创建一个私有端点。所以如果你在突触工作区创建过程中没有做到这一点。稍后你将无法改变这一点,你将成为重建突触工作区的一股力量。

  1. 创建一个https://learn.microsoft.com/en-us/azure/synapse-analytics/security/how-to-create-managed-private-endpoints,连接到数据源,并检查托管的私有端点是否被批准。

要了解更多细节,请参考这个链接:

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

票数 0
EN

Stack Overflow用户

发布于 2022-10-07 08:49:44

这就是为我解决这个问题的原因。希望这对外面的人有帮助。

使用Terraform for_each循环部署专用端点。Synapse工作区正在使用托管专用网络。为了禁用公共网络访问,需要专用链路集线器加上3个特定于同步的端点(用于子资源)。

预审:

  • 私有DNS区域需要存在
  • 私有链接中心(通过TF部署在与Synapse工作区相同的资源组中)

main.tf

代码语言:javascript
复制
# 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

代码语言:javascript
复制
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"
    }
  }
}

附录:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72307398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档