如何使用 Synapse 工作区 SQL 按需专用链接?
How can you use Private links for Synapse workspace SQL On-Demand?
我的工作区启用了托管 vnet。我已经按照指南将私有 link 配置为默认的 ADLS Gen 2:
私有 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!
- 在 Azure 门户中搜索您的存储帐户。
- 转到“设置”部分下的“网络”。
- 在“资源实例”部分为您的 Synapse 工作区添加一个例外。
- Select Microsoft。Synapse/workspaces 作为资源类型。
- Select 作为实例名称的工作区名称。
- 点击保存。
我的工作区启用了托管 vnet。我已经按照指南将私有 link 配置为默认的 ADLS Gen 2:
私有 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!
- 在 Azure 门户中搜索您的存储帐户。
- 转到“设置”部分下的“网络”。
- 在“资源实例”部分为您的 Synapse 工作区添加一个例外。
- Select Microsoft。Synapse/workspaces 作为资源类型。
- Select 作为实例名称的工作区名称。
- 点击保存。