如何使用 Synapse 工作区 SQL 按需专用链接?

How can you use Private links for Synapse workspace SQL On-Demand?

我的工作区启用了托管 vnet。我已经按照指南将私有 link 配置为默认的 ADLS Gen 2:

https://docs.microsoft.com/en-us/azure/synapse-analytics/security/how-to-create-managed-private-endpoints

私有 link 连接在副本 activity 中工作(工作区中的管道)。但是,从无服务器池访问存储帐户似乎不起作用。有这方面的指南吗?对 AAD 传递、SAS 令牌或托管身份的使用是否有任何要求?目前完全支持吗?

错误:文件“”无法打开,因为它不存在或被另一个进程使用。

此错误是由 AD 直通和具有托管身份方案的数据源引起的。我可以使用复选框“访问受信任的 Microsoft 服务”(在 ADLS 中)通过托管身份建立连接,因此应该正确配置它们。但是,当阻止对 ADLS 的访问时,连接将停止工作。

编辑:根据这个link:https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/develop-storage-files-storage-access-control?tabs=user-identity ,访问受防火墙保护的存储帐户仅在托管标识和“允许受信任的 Microsoft..”设置打开的情况下起作用。这是否也适用于私有 links,这意味着访问防火墙后的存储帐户的唯一方法是允许访问 Microsoft 服务,而私有 links 不能用于无服务器池吗?

是的,它也适用于私人链接。

如您在 article 中所见,目前您可以 运行 仅使用托管身份查询受防火墙保护的存储帐户。

在接下来的一段时间内,您可以选择 运行 使用用户身份(AAD 直通)进行这些查询,这样更方便。

更新 1

现在您可以在存储帐户防火墙设置中为 Azure Synapse 工作区配置例外。有关完整说明,请参阅 official docs

简短摘要:

1.打开 PowerShell 或安装 PowerShell

2。安装更新的 Az。存储模块:

Install-Module -Name Az.Storage -RequiredVersion 3.0.1-preview -AllowPrerelease

确保您使用的是 3.0.1 或更高版本。您可以通过 运行 执行此命令来检查您的 Az.Storage 版本:

Get-Module -ListAvailable -Name  Az.Storage | select Version

3。连接到您的 Azure 租户:

Connect-AzAccount

4.在 PowerShell 中定义变量:

  • 资源组名称 - 您可以在 Azure 门户中的 Synapse 工作区概述中找到它。
  • 帐户名称 - 受防火墙规则保护的存储帐户的名称。
  • 租户 ID - 您可以在 Azure Active Directory 的 Azure 门户中的租户信息中找到它。
  • 资源 ID - 您可以在 Azure 门户的 Synapse 工作区概览中找到它。
$resourceGroupName = "<resource group name>"
$accountName = "<storage account name>"
$tenantId = "<tenant id>"
$resourceId = "<Synapse workspace resource id>"

确保资源 ID 与此模板匹配。

resourcegroups 小写很重要。一个资源id的例子:

/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Synapse/workspaces/{name-of-workspace}

5.添加存储网络规则:

Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $accountName -TenantId $tenantId -ResourceId $resourceId

6.验证您的存储帐户是否应用了规则:

$rule = Get-AzStorageAccountNetworkRuleSet -ResourceGroupName $resourceGroupName -Name $accountName
$rule.ResourceAccessRules

在接下来的一段时间内,将有一个选项可以从 Azure 门户 UI.

配置存储帐户防火墙

更新 2

通过 Azure 门户 UI 的配置是 here!

  1. 在 Azure 门户中搜索您的存储帐户。
  2. 转到“设置”部分下的“网络”。
  3. 在“资源实例”部分为您的 Synapse 工作区添加一个例外。
  4. Select Microsoft。Synapse/workspaces 作为资源类型。
  5. Select 作为实例名称的工作区名称。
  6. 点击保存。