本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Bitbucket 应用程序密码、API 令牌或访问令牌
Bitbucket 应用程序密码已弃用
Atlassian 已弃用 Bitbucket 应用程序密码,转而使用 API 令牌。要继续使用基本身份验证 CodeBuild,请在您的 Atlassian 账户设置中创建 API 令牌。当您将其连接时 CodeBuild,请使用与您的 Atlassian 账户关联的电子邮件地址作为用户名。 CodeBuild 自动使用正确的凭据进行 Git 操作和 Bitbucket API 调用。
有关更多信息,请参阅 Atlassian 网站上的 “使用 API 令牌
比特桶 OAuth 代币轮换
如果您使用 Bitbucket OAuth 凭证,我们建议您迁移到。Bitbucket 应用程序连接有关继续将 OAuth 与 Secrets Manager 配合使用时所需更改的信息,请参阅。Bitbucket OAuth 应用程序
先决条件
在开始之前,您必须在 Bitbucket 应用程序密码、API 令牌或访问令牌中添加适当的权限范围。
对于 Bitbucket,您的应用程序密码、API 令牌或访问令牌必须具有以下范围。
-
repository:read:授予对授权用户有权访问的所有存储库的读取访问权限。
-
pullrequest:read:授予对拉取请求的读取访问权限。如果您的项目具有 Bitbucket webhook,则您的应用程序密码或访问令牌必须具有此权限范围。
-
Webhook:授予对 Webhook 的访问权限。如果您的项目具有 webhook 操作,则您的应用程序密码或访问令牌必须具有此权限范围。
-
账户:授予对用户账户信息的读取权限。
有关更多信息,请参阅 Bitbucket 网站上的 Bitbucket 云 REST API 的权限范围
使用应用程序密码或 API 令牌连接 Bitbucket(控制台)
要使用控制台使用应用程序密码或 API 令牌将您的项目连接到 Bitbucket,请在创建项目时执行以下操作。有关信息,请参阅创建构建项目(控制台)。
注意
如果您使用 API 令牌,请输入与您的 Atlassian 账户关联的电子邮件地址作为用户名。
-
对于源提供商,选择 Bitbucket。
-
对于凭证,执行以下操作之一:
-
选择使用账户凭证将您账户的默认源凭证应用于所有项目。
-
如果未连接到 Bitbucket,请选择管理账户凭证。
-
对于凭据类型,选择 API 令牌(以前显示为应用程序密码)。
-
-
如果您选择为服务使用账户级别凭证,请选择要用于存储令牌的服务,然后执行以下操作:
-
如果您选择使用 Secrets Manager,则可以选择使用现有密钥连接或创建新密钥,然后选择保存。有关如何创建新密钥的更多信息,请参阅在 Secrets Manager 密钥中创建和存储令牌。
-
如果您选择使用 CodeBuild,请输入您的 Bitbucket 用户名和应用程序密码,然后选择 “保存”。要获取 Bitbucket API 令牌,请改为输入您的 Atlassian 账户电子邮件地址和 API 令牌。
-
-
选择仅为此项目使用覆盖凭证,以便使用自定义源凭证来覆盖账户的凭证设置。
-
从填充的凭据列表中,选择应用程序密码或 API 令牌下的选项之一。
-
您还可以通过选择描述中的创建连接链接来创建新的应用程序密码或 API 令牌连接。
-
-
使用访问令牌连接 Bitbucket(控制台)
要在控制台中使用访问令牌将您的项目连接到 Bitbucket,请在创建项目时执行以下操作。有关信息,请参阅创建构建项目(控制台)。
-
对于源提供商,选择 Bitbucket。
-
对于凭证,执行以下操作之一:
-
选择使用账户凭证将您账户的默认源凭证应用于所有项目。
-
如果未连接到 Bitbucket,请选择管理账户凭证。
-
对于凭证类型,选择个人访问令牌。
-
-
如果您选择为服务使用账户级别凭证,请选择要用于存储令牌的服务,然后执行以下操作:
-
如果您选择使用 Secrets Manager,则可以选择使用现有密钥连接或创建新密钥,然后选择保存。有关如何创建新密钥的更多信息,请参阅在 Secrets Manager 密钥中创建和存储令牌。
-
如果您选择使用 CodeBuild,请输入您的 Bitbucket 个人访问令牌,然后选择 “保存”。
-
-
选择仅为此项目使用覆盖凭证,以便使用自定义源凭证来覆盖账户的凭证设置。
-
从填充的凭证列表中,选择个人访问令牌下的选项之一。
-
您也可以通过在描述中选择创建新的个人访问令牌连接来创建新的个人访问令牌。
-
-
使用应用程序密码或访问令牌连接 Bitbucket(CLI)
按照以下步骤使用应用程序密码或访问令牌将您的项目连接到 Bitbucket。 Amazon CLI 有关 Amazon CLI 搭配使用的信息 Amazon CodeBuild,请参阅命令行参考。
-
运行 import-source-credentials 命令:
aws codebuild import-source-credentials --generate-cli-skeletonJSON-formatted 数据出现在输出中。将数据复制到安装的本地计算机或实例上某个位置的文件(例如
)。 Amazon CLI 按照下面所示修改复制的数据,并保存您的结果。import-source-credentials.json{ "serverType": "BITBUCKET", "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,仅允许使用个人访问令牌。仅允许使用 Bitbucket 应用程序密码或 API 令牌进行 BASIC_AUTH。 -
should-overwrite: 可选值。设置为false可防止覆盖存储库源凭证。设置为true可覆盖存储库源凭证。默认值为true。 -
token:必填值。对于 GitHub 我们的 GitHub 企业服务器,这是个人访问令牌。对于 Bitbucket,这是个人访问令牌、应用程序密码或 API 令牌。对于身份验证类型 CODECONNECTIONS,这是连接 ARN。对于身份验证类型 SECRETS_MANAGER,这是密钥 ARN。 -
username: 可选值。对于 GitHub 和 GitHub 企业服务器源提供程序,将忽略此参数。对于 Bitbucket 应用程序的密码,这是你的 Bitbucket 用户名。对于 Bitbucket API 令牌,这是与您的 Atlassian 账户关联的电子邮件地址。
-
-
要将您的账户与应用程序密码、API 令牌或访问令牌关联起来,请切换到包含您在步骤 1 中保存的
import-source-credentials.json文件的目录,然后再次运行该import-source-credentials命令。aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.jsonJSON-formatted 数据以亚马逊资源名称 (ARN) 出现在输出中。
{ "arn": "arn:aws:codebuild:region:account-id:token/server-type" }注意
如果您再次使用相同的服务器类型和身份验证类型运行 import-source-credentials 命令,则会更新存储的访问令牌。
在您的账户使用应用程序密码或 API 令牌关联后,您可以使用
create-project来创建您的 CodeBuild 项目。有关更多信息,请参阅 创建构建项目 (Amazon CLI)。 -
要查看连接的应用程序密码或访问令牌,请运行 list-source-credentials 命令。
aws codebuild list-source-credentials输出中会出现一个 JSON-formatted
sourceCredentialsInfos对象:{ "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "BITBUCKET", "arn": "arn" } ] }sourceCredentialsObject包含连接的源凭证信息的列表:-
authType是凭证使用的身份验证类型。这可以是OAUTH、BASIC_AUTH、PERSONAL_ACCESS_TOKEN、CODECONNECTIONS或SECRETS_MANAGER。 -
serverType是源提供商类型。这可以是GITHUB、GITHUB_ENTERPRISE、BITBUCKET、GITLAB或GITLAB_SELF_MANAGED。 -
arn是令牌的 ARN。
-
-
要断开与源提供商的连接并删除其应用程序密码或访问令牌,请使用其 ARN 运行 delete-source-credentials 命令。
aws codebuild delete-source-credentials --arnarn-of-your-credentialsJSON-formatted 数据将与已删除凭证的 ARN 一起返回。
{ "arn": "arn:aws:codebuild:region:account-id:token/server-type" }