选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

GitHub 和 GitHub Enterprise Server 访问令牌

聚焦模式
GitHub 和 GitHub Enterprise Server 访问令牌 - AWS CodeBuild

访问令牌先决条件

在开始之前,您必须向 GitHub 访问令牌添加适当的权限范围。

对于 GitHub,您的个人访问令牌必须具有以下权限范围。

  • repo:授予私有存储库的完全控制权。

  • repo:status:授予对公共和私有存储库提交状态的读/写权限。

  • admin:repo_hook:授予存储库挂钩的完全控制权。如果您的令牌具有 repo 范围,则不需要此权限范围。

  • admin:org_hook:对组织挂钩授予完全控制权限。仅当您使用组织 webhook 特征时,才需要此范围。

有关更多信息,请参阅 GitHub 网站上的了解 OAuth 应用程序的范围

如果您使用的是细粒度个人访问令牌,则根据您的使用场景,您的个人访问令牌可能需要以下权限:

  • 内容:只读:授予对私有存储库的访问权限。如果使用私有存储库作为源,则需要此权限。

  • 提交状态:读写:授予创建提交状态的权限。如果您的项目设置了 webhook,或者启用了报告构建状态特征,则需要此权限。

  • Webhook:读写:授予管理 webhook 的权限。如果您的项目设置了 webhook,则需要此权限。

  • 拉取请求:只读:授予访问拉取请求的权限。如果您的 webhook 对拉取请求事件设置了 FILE_PATH 筛选条件,则需要此权限。

  • 管理:读写:如果您在 CodeBuild 中使用自托管 GitHub Actions 运行器特征,则需要此权限。有关更多详细信息,请参阅为存储库创建注册令牌教程:配置 CodeBuild 托管的 GitHub Actions 运行器

注意

如果要访问组织存储库,请务必将该组织指定为访问令牌的资源所有者。

有关更多信息,请参阅 GitHub 网站上的细粒度个人访问令牌所需的权限

使用访问令牌连接 GitHub(控制台)

要在控制台中使用访问令牌将您的项目连接到 GitHub,请在创建项目时执行以下操作。有关信息,请参阅创建构建项目(控制台)

  1. 对于源提供商,选择 GitHub

  2. 对于凭证,执行以下操作之一:

    • 选择默认来源凭证,使用您账户的默认来源凭证应用于所有项目。

      1. 如果未连接到 GitHub,请选择管理默认来源凭证

      2. 对于凭证类型,选择个人访问令牌

      3. 如果您选择了默认来源凭证,请在服务中选择要用于存储令牌的服务,然后执行以下操作:

        • 如果您选择使用 Secrets Manager,则可以选择使用现有密钥连接或创建新密钥并选择保存。有关如何创建新密钥的更多信息,请参阅在 Secrets Manager 密钥中创建和存储令牌

        • 如果您选择使用 CodeBuild,请输入您的 GitHub 个人访问令牌并选择保存

    • 选择自定义来源凭证,以便使用自定义来源凭证来覆盖您账户的默认设置。

      1. 对于凭证类型,选择个人访问令牌

      2. 连接中,选择使用现有密钥连接或创建一个新密钥。

使用访问令牌连接 GitHub (CLI)

按照以下步骤在 AWS CLI 中使用访问令牌将您的项目连接到 GitHub。有关将 AWS CLI 与 AWS CodeBuild 结合使用的信息,请参阅命令行参考

  1. 运行 import-source-credentials 命令:

    aws codebuild import-source-credentials --generate-cli-skeleton

    输出中将显示 JSON 格式的数据。将数据复制到本地计算机上或安装 AWS CLI 的实例上某位置处的文件(如 import-source-credentials.json)中。按照下面所示修改复制的数据,并保存您的结果。

    { "serverType": "server-type", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    替换以下内容:

    • server-type:必填值。用于此凭证的源提供商。有效值为 GITHUB、BITBUCKET、GITHUB_ENTERPRISE、GITLAB 和 GITLAB_SELF_MANAGED。

    • auth-type:必填值。用于连接到存储库的身份验证类型。有效值为 OAUTH、BASIC_AUTH、PERSONAL_ACCESS_TOKEN、CODECONNECTIONS 和 SECRETS_MANAGER。对于 GitHub,仅允许 PERSONAL_ACCESS_TOKEN。对于 Bitbucket 应用程序密码,仅允许 BASIC_AUTH。

    • should-overwrite:可选值。设置为 false 可防止覆盖存储库源凭证。设置为 true 可覆盖存储库源凭证。默认值为 true

    • token:必填值。对于 GitHub 或 GitHub Enterprise Server,这是个人访问令牌。对于 Bitbucket,这是个人访问令牌或应用程序密码。对于身份验证类型 CODECONNECTIONS,这是连接 ARN。对于身份验证类型 SECRETS_MANAGER,这是密钥 ARN。

    • username:可选值。GitHub 和 GitHub Enterprise Server 源代码提供商会忽略此参数。

  2. 要使用访问令牌连接您的账户,请切换到包含您在步骤 1 中保存的 import-source-credentials.json 文件的目录,然后重新运行 import-source-credentials 命令。

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSON 格式的数据将使用 Amazon 资源名称 (ARN) 显示在输出中。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    注意

    如果您再次使用相同的服务器类型和身份验证类型运行 import-source-credentials 命令,则会更新存储的访问令牌。

    在使用访问令牌连接您的账户后,您可以使用 create-project 来创建您的 CodeBuild 项目。有关更多信息,请参阅 创建构建项目 (AWS CLI)

  3. 要查看连接的访问令牌,请运行 list-source-credentials 命令。

    aws codebuild list-source-credentials

    JSON 格式的 sourceCredentialsInfos 对象将显示在输出中:

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "server-type", "arn": "arn" } ] }

    sourceCredentialsObject 包含连接的源凭证信息的列表:

    • authType 是凭证使用的身份验证类型。这可以是 OAUTHBASIC_AUTHPERSONAL_ACCESS_TOKENCODECONNECTIONSSECRETS_MANAGER

    • serverType 是源提供商类型。这可以是 GITHUBGITHUB_ENTERPRISEBITBUCKETGITLABGITLAB_SELF_MANAGED

    • arn 是令牌的 ARN。

  4. 要断开与源提供商的连接并删除其访问令牌,请使用其 ARN 运行 delete-source-credentials 命令。

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    将返回 JSON 格式的数据,并带有已删除凭证的 ARN。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。