View a markdown version of this page

Bitbucket 應用程式密碼、API 字符或存取字符 - AWS CodeBuild

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Bitbucket 應用程式密碼、API 字符或存取字符

Bitbucket 應用程式密碼已棄用

Atlassian 已棄用 Bitbucket 應用程式密碼,以支持 API 字符。若要繼續搭配 CodeBuild 使用基本身分驗證,請在 Atlassian 帳戶設定中建立 API 字符。當您將其連線至 CodeBuild 時,請使用與您的 Atlassian 帳戶相關聯的電子郵件地址做為使用者名稱。CodeBuild 會自動使用正確的登入資料進行 Git 操作和 Bitbucket API 呼叫。

如需詳細資訊,請參閱 Atlassian 網站上的使用 API 字符

Bitbucket OAuth 字符輪換

如果您使用 Bitbucket OAuth 登入資料,建議您遷移至 Bitbucket 應用程式連線。如需繼續搭配 Secrets Manager 使用 OAuth 時所需變更的相關資訊,請參閱 Bitbucket OAuth 應用程式

先決條件

開始之前,您必須將適當的許可範圍新增至 Bitbucket 應用程式密碼、API 字符或存取字符。

對於 Bitbucket,您的應用程式密碼、API 字符或存取權杖必須具有下列範圍。

  • repository:read:授予獲授權使用者可存取的所有儲存庫之讀取存取權。

  • pullrequest:read:授予提取請求的讀取存取權。如果您的專案具有 Bitbucket Webhook,則您的應用程式密碼或存取權杖必須具有此範圍。

  • webhook:授予 Webhook 的存取權。如果您的專案具有 Webhook 操作,則您的應用程式密碼或存取權杖必須具有此範圍。

  • 帳戶:授予使用者帳戶資訊的讀取存取權。

如需詳細資訊,請參閱 Bitbucket 網站上的 Bitbucket Cloud REST API 的範圍Bitbucket Cloud 上的 OAuth

使用應用程式密碼或 API 字符 (主控台) 連接 Bitbucket

若要使用主控台,使用應用程式密碼或 API 字符將專案連線至 Bitbucket,請在建立專案時執行下列動作。如需相關資訊,請參閱建立組建專案 (主控台)

注意

如果您使用 API 字符,請輸入與您的 Atlassian 帳戶相關聯的電子郵件地址做為使用者名稱。

  1. 對於 Source provider (來源供應商),選擇 Bitbucket

  2. 對於登入資料,請執行下列其中一項操作:

    • 選擇使用帳戶登入資料,將帳戶的預設來源登入資料套用至所有專案。

      1. 如果您未連線至 Bitbucket,請選擇管理帳戶登入資料。

      2. 針對登入資料類型,選擇 API 字符 (先前顯示為應用程式密碼)。

    • 如果您選擇使用 Service 的帳戶層級登入資料,請選擇您要用來存放字符的服務,並執行下列動作:

      1. 如果您選擇使用 Secrets Manager,您可以選擇使用現有的秘密連線或建立新的秘密,然後選擇儲存。如需如何建立新的秘密的詳細資訊,請參閱 在 Secrets Manager 秘密中建立和存放權杖

      2. 如果您選擇使用 CodeBuild,請輸入您的 Bitbucket 使用者名稱和密碼,然後選擇儲存。對於 Bitbucket API 字符,請改為輸入您的 Atlassian 帳戶電子郵件地址和 API 字符。

    • 選取僅使用此專案的覆寫登入資料來使用自訂來源登入資料來覆寫帳戶的登入資料設定。

      1. 從填入的登入資料清單中,選擇應用程式密碼API 字符下的其中一個選項。

      2. 您也可以在描述中選取建立連線連結,以建立新的應用程式密碼或 API 字符連線。

使用存取字符連接 Bitbucket (主控台)

若要使用主控台,使用存取字符將專案連線至 Bitbucket,請在建立專案時執行下列動作。如需相關資訊,請參閱建立組建專案 (主控台)

  1. 對於 Source provider (來源供應商),選擇 Bitbucket

  2. 對於登入資料,請執行下列其中一項操作:

    • 選擇使用帳戶登入資料,將帳戶的預設來源登入資料套用至所有專案。

      1. 如果您未連線至 Bitbucket,請選擇管理帳戶登入資料。

      2. 針對登入資料類型,選擇個人存取字符

    • 如果您選擇使用 Service 的帳戶層級登入資料,請選擇您要用來存放字符的服務,並執行下列動作:

      1. 如果您選擇使用 Secrets Manager,您可以選擇使用現有的秘密連線或建立新的秘密,然後選擇儲存。如需如何建立新的秘密的詳細資訊,請參閱 在 Secrets Manager 秘密中建立和存放權杖

      2. 如果您選擇使用 CodeBuild,請輸入您的 Bitbucket 個人存取字符,然後選擇儲存

    • 選取僅使用此專案的覆寫登入資料來使用自訂來源登入資料來覆寫帳戶的登入資料設定。

      1. 從填入的登入資料清單中,選擇個人存取字符下的其中一個選項。

      2. 您也可以在描述中選取建立新的個人存取權杖連線,以建立新的個人存取權杖

使用應用程式密碼或存取權杖 (CLI) 連接 Bitbucket

請依照下列步驟使用 AWS CLI ,使用應用程式密碼或存取權杖將您的專案連線至 Bitbucket。如需 AWS CLI 搭配 使用 的詳細資訊 AWS CodeBuild,請參閱 命令列參考

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

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

    即會在輸出中顯示 JSON 格式化資料。將資料複製到 AWS 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,僅允許使用 Personal_ACCESS_TOKEN。僅允許使用 Bitbucket 應用程式密碼或 API 字符進行 BASIC_AUTH。

    • should-overwrite:選用值。設為 false 可防止覆寫儲存庫來源登入資料。設為 true 可覆寫儲存庫來源登入資料。預設值為 true

    • token:必要值。對於 GitHub 或 GitHub Enterprise Server,這是個人存取字符。對於 Bitbucket,這是個人存取字符、應用程式密碼或 API 字符。對於身分類型 CODECONNECTIONS,這是連線 ARN。對於身分驗證類型 SECRETS_MANAGER,這是秘密 ARN。

    • username:選用值。GitHub 和 GitHub Enterprise Server 來源提供者會忽略此參數。對於 Bitbucket 應用程式密碼,這是您的 Bitbucket 使用者名稱。對於 Bitbucket API 字符,這是與您的 Atlassian 帳戶相關聯的電子郵件地址。

  2. 若要使用應用程式密碼、API 字符或存取字符來連接您的帳戶,請切換到包含您在步驟 1 中儲存之import-source-credentials.json檔案的目錄,然後再次執行 import-source-credentials命令。

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

    JSON 格式的資料會出現在 Amazon Resource Name (ARN) 的輸出中。

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

    如果您使用相同的伺服器類型和身分驗證類型執行 import-source-credentials 命令第二次,即會更新存放的存取字符。

    在您的帳戶與應用程式密碼或 API 字符連線後,您可以使用 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_AUTHCODECONNECTIONSPERSONAL_ACCESS_TOKENSECRETS_MANAGER

    • serverType 是來源供應商的類型。這可以是 GITHUBGITHUB_ENTERPRISEGITLABBITBUCKETGITLAB_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" }