Enforcing policies for GitHub Actions in your enterprise

You can enforce policies for GitHub Actions within your enterprise's organizations, or allow policies to be set in each organization.

Enterprise owners can enforce policies for GitHub Actions in an enterprise.

About policies for GitHub Actions in your enterprise

GitHub Actions helps members of your enterprise automate software development workflows on GitHub Enterprise Server. For more information, see "Understanding GitHub Actions."

If you enable GitHub Actions, any organization on your GitHub Enterprise Server instance can use GitHub Actions. You can enforce policies to control how members of your enterprise on GitHub Enterprise Server use GitHub Actions. By default, organization owners can manage how members use GitHub Actions. For more information, see "Disabling or limiting GitHub Actions for your organization."

Enforcing a policy to restrict the use of actions in your enterprise

You can choose to disable GitHub Actions for all organizations in your enterprise, or only allow specific organizations. You can also limit the use of public actions, so that people can only use local actions that exist in your enterprise.

  1. 在 GitHub Enterprise Server 的右上角,单击您的个人资料照片,然后单击 Enterprise settings(Enterprise 设置)GitHub Enterprise Server 上个人资料照片下拉菜单中的"Enterprise settings(企业设置)"

  2. 在企业账户侧边栏中,单击 Policies(政策)企业帐户侧边栏中的 Policies(政策)选项卡

  3. 在“ Policies(政策)”下,单击 Actions(操作)

  4. 在“Policies(策略)”下选择选项。

    您可以在您的企业中选择哪些组织可以使用 GitHub Actions,并且可以限制对公共操作的访问。

    注意:要启用对公共操作的访问,必须先配置 your GitHub Enterprise Server instance 连接到 GitHub Marketplace。 更多信息请参阅“使用 GitHub Connect 启用对 GitHub.com 操作的自动访问”。

    启用、禁用或限制此企业帐户的操作

  5. Click Save.

Allowing select actions to run

选择 Allow select actions(允许选择操作)时,允许本地操作,并且还有允许其他特定操作的其他选项。

  • 允许 GitHub 创建的操作: 您可以允许 GitHub 创建的所有操作用于工作流程。 GitHub 创建的操作位于 actionsgithub 组织中。 更多信息请参阅 actionsgithub 组织。

  • Allow Marketplace actions by verified creators: This option is available if you have GitHub Connect enabled and configured with GitHub Actions. For more information, see "Enabling automatic access to GitHub.com actions using GitHub Connect." You can allow all GitHub Marketplace actions created by verified creators to be used by workflows. 如果 GitHub 验证该操作的创建者为合作伙伴组织, 徽章将显示在 GitHub Marketplace 中的操作旁边。

  • Allow specified actions(允许指定的操作):您可以限制工作流程使用特定组织和仓库中的操作。

    要限制对操作中特定标记或提交 SHA 的访问,请使用工作流程中使用的 <OWNER>/<REPO>@<TAG OR SHA> 语法来选择操作。 例如,使用 actions/javascript-action@v1.0.1 选择标记,或使用 actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89 选择 SHA。 更多信息请参阅“查找和自定义操作”。

    您可以使用 * 通配符来匹配模式。 例如,要允许以 space-org 开头的组织中的所有操作,您可以指定 space-org*/*。 要在仓库中添加以 octocat 开头的所有操作,可以使用 */octocat*@*。 有关使用 * 通配符的更多信息,请参阅“GitHub Actions 的工作流程语法”。

此过程演示如何向允许列表添加特定操作。

  1. 在 GitHub Enterprise Server 的右上角,单击您的个人资料照片,然后单击 Enterprise settings(Enterprise 设置)GitHub Enterprise Server 上个人资料照片下拉菜单中的"Enterprise settings(企业设置)"

  2. 在企业账户侧边栏中,单击 Policies(政策)企业帐户侧边栏中的 Policies(政策)选项卡

  3. 在“ Policies(政策)”下,单击 Actions(操作)

  4. Under Policies, select Allow select actions and add your required actions to the list. Add actions to allow list

Enforcing a policy for artifact and log retention in your enterprise

GitHub Actions can store artifact and log files. For more information, see "Downloading workflow artifacts."

默认情况下,工作流程生成的构件和日志文件将保留 90 天,然后自动删除。 您可以根据仓库类型调整保留期:

  • 对于公共仓库:您可以将此保留期更改为 1 至 90 天。

  • For private and internal repositories: you can change this retention period to anywhere between 1 day or 400 days.

自定义保留期时,它仅适用于新构件和日志文件,并且不追溯性地应用于现有对象。 对于托管的仓库和组织,最长保留期不能超过管理组织或企业设置的限制。

  1. 在 GitHub Enterprise Server 的右上角,单击您的个人资料照片,然后单击 Enterprise settings(Enterprise 设置)GitHub Enterprise Server 上个人资料照片下拉菜单中的"Enterprise settings(企业设置)"

  2. 在企业账户侧边栏中,单击 Policies(政策)企业帐户侧边栏中的 Policies(政策)选项卡

  3. 在“ Policies(政策)”下,单击 Actions(操作)

  4. Artifact and log retention duration(构建和日志保留期)下输入值。

  5. 单击 Save(保存)以应用更改。

Enforcing a policy for fork pull requests in your enterprise

You can enforce policies to control how GitHub Actions behaves for your GitHub Enterprise Server instance when members of your enterprise run workflows from forks.

Enforcing a policy for fork pull requests in private repositories

如果您依赖于使用私有仓库的复刻,您可以配置策略来控制用户如何在 pull_request 事件上运行工作流程。 Available to private and internal repositories only, you can configure these policy settings for your enterprise, organizations, or repositories. For enterprises, the policies are applied to all repositories in all organizations.

  • Run workflows from fork pull requests(从复刻拉取请求运行工作流程) - 允许用户使用具有只读权限、没有密码访问权限的 GITHUB_TOKEN从复刻拉取请求运行工作流程。
  • Send write tokens to workflows from pull requests(从拉取请求向工作流程发送写入令牌) - 允许从复刻拉取请求以使用具有写入权限的 GITHUB_TOKEN
  • Send secrets to workflows from pull requests(从拉取请求向工作流程发送密码) - 使所有密码可用于拉取请求。
  1. 在 GitHub Enterprise Server 的右上角,单击您的个人资料照片,然后单击 Enterprise settings(Enterprise 设置)GitHub Enterprise Server 上个人资料照片下拉菜单中的"Enterprise settings(企业设置)"

  2. 在企业账户侧边栏中,单击 Policies(政策)企业帐户侧边栏中的 Policies(政策)选项卡

  3. 在“ Policies(政策)”下,单击 Actions(操作)

  4. Fork pull request workflows(复刻拉取请求工作流程)下,选择您的选项。 例如: 启用、禁用或限制此仓库的操作

  5. 单击 Save(保存)以应用设置。

Enforcing a policy for workflow permissions in your enterprise

您可以设置授予 GITHUB_TOKEN 的默认权限。 For more information about the GITHUB_TOKEN, see "Automatic token authentication." 您可以选择一组有限的权限作为默认或权限设置。

You can set the default permissions for the GITHUB_TOKEN in the settings for your enterprise, organizations, or repositories. If you choose the restricted option as the default in your enterprise settings, this prevents the more permissive setting being chosen in the organization or repository settings.

任何拥有仓库写入权限的人都可以通过编辑工作流程文件中的 permissions 键来修改授予 GITHUB_TOKEN 的权限,或者根据需要添加或删除权限。 更多信息请参阅 permissions

  1. 在 GitHub Enterprise Server 的右上角,单击您的个人资料照片,然后单击 Enterprise settings(Enterprise 设置)GitHub Enterprise Server 上个人资料照片下拉菜单中的"Enterprise settings(企业设置)"

  2. 在企业账户侧边栏中,单击 Policies(政策)企业帐户侧边栏中的 Policies(政策)选项卡

  3. 在“ Policies(政策)”下,单击 Actions(操作)

  4. Under Workflow permissions, choose whether you want the GITHUB_TOKEN to have read and write access for all scopes, or just read access for the contents scope. Set GITHUB_TOKEN permissions for this enterprise

  5. Click Save to apply the settings.

此文档对您有帮助吗?

隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或者, 了解如何参与。