本文提供了有关如何设置用于将 Microsoft Fabric 与 Azure DevOps 集成的服务主体的分步指南。 此集成允许 Fabric 用户使用服务主体执行 git 操作。 若要通过服务主体使用 API 自动实现 Git 集成,请参阅 使用 API 自动执行 Git 集成
先决条件
若要将应用程序注册到 Microsoft Entra 租户,并使用它将 Fabric 工作区与 Git 集成,需要:
- 至少 云应用程序管理员 权限。
- 具有管理员权限的 Fabric 工作区。
步骤 1:使用 Microsoft Entra ID 注册应用程序
使用 Microsoft Entra ID 注册应用程序,并按照 “注册应用”中的说明创建机密。 确认组织的策略允许创建和使用客户端机密以获取令牌。 请务必保存机密,在后面的步骤中需要它。
如果应用程序驻留在与 Azure DevOps 实例所在的租户不同,请参阅 多租户注意事项。
注释
请务必保存机密。 它会用于后续的步骤。
有关详细信息,请参阅 Microsoft Entra ID 中的应用程序和服务主体对象 ,以及 Microsoft Entra ID 中应用程序属性的安全最佳做法。
有关应用程序注册和服务主体创建的示例,请参阅 “注册Microsoft Entra 应用并创建服务主体。
步骤 2:将服务主体分配给 DevOps 组织
创建应用程序和服务主体后,需要将其添加到 Azure DevOps 组织,以授予对资源的访问权限。
- 登录到 Azure DevOps 组织
- 浏览到 组织设置 -> 用户 -> 添加用户
- 选择以添加服务主体
- 导航到相关的 Azure DevOps 项目设置 ->Teams
- 将服务主体添加到相关团队
步骤 3:创建 Azure DevOps 源代码管理连接
接下来,我们将创建 Azure DevOps 源代码管理连接。 完成此步骤需要以下信息。
获取租户 ID
若要获取租户 ID,请使用以下步骤。
- 转到 Azure 门户 并使用凭据登录。
- 转到 Microsoft Entra ID(Azure Active Directory)
- 在“概述”部分下,会看到列出的“租户 ID”。
有关获取租户 ID 的其他方法,请参阅 如何查找Microsoft Entra 租户 ID。
获取服务主体 ID
若要获取服务主体 ID,请使用以下步骤。
- 转到 Azure 门户 并使用凭据登录。
- 转到 Microsoft Entra ID(Azure Active Directory)
- 在左侧,选择 “应用注册”
- 导航到应用并选择“概述”选项卡
- 将 应用程序(客户端)ID 用于 服务主体 ID
创建源代码管理连接
若要创建源代码管理连接,请使用以下详细信息和步骤。
| Name | Description |
|---|---|
| 显示名称 | 源代码管理连接的名称。 它应是唯一的。 |
| Azure DevOps URL | Azure DevOps 中存储库的 URL。 |
| 身份验证方法 | 连接的身份验证方法。 应选择服务主体 |
| 租户 ID | Azure DevOps 所在的租户的 ID。 请参阅“ 获取租户 ID ”部分。 |
| 服务主体 ID | Azure 门户中应用概述中的应用程序(客户端)ID。 请参阅 “获取服务主体 ID ”部分。 |
| 服务主体密钥 | 这是步骤 1 中获取的机密。 |
- 从工作区中选择 工作区设置
- 选择 Git 集成
- 选择 Azure DevOps
- 单击“添加帐户”
- 在 “显示名称”下输入名称。
- 输入 Azure DevOps URL。
- 在 “身份验证方法”下,选择 “服务主体”。
- 使用上述信息完成其他详细信息(租户 ID、服务主体 ID、服务主体密钥)。
- 添加连接后,需要单击“连接”并完成git连接详细信息。 有关详细信息,请参阅“连接到工作区”
创建服务主体的多租户注意事项
若要访问受 Microsoft Entra 租户保护的资源,应用程序必须具有安全主体。 创建应用程序时,会在应用程序所在的租户上自动创建服务主体。
如果应用程序租户不同于 Azure DevOps 实例的主租户,则需要在 Azure DevOps 租户中创建服务主体。 在步骤 1 中注册应用并查看示例时,请考虑以下方案。
| Scenario | 应用已注册为 | 服务主体创建 |
|---|---|---|
| 1 - Fabric、DevOps、应用程序全部位于同一租户中 | 仅限此组织目录中的帐户 - 单租户应用 | 没有其他要求 |
| 2 - 同一租户中的 DevOps 和应用程序 | 仅限此组织目录中的帐户 - 单租户应用 | 没有其他要求 |
| 3 - 一个租户中的 Fabric 和应用程序,另一个租户中的 DevOps | 任何组织目录中的帐户 - 多租户应用 | 在 Azure DevOps 租户中创建 SP。 请参阅示例。 |
| 4 - Fabric、DevOps 和应用程序都驻留在不同的租户中 | 任何组织目录中的帐户 - 多租户应用 | 在 Azure DevOps 租户中创建 SP。 请参阅示例。 |
可以使用其中一个示例在 Azure DevOps 租户中创建服务主体。 以下示例演示如何使用 Azure CLI 和 PowerShell 执行此作。 这两个示例假设应用程序位于租户 A 中,Azure DevOps 位于租户 B 中。
az login --tenant <your-tenant-id> # where --tenant is the tenant ID of Azure DevOps tenant (tenant B)
az ad sp create --id <app id> # where --id <app id> is the client ID of the application in tenant A
有关详细信息,请参阅 将应用程序添加到 Microsoft Entra ID 的方式和原因 和 Microsoft Entra ID 中的租赁关系。
附录:编辑服务主体连接详细信息
如果需要更新服务主体详细信息,例如更新服务主体密钥,请使用以下说明:
- 在 Fabric 设置中,导航到 “管理连接”和“网关”。 找到之前创建的云连接。
- 使用更新的设置编辑连接。
注释
如果要创建新连接而不是编辑现有连接,请通过在左上角选择 “+新建 ”来添加新的云连接来执行此作。
- 完成连接编辑后,单击“ 保存”。