在没有用户个人访问令牌的情况下向 Azure DevOps 验证 GitHub 操作

问题描述 投票:0回答:1

作为从 Azure DevOps (ADO) 迁移到 GitHub (GH) 的一部分,我们正在评估如何在 GitHub Actions (GHA) 中复制构建 Azure Pipeline (AzP),该管道将 python 轮子发布到 Azure Artifact Feed (AAF)。

95% 的工作流程很容易转移,但有一个步骤我不清楚:验证 GHA 运行程序以允许其发布到 AAF。 文档指出我们应该创建一个个人访问令牌(PAT),然后将其作为秘密添加到 GH 存储库中,然后直接用作 GHA 的一部分。

此工作流程对我们不起作用,因为没有一个用户应该提供访问权限;相反,我们希望为 GHA 管道本身提供身份验证,就像我们对当前的 AzP 所做的那样,它由于属于某些集合的一部分而获得某些权限。

我们需要在 AzP 中执行的唯一身份验证是

TwineAuthenticate
。我意识到这不会是 1:1,但我想知道在不需要通过用户帐户的情况下将 GHA 验证为 ADO 的最佳实践是什么,因为我们是一家拥有数百个用户和存储库的公司。

这个问题不仅适用于 AAF,它是一个通用的 GHA<->ADO 集成问题。例如,触发 AzP 的GHA 也需要 PAT 作为其定义的一部分。

github azure-pipelines github-actions azure-artifacts
1个回答
0
投票
我找到了此文档供您参考

使用服务主体和托管身份。介绍了

将 Microsoft Entra 服务主体和托管标识添加到 Azure DevOps 组织,以授予对组织资源的访问权限。对于许多团队来说,当您对公司中支持自动化工作流程的应用程序进行身份验证时,此功能可以成为个人访问令牌 (PAT) 的可行且首选的替代方案。

在问答中

我可以使用服务主体连接到源吗?,它共享示例以使用服务主体连接到 Azure Artifacts 源。您可以探索这一点以避免在 GitHub Actions 中使用个人访问令牌。

© www.soinside.com 2019 - 2024. All rights reserved.