你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于: Azure 数据工厂
 Azure 数据工厂  Azure Synapse Analytics
 Azure Synapse Analytics
提示
试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用!
本文介绍排查 Azure 数据工厂和 Synapse Analytics 中的安全性和访问控制问题的常用方法。
常见错误和消息
云数据存储的复制活动中的连接问题
症状
源或接收器数据存储中出现连接问题,可能会返回各种错误消息。
原因
此错误通常是由于以下因素之一导致的:
- 如果使用的是自承载 IR,则为自承载集成运行时 (IR) 节点中的代理设置。 
- 如果使用的是自承载 IR,则为自承载集成运行时 (IR) 节点中的防火墙设置。 
- 云数据存储中的防火墙设置。 
解决方法
- 若要确保这是连接问题,请检查以下几点: - 错误由源或接收器连接器引发。
- 故障发生在复制活动开始时。
- 此故障对于 Azure IR 或具有一个节点的自承载 IR 是一致的,因为如果只有部分节点出现问题,则在多节点自承载 IR 中,这可能是一个随机故障。
 
- 如果使用的是自承载 IR,请检查代理、防火墙和网络设置,因为如果使用的是 Azure IR,则连接到相同的数据存储可能会成功。 若要对此场景进行故障排除,请参阅: 
- 如果使用的是 Azure IR,请尝试禁用数据存储的防火墙设置。 此方法可以解决以下两种情况下的问题: - Azure IR IP 地址不在允许列表中。
- 针对 Azure Blob 存储和 Azure Data Lake Storage Gen 2的“允许受信任的 Microsoft 服务访问此存储帐户”功能处于关闭状态。
- 未对 Azure Data Lake Storage Gen1 启用“允许访问 Azure 服务”设置。
 
如果上述所有方法都不起作用,请联系 Microsoft 获取帮助。
已删除或拒绝的专用终结点在 ADF 中仍显示为“已批准”
症状
你从 ADF 创建了托管专用终结点,并获取了批准的专用终结点。 但是,在以后删除或拒绝专用终结点后,ADF 中的托管专用终结点仍继续存在并显示“已批准”。
原因
目前,ADF 会在获得批准后停止拉取专用终结点状态。 因此,ADF 中显示的状态为已过时。
解决方法
从源/接收器数据集中拒绝/删除现有专用终结点后,应删除 ADF 中的托管专用终结点。
禁用公共网络访问后,身份验证密钥无效或为空的问题
症状
禁用服务的公共网络访问后,自承载集成运行时将引发以下错误: The Authentication key is invalid or empty. 或 Cannot connect to the data factory. Please check whether the factory has enabled public network access or the machine is hosted in a approved private endpoint Virtual Network.
原因
此问题很可能是由域名系统 (DNS) 解析问题引起的,因为禁用公共连接和建立专用终结点会阻止重新连接。
若要验证服务的完全限定的域名 (FQDN) 是否解析为公共 IP 地址,请执行以下操作:
- 确认已在与服务的专用终结点相同的虚拟网络中创建了 Azure 虚拟机 (VM)。 
- 运行 PsPing 并从 Azure VM Ping 到服务 FQDN: - psping.exe <dataFactoryName>.<region>.datafactory.azure.net:443- ping <dataFactoryName>.<region>.datafactory.azure.net- 注意 - 必须为 PsPing 命令指定端口。 此处显示了端口 443,但它不是必需的。 
- 检查这两个命令是否解析为基于指定区域的 Azure 数据工厂公共 IP。 该 IP 应采用以下格式: - xxx.xxx.xxx.0
解决方法
若要解决此问题,请执行以下操作:
- 对于选项,我们建议你在服务的“专用链接 DNS 区域”下手动添加“虚拟网络链接”。 有关详细信息,请参阅 Azure 专用链接一文。 此说明用于配置专用 DNS 区域或自定义 DNS 服务器,以将服务 FQDN 解析为专用 IP 地址。 
- 但是,如果不想配置专用 DNS 区域或自定义 DNS 服务器,请尝试以下临时解决方案: - 更改 Windows 中的主机文件,并将专用 IP(服务的专用终结点)映射到服务 FQDN。 - 在 Azure VM 中,前往 - C:\Windows\System32\drivers\etc,然后在记事本中打开主机文件。 在文件末尾添加将专用 IP 映射到 FQDN 的行,并保存更改。  
- 重新运行上述验证步骤中所述的相同命令,以检查响应,该响应应包含专用 IP。 
- 重新注册自承载集成运行时应该能够解决此问题。 
 
由于专用链接,无法在自承载 VM 上注册 IR 身份验证密钥
症状
无法在自承载 VM 上注册 IR 身份验证密钥,因为已启用专用链接。 看到以下错误消息:
“无法通过密钥 *************** 从 ADF 服务获取服务令牌,耗时 0.1250079 秒,错误代码为 InvalidGatewayKey,activityId 为 XXXXXXX,详细的错误消息为:客户端 IP 地址不是有效的专用 IP,导致数据工厂无法访问公共网络,因此无法与云联系以建立成功的连接。”
原因
此问题可能由你尝试在其中安装自承载 IR 的 VM 引起。 若要连接到云,请确保已启用公共网络访问。
解决方法
解决方案 1
若要解决此问题,请执行以下操作:
- 转到工厂 - 更新页。 
- 在右上角,选择“试用”按钮。 
- 在“参数”下,填写所需的信息。 
- 在“正文”下,粘贴以下属性: - { "tags": { "publicNetworkAccess":"Enabled" } }
- 选择“运行”以运行该函数。 
- 在“参数”下,填写所需的信息。 
- 在“正文”下,粘贴以下属性: - { "tags": { "publicNetworkAccess":"Enabled" } }
- 选择“运行”以运行该函数。 
- 确认显示“响应代码: 200”。 粘贴的属性也应显示在 JSON 定义中。 
- 在集成运行时中再次添加 IR 身份验证密钥。 
解决方案 2
若要解决此问题,请转到 Azure 专用链接。
尝试在用户界面上启用公共网络访问,如以下屏幕截图所示:
服务专用 DNS 区域替代 Azure 资源管理器 DNS 解析,导致“未找到”错误
原因
Azure 资源管理器和服务使用相同的专用区域,这会在客户的私有 DNS 上产生潜在的冲突,在这种情况下,无法找到 Azure资源管理器记录。
解决方法
- 在 Azure 门户中查找专用 DNS 区域 privatelink.azure.com。
              
                
- 检查是否存在记录“adf”。
              
                
- 转到“虚拟网络链接”,删除所有记录。
              
                
- 在 Azure 门户中,导航到服务,并为门户重新创建专用终结点。
              
                
- 返回专用 DNS 区域,并检查是否存在新的专用 DNS 区域 privatelink.adf.azure.com。
              
                
公共终结点中的连接错误
症状
使用 Azure Blob 存储帐户公共访问复制数据时,管道运行会随机失败并出现以下错误。
例如:Azure Blob 存储接收器使用 Azure IR(公共IR而不是托管虚拟网络),而 Azure SQL 数据库源使用托管虚拟网络 IR。 或源/接收器仅将托管虚拟网络 IR 用于存储公共访问。
<LogProperties><Text>Invoke callback url with req: "ErrorCode=AzureBlobFailedToCreateContainer,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Unable to create Azure Blob container. Endpoint: XXXXXXX/, Container Name: test.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=Microsoft.WindowsAzure.Storage.StorageException,Message=Unable to connect to the remote server,Source=Microsoft.WindowsAzure.Storage,''Type=System.Net.WebException,Message=Unable to connect to the remote server,Source=System,''Type=System.Net.Sockets.SocketException,Message=A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond public ip:443,Source=System,'","Details":null}}</Text></LogProperties>.
原因
该服务仍可使用托管虚拟网络 IR,但你可能会遇到此类错误,因为根据测试结果,托管虚拟网络中 Azure Blob 存储的公共终结点不可靠,并且根据 托管虚拟网络和托管专用终结点,不支持从服务的托管虚拟网络通过公共终结点连接 Azure Blob 存储和 Azure Data Lake Gen2。
解决方法
- 使用托管虚拟网络 IR 时,在源上启用专用终结点,同时也在接收器端启用。
- 如果仍想使用公共终结点,则只能切换到公共 IR,而不是对源和接收器使用托管虚拟网络 IR。 即使切换回公共 IR,如果托管虚拟网络 IR 仍然存在,该服务仍可能会使用托管虚拟网络 IR。
尝试使用客户管理的密钥 (CMK) 和用户分配的托管标识 (UA-MI) 删除 ADF 时出现内部错误
症状
{\"error\":{\"code\":\"InternalError\",\"message\":\"Internal error has occurred.\"}}
原因
如果正在执行任何与 CMK 相关的操作,应该先完成与服务相关的所有操作,然后再完成外部操作(如托管身份或密钥保管库操作)。 例如,如果要删除所有资源,则需要先删除服务实例,然后再删除密钥保管库。 如果您先删除密钥保管库,则会发生此错误,因为服务无法再读取所需的对象,并且无法验证是否可以删除。
解决方法
可以通过三种方式解决此问题。 这些限制如下:
- 你撤消了服务对存储 CMK 密钥的密钥保管库的访问权限。 可以重新分配以下访问权限:获取、展开密钥和包装密钥。 启用客户管理的密钥需要这些权限。 请参阅授予对客户管理的密钥的访问权限。 提供权限后,应该可以删除该服务。 
- 客户在删除该服务之前删除了密钥保管库/CMK。 该服务中的 CMK 应启用“软删除”和“清除保护”,且设置 90 天的默认保留策略。 你可以还原已删除的密钥。 
 请查看恢复已删除的密钥和已删除的密钥值
- 在删除该服务之前删除了用户分配的托管标识 (UA-MI)。 可以使用 REST API 调用从中进行恢复。 可以使用任何编程语言在所选的 http 客户端中执行此操作。 如果尚未为使用 Azure 身份验证的 REST API 调用设置任何内容,则最简单的方法是使用 Fiddler。 请按照以下步骤操作。 - 使用以下方法进行 GET 调用:GET Url like - https://management.azure.com/subscriptions/YourSubscription/resourcegroups/YourResourceGroup/providers/Microsoft.DataFactory/factories/YourFactoryName?api-version=2018-06-01
- 需要使用其他名称创建新的用户托管标识(也可以用相同名称,但使用与 GET 响应中不同的名称可确保更安全) 
- 修改 encryption.identity 属性和 identity.userassignedidentities,以指向新创建的托管标识。 从 userAssignedIdentity 对象中删除 clientId 和 principalId。 
- 对传递新正文的同一 URL 进行 PUT 调用。 请确保传递在 GET 响应中获取的所有内容,并且仅修改标识。 否则,它们会无意中覆盖其他设置。 
- 调用成功后,你将能够再次看到实体,然后重试删除。 
 
共享自承载集成运行时
不支持从其他租户共享自承载 IR
症状
尝试从 UI 共享自承载 IR 时,你可能会注意到其他数据工厂(位于不同租户),但你无法在位于不同租户的数据工厂之间共享自承载 IR。
原因
不能跨租户共享自承载 IR。
相关内容
有关故障排除的更多帮助,请尝试以下资源:
 
              
              