HTTPS 連線的設定步驟AWS CodeCommitLinux、MacOS 或 Unix 上的儲存庫AWS CLI憑證助手 - AWS CodeCommit

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

HTTPS 連線的設定步驟AWS CodeCommitLinux、MacOS 或 Unix 上的儲存庫AWS CLI憑證助手

第一次連接到 AWS CodeCommit 之前,您必須先完成初始設定步驟。對於大多數使用者,最輕鬆的方式是遵循適用於使用 Git 認證的 HTTPS 使用者中的步驟。不過,如果您想要使用根帳戶、聯合存取或暫時性登入資料來連線到 CodeCommit,您可以使用 AWS CLI 隨附的登入資料協助程式。

注意

雖然登入資料協助程式是可支援使用聯合存取、身分提供者或暫時性登入資料連線到 CodeCommit 的方法,但建議採用的方法是安裝並使用 git-remote-codecommit 公用程式。如需詳細資訊,請參閱HTTPS 連線的設定步驟AWS CodeCommit與git-remote-codecommit

步驟 1:初始配置CodeCommit

請依照下列步驟設定 Amazon 網路服務帳戶、建立和設定 IAM 使用者,以及安裝AWS CLI。

若要建立和設定 IAM 使用者以存取CodeCommit
  1. 通過轉到創建一個亞馬遜網絡服務帳戶http://aws.amazon.com並選擇立即註冊

  2. 在您的亞馬遜網路服務帳戶中建立 IAM 使用者,或使用現有的使用者。確定您擁有與該 IAM 使用者相關聯的存取金鑰 ID 和秘密存取金鑰。如需詳細資訊,請參閱在您的亞馬遜網絡服務帳戶中創建 IAM 用戶

    注意

    CodeCommit 需要 AWS Key Management Service。如果您使用現有的 IAM 使用者,請確定沒有附加給使用者的政策明確拒絕AWS KMS所需的動作CodeCommit。如需詳細資訊,請參閱AWS KMS和加密

  3. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  4. 在 IAM 主控台的導覽窗格中,選擇使用者,然後選擇您要設定的 IAM 使用者CodeCommit訪問。

  5. Permissions (許可) 標籤上,選擇 Add Permissions (新增許可)

  6. Grant permissions (授予許可) 中,選擇 Attach existing policies directly (直接連接現有政策)

  7. 從政策清單中,選取 AWSCodeCommitPowerUser,或另一個用於存取 CodeCommit 的受管政策。如需詳細資訊,請參閱AWS 受管理的政策 CodeCommit

    選取要附加的策略之後,請選擇下一個:評論以檢閱要附加至 IAM 使用者的政策清單。如果清單正確,請選擇 Add permissions (新增許可)

    如需有關 CodeCommit 受管政策及分享儲存庫存取權給其他群組和使用者的詳細資訊,請參閱共用儲存庫AWS CodeCommit的身分驗證與存取控制

安裝及設定 AWS CLI
  1. 在本機電腦上,下載並安裝 AWS CLI。這是從命令列與 CodeCommit 互動的必要步驟。我們建議您安裝AWS CLI版本 2. 它是最新的主要版本AWS CLI並支持所有最新功能。這是唯一的版本AWS CLI支援使用 root 帳戶、同盟存取或臨時登入資料git-remote-codecommit

    如需詳細資訊,請參閱開始設定 AWS 命令列界面

    注意

    CodeCommit僅適用於AWS CLI版本 1.7.38 及更高版本。根據最佳實務,安裝 AWS CLI 或將其升級到可用的最新版本。若要判斷您已安裝的 AWS CLI 版本,請執行 aws --version 命令。

    若要將舊版的 AWS CLI 升級為最新版本,請參閱​安裝 AWS Command Line Interface​。

  2. 執行此命令以驗證CodeCommit指令用於AWS CLI已安裝。

    aws codecommit help

    此命令返回一個列表CodeCommit命令。

  3. 配置AWS CLI使用設定檔configure命令,如下所示:。

    aws configure

    出現提示時,請指定AWS存取金鑰和AWS要搭配使用的 IAM 使用者的秘密存取金鑰CodeCommit。此外,請務必指定AWS 區域存放庫所在的位置,例如us-east-2。系統提示您輸入預設輸出格式時,請指定 json。例如,如果您要為 IAM 使用者設定描述檔:

    AWS Access Key ID [None]: Type your IAM user AWS access key ID here, and then press Enter AWS Secret Access Key [None]: Type your IAM user AWS secret access key here, and then press Enter Default region name [None]: Type a supported region for CodeCommit here, and then press Enter Default output format [None]: Type json here, and then press Enter

    如需建立和設定與 AWS CLI 搭配使用之描述檔的詳細資訊,請參閱下列內容:

    若要連線至儲存庫或另一個儲存庫中的資源AWS 區域,您必須重新設定AWS CLI使用默認的地區名稱。CodeCommit 支援的預設區域名稱包括:

    • us-east-2

    • us-east-1

    • eu-west-1

    • us-west-2

    • ap-northeast-1

    • ap-southeast-1

    • ap-southeast-2

    • ap-southeast-3

    • me-central-1

    • eu-central-1

    • ap-northeast-2

    • sa-east-1

    • us-west-1

    • eu-west-2

    • ap-south-1

    • ap-south-1

    • ca-central-1

    • us-gov-west-1

    • us-gov-east-1

    • eu-north-1

    • ap-east-1

    • me-south-1

    • cn-north-1

    • cn-northwest-1

    • eu-south-1

    • ap-northeast-3

    • af-south-1

    • il-central-1

    如需 CodeCommit 和 AWS 區域 的詳細資訊,請參閱「區域和 Git 連線端點」。如需 IAM、存取金鑰和秘密金鑰的詳細資訊,請參閱如何取得認證?管理 IAM 使用者的存取金鑰。如需 AWS CLI 和描述檔的詳細資訊,請參閱具名描述檔

步驟 2:安裝 Git

若要使用中的檔案、認可和其他資訊CodeCommit存儲庫中,您必須在本地計算機上安裝 Git。CodeCommit 支援 Git 1.7.9 版和更新版本。Git 版本 2.28 支持配置初始提交的分支名稱。我們建議您使用最新版本的 Git。

要安裝 Git,我們建議網站如Git 下載

注意

Git 是一個不斷發展的,定期更新的平台。有時,一項功能的改變,可能會影響此功能與 CodeCommit 運作的方式。如果您在特定版本的 Git 和 CodeCommit 方面遇到問題,請檢閱疑難排解中的資訊。

步驟 3:設置憑證助手

  1. 從終端機,使用 Git 執行 git config,並指定使用 Git 登入資料協助程式搭配 AWS 登入資料描述檔,同時讓 Git 登入資料協助程式將路徑傳送至儲存庫:

    git config --global credential.helper '!aws codecommit credential-helper $@' git config --global credential.UseHttpPath true
    提示

    憑證助手使用默認值AWS登入資料設定檔或 Amazon EC2 執行個體角色。如果您已建立 AWS 登入資料描述檔來用於 CodeCommit,則可以指定要使用的描述檔,例如 CodeCommitProfile

    git config --global credential.helper '!aws --profile CodeCommitProfile codecommit credential-helper $@'

    如果描述檔名稱包含空格,請務必以引號 (") 括住名稱。

    您可以使用 --local 設定每個儲存庫的描述檔,而非使用 --global 來全體設定。

    Git 登入資料協助程式會將下列值寫入 ~/.gitconfig

    [credential] helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true
    重要

    如果您想要在相同的本機電腦上使用不同的 IAM 使用者CodeCommit,您必須執行git config再次命令並指定不同的AWS認證設定檔。

  2. 執行 git config --global --edit 以確認上述值已寫入 ~/.gitconfig。如果成功,您應該會看到上述值 (除了可能已存在於 Git 全域組態檔案中的值之外)。若要結束,您通常會輸入 :q,然後按 Enter 鍵。

    如果您在設定登入資料協助程式之後遇到問題,請參閱疑難排解

    重要

    如果您使用的是 macOS,請按照下列步驟確保認證協助程式設定正確。

  3. 如果您使用的是 macOS,請使用 HTTPS連接到CodeCommit儲存庫。第一次透過 HTTPS 連線到 CodeCommit 儲存庫之後,大約 15 分鐘之後,後續存取會失敗。macOS 上的預設 Git 版本會使用「鑰匙圈存取」公用程式來儲存認證。基於安全考量,為存取 CodeCommit 儲存庫而產生的密碼是臨時性,因此,存放在金鑰鏈中的登入資料大約 15 分鐘之後會失效。為避免使用這些過期的登入資料,您必須:

    • 安裝一個依預設不使用金鑰鏈的 Git 版本。

    • 將 Keychain Access 公用程式設定為不提供登入資料給 CodeCommit 儲存庫。

    1. 開啟 Keychain Access 公用程式。(您可以使用 Finder 找到它。)

    2. 搜尋 git-codecommit.us-east-2.amazonaws.com。反白此列,開啟操作功能表或以滑鼠右鍵按一下此列,然後選擇 Get Info (取得資訊)

    3. 選擇 Access Control (存取控制) 標籤。

    4. Confirm before allowing access (允許存取之前確認) 中,選擇 git-credential-osxkeychain,然後選擇減號從清單移除它。

      注意

      從清單移除 git-credential-osxkeychain 之後,每當您執行 Git 命令時就會看到快顯訊息。選擇 Deny (拒絕) 以繼續。如果您覺得快顯帶來太多干擾,以下是一些其他選項:

步驟 4:連接到CodeCommit控制台並克隆存儲庫

如果管理員已將 CodeCommit 儲存庫的名稱和連線詳細資訊傳送給您,則您可以略過此步驟,並直接複製儲存庫。

連接到 CodeCommit 儲存庫
  1. 打開CodeCommit控制台在https://console.aws.amazon.com/codesuite/codecommit/home

  2. 在區域選擇器中,選擇AWS 區域存放庫的建立位置。存儲庫特定於AWS 區域。如需詳細資訊,請參閱區域和 Git 連線端點

  3. 尋找您要從清單連接的儲存庫並加以選擇。選擇 Clone URL (複製 URL),然後選擇複製和連線至儲存庫時要使用的通訊協定。這會將複製 URL 複製。

    • 如果您要將 Git 認證與 IAM 使用者搭配使用,或是隨附的認證協助程式使用,請複製 HTTPS 網址AWS CLI。

    • 如果您是在本機電腦上使用 git-remote-codecommit 命令,請複製 HTTPS (GRC) URL。

    • 如果您將 SSH 公開/私密金鑰配對與 IAM 使用者搭配使用,請複製 SSH URL。

    注意

    如果您看到歡迎頁面而不是存儲庫列表,沒有與您的相關聯的存儲庫AWS帳戶中的AWS 區域您登入的位置。要建立儲存庫,請參閱 建立 AWS CodeCommit 儲存庫 或依照 開始使用 Git 和 CodeCommit 教學課程中的步驟。

  4. 開啟終端機並使用您複製的 HTTPS URL 來執行 git clone 命令。例如,若要複製名為的儲存庫MyDemoRepo到一個名為的本地回購my-demo-repo在美國東部 (俄亥俄) 地區:

    git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

後續步驟

您已完成事前準備。按照中的步驟操作開始使用 CodeCommit 開始使用CodeCommit。