ITPub博客

首页 > 数据库 > SQL on Hadoop > GitHub App 最小权限和管理改进 - GitHub Changelog

GitHub App 最小权限和管理改进 - GitHub Changelog

SQL on Hadoop 作者:ITPUB社群 时间:1970-01-01 08:33:46 0 删除 编辑

我们今天发布了多项 GitHub Apps 改进,帮助开发者摆脱经典 PAT,改善 GitHub App 管理,并请求更少的敏感权限。我们还让仓库管理员更容易使用其管理员已批准的应用程序,并在计划的工作负载联合功能之前更新了 GitHub App 凭据管理 UI。

新的仓库创建和安装管理权限

新增了两个仓库细粒度权限,适用于细粒度 PAT 和 GitHub Apps。

  • repository_creation:write :允许调用者在被授予权限的账户中创建仓库。

  • installation_repositories: write :允许调用者在组织中的安装中添加或移除该仓库。

无需 repository_administration 即可创建仓库

你现在可以使用 repository_creation:write 权限创建仓库,而无需更广泛的 repository_administration:write 权限。

以前,应用或 PAT 需要 repository_administration:write 才能创建仓库。该权限还授予其他仓库管理功能,如删除和转移。这可能导致管理员拒绝应用、禁止具有此权限的 PAT,或不得不接受过度授权的风险。

新权限通过仅授予创建仓库的能力来支持最小权限方法。创建仓库后,创建它的应用或用户将获得对其的访问权限。使用此权限的应用仍需要组织管理员安装该应用。

请参阅 API(应用程序编程接口) 文档,了解在组织中创建仓库、从模板创建、为当前用户创建、使用 fork 创建以及通过 GraphQL 创建。

使用应用或细粒度 PAT 管理安装仓库

将仓库添加到安装的组织级 API 及其相应的移除 API 现在支持 GitHub Apps 和细粒度 PAT。以前,这些 API 仅支持粗粒度的 repo 范围。

这些 API 支持新的仓库级细粒度权限:installation_repositories:write 。在仓库上拥有此权限允许调用者从组织中的任何安装中添加或移除该仓库。如果调用者是用户,他们还必须是组织所有者或相关仓库的管理员。

这允许组织构建自动化流程,控制哪些仓库可供哪些 GitHub Apps 访问,而无需依赖具有广泛权限的管理员 PAT。

仓库管理员可以更轻松地将已批准的 GitHub Apps 添加到仓库

过去,所有请求组织级访问权限的 apps 无论何种情况都会被仓库管理员阻止安装到仓库中。这一限制已在 app 已安装到组织的情况下放宽,这意味着它已获得组织所有者对该组织级访问权限的批准。仓库管理员现在可以编辑现有安装,将其仓库添加到 app,而无需组织所有者批准。这些 apps 已经拥有组织级访问权限,因此将其添加到组织中的另一个仓库不会增加该访问权限,也不会赋予仓库管理员额外的特权。

随着上述 repository_creation 权限的添加,现在有三组敏感权限需要组织所有者批准:

  • 所有组织级权限

  • 仓库管理

  • 仓库创建

此更改允许仓库管理员更好地使用已在其组织中获得使用批准的 apps。

如果您想阻止仓库管理员将 apps 添加到其仓库,请参阅文档中的“Restricting GitHub App Installation to Organization Owners”。有关将 app 添加到仓库的更多详细信息,请参阅“Installing a GitHub App”。

使用 GitHub Apps 的 offline_access 逐步重新启用短期、轮换令牌

GitHub Apps 现在像 OAuth apps 一样支持 offline_access 范围。虽然 GitHub Apps 默认使用短期、轮换令牌,但一些开发者为了方便已禁用过期,现在难以重新启用。

此支持帮助 app 开发者逐步迁移到会过期的用户访问令牌。开发者可以为测试和推出启用令牌过期,而无需同时将所有用户切换到会过期的令牌,否则会破坏现有客户端。

当请求 offline_access 时,app 除了会过期的访问令牌外还会收到一个刷新令牌。它只更改该特定身份验证,不会影响未来的会话。

对于 GitHub Apps,scope 参数在其他方面仍未使用——权限仍然在应用程序注册时静态选择。有关更多详细信息,请参阅“Refreshing user access tokens”。

此功能在 GHES 3.23 中可用。

GitHub Apps 可以获取其他私有和内部应用的详细信息

GitHub Apps 现在可以使用 Get an app API 获取私有和内部 GitHub Apps 的详细信息,只要它们共享某些所有权。

允许的访问模式包括:

  • 公开应用:任何其他应用都可以获取该应用的详细信息。这是之前启用的访问级别。

  • 同一组织中的应用:如果应用共享同一所有者,则无论可见性如何,它们都可以获取彼此的详细信息。

  • 同一企业中的内部应用:同一企业中的另一个应用可以获取内部应用的详细信息,即使跨越组织边界。

  • 企业到组织的访问:企业拥有的应用可以获取同一企业中组织拥有的应用的详细信息。

这使组织和企业能够自动化更多的 GitHub App 审计和管理工作。

有关应用可见性的更多详细信息,请参阅“将 GitHub App 设为公开或私有”。

GitHub Apps 新增凭据管理标签页

GitHub App 凭据现在通过专用的凭据标签页进行管理,而不再与应用配置的其他部分内联显示。这使凭据更易于查找和管理,并为即将推出的工作负载联合凭据预留了空间。

这些改进将在 GHES 3.24 中提供,但 offline_access 支持除外,该支持将包含在 GHES 3.23 中。

请在 GitHub Community 中告诉我们您的想法。


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:GitHub Blog

原创地址:https://github.blog/changelog/2026-10-13-github-app-improvements-for-least-privilege-and-management

原文作者:Allison;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1148
  • 访问量
    547988