为Azure Pipelines使用GitHub应用程序身份验证(而不是OAuth或PAT)的实际好处是什么



有一个Azure Pipelines的文档,详细说明了可以进行何种身份验证来访问GitHub存储库:GitHub应用程序、OAuth和个人访问令牌。(https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#github应用程序身份验证(

该文档称,GitHub应用程序的身份验证是";推荐的";一次,但后来并没有真正证明为什么会出现这种情况。。。例如,GitHub应用程序身份验证中有一件有趣的事情:创建一个yaml管道,在该管道中,您使用";最新的";触发通过来自yaml的正确ARM服务连接,Azure DevOps正在为特定ACR创建Webhook,但如果您使用PAT,情况并非如此。

是否有针对身份验证类型的实际最佳实践?或者通常是一个很好的论点,为什么一个比另一个更好?

个人访问令牌和OAuth令牌使用您的用户帐户将Azure Pipelines链接到GitHub。您的访问令牌将用于下载repo,管道可以访问令牌以访问您的用户可以访问的任何存储库。虽然通常很方便,但这是一个问题,因为您可能不是唯一使用集成的人,因此其他人可以通过更改管道来使用您的凭据。

用户绑定令牌还存在这样的问题,即该用户帐户的所有者可能会离开公司,破坏所有管道,或者最坏的情况是,需要进行相当多的重新配置,以确保用户失去对管道可以访问的存储库的所有访问权。

GitHub应用程序将允许您准确配置Azure管道应允许访问的存储库。它与您的用户帐户解耦,访问权限可以仅限于您想要的存储库。

相关内容