【问题标题】:Azure Postgres and Data Factory - Firewall RulesAzure Postgres 和数据工厂 - 防火墙规则
【发布时间】:2024-01-22 16:29:02
【问题描述】:

我有一个 Azure Postgres 数据库,并希望在 Azure 数据工厂管道中查询它。当我将数据库添加为链接服务时,我发现它失败了,因为 IP 地址未列入白名单。查看https://docs.microsoft.com/en-us/azure/virtual-network/service-tags-overview#discover-service-tags-by-using-downloadable-json-files ,我看到该地区有很多用于Sql 的IP。我想知道是否有其他方法可以让数据工厂从 postgres 数据库中读取,而无需启用允许所有订阅(甚至我的订阅)网络访问数据库的按钮。理想情况下,我想说“允许来自此 azure 订阅的所有连接”。这可行吗?

【问题讨论】:

  • 您是否尝试为数据工厂添加访问角色?

标签: azure-data-factory azure-virtual-network azure-postgresql


【解决方案1】:

您可以尝试为数据工厂添加访问角色:

授予数据工厂以下角色之一:

  • 贡献者:授予管理所有资源的完全访问权限,但不授予 允许您在 Azure RBAC 中分配角色。
  • 阅读器:查看所有资源,但不允许您制作任何 变化。

通常,只有树形方式来控制访问:1. 添加 IP 角色,2. 允许访问 Azure。 3.访问控制(IAM)。如果 IAM 不起作用,我们只能添加 IP 或允许从 Azure 访问。

对于所有 Azure 数据库(据我所知),我们唯一可以设置来实现您的请求是“允许访问 Azure 服务”:

HTH。

【讨论】:

  • 数据工厂是否使用标准用户或主体? dfleon 是从哪里来的?或者我可以指定数据工厂运行的用户吗?
  • @ashic 当然可以。您可以为 Postgre 数据库选择您的 AD 用户。 dfleon 是我的数据工厂名称,只是一个示例。
  • 所以当我去添加 Azure Database for Postgres 链接服务时,我需要指定数据库、用户名、密码、端口等。当我去测试连接时,我看到它抱怨ip 不在 postgres db 的允许列表中。这就是问题 - ip 规则。
  • @ashic 我知道你的意思,这就是为什么我要你测试为 postgres 数据库添加数据工厂角色。这是方法之一。如果它不起作用,我们会说你的问题是不可能的。
  • 嗨@ashic,你现在有什么进展吗?