# 使用 AWS 启用GitHub包

GitHub Packages将 AWS 设置为外部存储。

> \[!WARNING]
>
> * 必须配置存储存储桶所需的任何限制性访问策略，因为 GitHub 不会对存储存储桶配置应用特定的对象权限或其他访问控制列表（ACL）。 例如，如果将存储桶设为公共，则在公共互联网上可以访问存储桶中的数据。 有关详细信息，请参阅 AWS 文档中的“[设置存储桶和对象访问权限](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-permissions.html)”。 如果已设置 IP 地址限制，请包括 你的 GitHub Enterprise Server 实例 的 IP 地址，以及将使用 你的 GitHub Enterprise Server 实例 的最终用户的 IP 地址。
> * 建议为 GitHub Packages 使用专用存储桶，并与用于 GitHub Actions 存储的存储桶分开。
> * 请确保配置将来要使用的存储桶。 在开始使用 GitHub Packages后，不建议更改存储。 如果必须将存储移到 GitHub Packages AWS 上的新存储桶，请确保规划单个维护时段，并在同时迁移 GitHub Actions 存储时同时更新这两种配置。 请参阅 GitHub Packages 中的“[](/zh/enterprise-server@3.22/admin/managing-github-actions-for-your-enterprise/advanced-configuration-and-troubleshooting/migrating-github-actions-external-storage)注意事项”。 对于跨服务提供商迁移，请联系 [GitHub Enterprise 支持](https://support.github.com)。

## 先决条件

在 GitHub Packages 上启用和配置 你的 GitHub Enterprise Server 实例 之前，您需要先准备好 AWS 存储桶。 为了准备您的AWS存储桶，我们建议查阅[AWS 文档](https://docs.aws.amazon.com/index.html)中的官方AWS文档。

确保您的 AWS 访问密钥 ID 和密钥具有以下权限：

* `s3:PutObject`
* `s3:GetObject`
* `s3:ListBucketMultipartUploads`
* `s3:ListMultipartUploadParts`
* `s3:AbortMultipartUpload`
* `s3:DeleteObject`
* `s3:ListBucket`

## 通过 AWS 外部存储启用 GitHub Packages

1. 在 GitHub Enterprise Server 上的管理帐户中，在任一页面的右上角，单击“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-rocket" aria-label="Site admin" role="img"><path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>”。

2. 如果你尚未在“站点管理员”页上，请在左上角单击“站点管理员”。

3. 在“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-rocket" aria-label="rocket" role="img"><path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> 站点管理”边栏中，单击“管理控制台”\*\*\*\*。

4. 在左侧边栏中，单击“包”。

5. 在“GitHub Packages”下选择“启用 GitHub Packages”复选框。

6. 在“包存储”下，选择“Amazon S3”，然后输入您的存储桶的详细信息：
   * AWS 服务 URL：您的存储桶的服务 URL。 例如，如果你的 S3 存储桶是在 `us-west-2 region` 中创建的，则此值应为 `https://s3.us-west-2.amazonaws.com`。

     有关详细信息，请参阅 AWS 文档中的“[AWS 服务终结点](https://docs.aws.amazon.com/general/latest/gr/rande.html)”。

   * **AWS S3 存储桶：** 你专用于GitHub Packages的 S3 存储桶名称。

   * AWS S3 访问密钥和 AWS S3 秘钥：用于访问您的存储桶的 AWS 访问密钥 ID 和秘钥。

     有关管理 AWS 访问密钥的详细信息，请参阅“[AWS Identity and Access Management 文档](https://docs.aws.amazon.com/iam/index.html)”。

7. 在“设置”边栏下，单击“保存设置”。

   > \[!NOTE]
   > 保存 管理控制台 中的设置会重启系统服务，这可能会导致用户可察觉的停机时间。

8. 等待配置运行完毕。

## 后续步骤

下一步，您可以自定义希望在 GitHub 上向最终用户提供哪些程序包生态系统。 有关详细信息，请参阅“[为企业配置包生态系统支持](/zh/enterprise-server@3.22/admin/configuring-packages/configuring-package-ecosystem-support-for-your-enterprise)”。

有关在 GitHub Packages 上开始使用 GitHub 的概述，请参阅 [企业 GitHub Packages 使用入门](/zh/enterprise-server@3.22/admin/configuring-packages/getting-started-with-github-packages-for-your-enterprise)。