数据工厂与 Azure Git 存储库的交叉租户
Data Factory Cross Tenant with Azure Git Repo
我们使用 ARM 部署我们的基础架构并配置 Git link 如下:
首先配置一个变量:
"repoConfiguration": {
"type": "FactoryVSTSConfiguration",
"accountName": "[parameters('accountName')]",
"repositoryName": "[parameters('repositoryName')]",
"collaborationBranch": "[parameters('collaborationBranch')]",
"rootFolder": "[parameters('rootFolder')]",
"tenantId": "[parameters('repositoryTenantId')]",
"projectName": "[parameters('projectName')]"
},
然后在配置资源时使用该变量:
"type": "Microsoft.DataFactory/factories",
"name": "[variables('dataFactoryName')]",
"apiVersion": "2018-06-01",
"location": "[resourceGroup().location]",
"properties": {
"repoConfiguration": "[if(equals(parameters('environmentShort'), 'dev'), variables('repoConfiguration'), json('null'))]",
"publicNetworkAccess": "Disabled"
},
"identity": {
"type": "SystemAssigned"
},
请注意,我们正在为 Git 所在的租户设置租户 ID。
假设我们 Git 的电子邮件是:
joebloggs@company.com
对于 Azure(另一个租户):
joebloggs@xxcompany.com
问题是,该行为与 Microsoft 中的这篇文章不匹配。
行为如下:
首先,我们使用我们的 joesbloggs@xxcompany.com 电子邮件登录并通过 MFA 进行验证。我们选择适当的订阅和数据工厂。登录后,我们会看到以下弹出窗口,它与文章附录中的内容不 100% 匹配:
从这里,我们得到“选择一个帐户”的弹出窗口,我们 select joebloggs@company.com 电子邮件并通过通常的 MFA。
一旦 ADF 加载,我们就会遇到这个问题(我的假设)它没有正确地与两个登录握手:
当我点击 ADF 中的任何内容时,例如工具箱,ADF 恢复为:
检查回购设置,它是设置:
我不知道可能是什么问题。即使手动配置 Git,它在浏览器打开时也能正常工作,但关闭浏览器并再次打开会产生同样的问题。
我们还在为 ADF 使用自托管 IR。
对于遇到此问题的任何人,解决方法是:
- 打开浏览器
- 在第一个选项卡中,打开 Azure Devops 并登录
- 打开 Azure 门户并在第二个选项卡中使用其他租户帐户登录
- 在第 3 个选项卡中打开 adf.azure.com。使用您的“其他租户帐户”登录,当它尝试连接到 git 时,它会要求您 select 所需的帐户。 Select 你用于 Azure Devops 和跨租户的帐户应该可以在数据工厂和 Azure 之间正常工作 Git
我们使用 ARM 部署我们的基础架构并配置 Git link 如下:
首先配置一个变量:
"repoConfiguration": {
"type": "FactoryVSTSConfiguration",
"accountName": "[parameters('accountName')]",
"repositoryName": "[parameters('repositoryName')]",
"collaborationBranch": "[parameters('collaborationBranch')]",
"rootFolder": "[parameters('rootFolder')]",
"tenantId": "[parameters('repositoryTenantId')]",
"projectName": "[parameters('projectName')]"
},
然后在配置资源时使用该变量:
"type": "Microsoft.DataFactory/factories",
"name": "[variables('dataFactoryName')]",
"apiVersion": "2018-06-01",
"location": "[resourceGroup().location]",
"properties": {
"repoConfiguration": "[if(equals(parameters('environmentShort'), 'dev'), variables('repoConfiguration'), json('null'))]",
"publicNetworkAccess": "Disabled"
},
"identity": {
"type": "SystemAssigned"
},
请注意,我们正在为 Git 所在的租户设置租户 ID。
假设我们 Git 的电子邮件是: joebloggs@company.com
对于 Azure(另一个租户): joebloggs@xxcompany.com
问题是,该行为与 Microsoft 中的这篇文章不匹配。
行为如下:
首先,我们使用我们的 joesbloggs@xxcompany.com 电子邮件登录并通过 MFA 进行验证。我们选择适当的订阅和数据工厂。登录后,我们会看到以下弹出窗口,它与文章附录中的内容不 100% 匹配:
从这里,我们得到“选择一个帐户”的弹出窗口,我们 select joebloggs@company.com 电子邮件并通过通常的 MFA。
一旦 ADF 加载,我们就会遇到这个问题(我的假设)它没有正确地与两个登录握手:
当我点击 ADF 中的任何内容时,例如工具箱,ADF 恢复为:
检查回购设置,它是设置:
我不知道可能是什么问题。即使手动配置 Git,它在浏览器打开时也能正常工作,但关闭浏览器并再次打开会产生同样的问题。
我们还在为 ADF 使用自托管 IR。
对于遇到此问题的任何人,解决方法是:
- 打开浏览器
- 在第一个选项卡中,打开 Azure Devops 并登录
- 打开 Azure 门户并在第二个选项卡中使用其他租户帐户登录
- 在第 3 个选项卡中打开 adf.azure.com。使用您的“其他租户帐户”登录,当它尝试连接到 git 时,它会要求您 select 所需的帐户。 Select 你用于 Azure Devops 和跨租户的帐户应该可以在数据工厂和 Azure 之间正常工作 Git