HTTPS 連線的設定步驟AWS CodeCommit與git-remote-codecommit - AWS CodeCommit

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

HTTPS 連線的設定步驟AWS CodeCommit與git-remote-codecommit

如果您想要使用根帳戶、聯合存取或暫時性登入資料連線到 CodeCommit,則應使用 git-remote-codecommit 設定存取。此公用程式提供透過擴充 Git 從 CodeCommit 儲存庫推送和提取程式碼的簡單方法。這是支援使用聯合存取、身分識別提供者和臨時登入資料建立的連線的建議方法。若要將權限指派給同盟身分識別,您可以建立角色並定義角色的權限。當聯合身分進行身分驗證時,該身分會與角色建立關聯,並獲授予由角色定義的許可。如需有關聯合角色的詳細資訊,請參閱 IAM 使用者指南中的為第三方身分提供者建立角色如果您使用 IAM Identity Center,則需要設定許可集。為控制身分驗證後可以存取的內容,IAM Identity Center 將許可集與 IAM 中的角色相關聯。如需有關許可集的資訊,請參閱 AWS IAM Identity Center 使用者指南中的許可集

您也可以使用git-remote-codecommit與 IAM 使用者一起使用。git-remote-codecommit 與其他 HTTPS 連線方法不同,不需要為使用者設定 Git 登入資料。

注意

某些 IDE 不支援 git-remote-codecommit 使用的複製 URL 格式。您可能必須先將儲存庫手動複製到本機電腦,才能在偏好使用的 IDE 中使用這些儲存庫。如需詳細資訊,請參閱針對 git-remote-codecommit 和 AWS CodeCommit 進行故障診斷

這些程序的撰寫方式是假設您擁有 Amazon Web 服務帳戶,並在中建立至少一個儲存庫CodeCommit,並在連線到時使用 IAM 使用者搭配受管政策CodeCommit儲存庫。如需如何為聯合身分使用者設定存取和其他輪換登入資料類型的相關資訊,請參閱使用旋轉認證連線至AWS CodeCommit儲存庫

步驟 0:安裝先決條件git-remote-codecommit

您必須先在本機電腦上安裝某些必要項目,才能使用 git-remote-codecommit。其中包含:

  • Python (第 3 版或更新版本) 及其套件管理工具 PIP (若未安裝)。若要下載並安裝最新版 Python,請造訪 Python 網站

  • Git

注意

當您在 Windows 上安裝 Python 時,請務必選擇此選項以將 Python 新增到路徑中。

git-remote-codecommit 需要 PIP 9.0.3 版或更新版本。若要檢查您的 PIP 版本,請開啟終端機或命令列,然後執行下列命令:

pip --version

您可以執行下列兩個命令,將 PIP 版本更新為最新版:

curl -O https://bootstrap.pypa.io/get-pip.py python3 get-pip.py --user

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

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

注意

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

步驟 1:初始配置CodeCommit

依照下列步驟建立 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 的受管政策。如需詳細資訊,請參閱 CodeCommit 的 AWS 受管政策

    選取要附加的策略之後,請選擇下一個:評論以檢閱要附加至 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-remote-codecommit

請按照下列步驟安裝 git-remote-codecommit

安裝 git-remote-codecommit
  1. 在終端機或命令列,執行下列命令:

    pip install git-remote-codecommit
    注意

    視您的作業系統和組態而定,您可能需要以提升的權限 (例如 sudo) 執行此命令,或使用-user 參數安裝到不需要特殊權限的目錄,例如您目前的使用者帳戶。例如,在執行 Linux、macOS 或 Unix 的電腦上:

    sudo pip install git-remote-codecommit

    在執行視窗的電腦上:

    pip install --user git-remote-codecommit
  2. 監視安裝程序,直到您看到成功訊息為止。

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

如果管理員已將可搭配 git-remote-codecommit 用於 CodeCommit 儲存庫的複製 URL 傳送給您,您可以直接跳過連線到主控台及複製儲存庫的程序。

連接到 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. 在終端機或命令提示視窗中,使用 git clone 命令複製儲存庫。使用 HTTPSgit-remote-codecommit您複製的網址和名稱AWS CLI設定檔,如果您建立了具名的設定檔。如果您沒有指定描述檔,此命令會假定預設描述檔。在您執行此命令的目錄中,將會在該目錄的子目錄中建立本機儲存庫。例如,若要將名為 MyDemoRepo 的儲存庫,複製到名為 my-demo-repo 的本機儲存庫:

    git clone codecommit://MyDemoRepo my-demo-repo

    使用名為的設定檔複製相同的儲存庫CodeCommitProfile:

    git clone codecommit://CodeCommitProfile@MyDemoRepo my-demo-repo

    若要複製不同的儲存庫AWS 區域比您的個人資料中配置的那個,包括AWS 區域名稱。例如:

    git clone codecommit::ap-northeast-1://MyDemoRepo my-demo-repo

後續步驟

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

要了解如何創建和推送第一次提交,請參閱在中創建提交 AWS CodeCommit。如果您是初次使用 Git,您可能還需要檢閱我可以在哪裡進一步了解 Git?開始使用 Git 和 AWS CodeCommit中的資訊。