Bitbucket 应用程序密码或访问令牌 - AWS CodeBuild

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Bitbucket 应用程序密码或访问令牌

先决条件

在开始之前,您必须在 Bitbucket 应用程序密码或访问令牌中添加适当的权限范围。

对于 Bitbucket,您的应用程序密码或访问令牌必须具有以下范围。

  • repository:read:授予对授权用户有权访问的所有存储库的读取访问权限。

  • pullrequest:read:授予对拉取请求的读取访问权限。如果您的项目有 Bitbucket webhook,则您的应用程序密码或访问令牌必须具有此范围。

  • Webhook:授予对 Webhook 的访问权限。如果您的项目有 webhook 操作,则您的应用程序密码或访问令牌必须具有此范围。

有关更多信息,请参阅 Bitbucket Cloud 的作用域RESTAPI和 Bitbuck et OAuth网站上的 Bitbucket Cloud

使用应用程序密码连接 Bitbucket(控制台)

要在控制台中使用应用程序密码将您的项目连接到 Bitbucket,请在创建项目时执行以下操作。有关信息,请参阅创建构建项目(控制台)

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

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

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

      1. 如果您未连接到 Bitbucket,请选择 “管理默认来源凭证”。

      2. 对于 “凭据类型”,选择 “应用程序密码”。

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

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

        • 如果您选择使用 CodeBuild,请输入您的 Bitbucket 用户名和 Bitbuc ket 应用程序密码,然后选择 “保存”。

    • 选择 “自定义来源凭据”,使用自定义来源凭据来覆盖您账户的默认设置。

      1. 对于 “凭据类型”,选择 “应用程序密码”。

      2. 在 C on nection 中,选择使用现有密钥连接或创建新密钥。

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

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

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

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

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

      1. 如果您未连接到 Bitbucket,请选择 “管理默认来源凭证”。

      2. 对于 “凭据类型”,选择 “个人访问令牌”。

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

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

        • 如果您选择使用 CodeBuild,请输入您的 Bitbucket 访问令牌并选择 “保存”。

    • 选择 “自定义来源凭据”,使用自定义来源凭据来覆盖您账户的默认设置。

      1. 对于 “凭据类型”,选择 “个人访问令牌”。

      2. 在 C on nection 中,选择使用现有密钥连接或创建新密钥。

使用应用程序密码或访问令牌连接 Bitbucket () CLI

按照以下步骤使用应用程序密码或访问令牌将您的项目连接到 Bitbucket。 AWS CLI 有关 AWS CLI 搭配使用的信息 AWS CodeBuild,请参阅命令行参考

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

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

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

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

    替换以下内容:

    • server-type:必填值。用于此凭证的源提供商。有效值为GITHUBBITBUCKET、ENTERPRISEGITLAB、GITHUB _ 和 GITLAB SELF _ MANAGED。

    • auth-type:必填值。用于连接到存储库的身份验证类型。有效值为OAUTH、BASIC PERSONAL _ AUTH、ACCESS _ TOKEN CODECONNECTIONS、和 SECRETS _ MANAGER。对于 GitHub,只允许 PERSONAL ACCESS _ TOKEN。BASICAUTH只有使用 Bitbucket 应用程序密码才允许使用 _。

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

    • token:必填值。对于 GitHub 我们的 GitHub 企业服务器,这是个人访问令牌。对于 Bitbucket,这是个人访问令牌或应用程序密码。对于身份验证类型CODECONNECTIONS,这是连接。ARN对于 auth-type SECRETS _MANAGER,这是秘密。ARN

    • username: 可选值。对于 GitHub 和 GitHub 企业服务器源提供程序,将忽略此参数。

  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": "BITBUCKET", "arn": "arn" } ] }

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

    • authType 是凭证使用的身份验证类型。这可以是OAUTHBASIC_AUTHPERSONAL_ACCESS_TOKENCODECONNECTIONS、或SECRETS_MANAGER

    • serverType 是源提供商类型。这可以是GITHUBGITHUB_ENTERPRISEBITBUCKETGITLAB、或GITLAB_SELF_MANAGED

    • arnthe 是代币ARN的代币。

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

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

    JSON格式化的数据将与已删除ARN的凭据一起返回。

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