【问题标题】:How can you use Private links for Synapse workspace SQL On-Demand?如何将私有链接用于 Synapse 工作区 SQL On-Demand?
【发布时间】:2021-02-22 04:12:17
【问题描述】:

我的工作区启用了托管 vnet。我已设法按照指南配置到默认 ADLS Gen 2 的专用链接:

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

专用链接连接在复制活动(工作区中的管道)中工作。但是,从无服务器池访问存储帐户似乎不起作用。有这方面的指南吗?对于 AAD 直通、SAS 令牌或托管身份的使用是否有任何要求?目前完全支持吗?

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

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

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

【问题讨论】:

    标签: azure azure-synapse azure-private-link


    【解决方案1】:

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

    正如您在 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。
    • 资源 ID - 您可以在 Azure 门户的 Synapse 工作区概述中找到此 ID。
    $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. 选择 Microsoft.Synapse/workspaces 作为资源类型。
    5. 选择您的工作区名称作为实例名称。
    6. 点击保存。

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 2022-01-19
      • 2020-10-30
      • 2022-11-09
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多