將 IAM 搭配使用 CodeCommit:Git 登入資料、安全殼層金鑰和 AWS 存取金鑰 - AWS Identity and Access Management

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

將 IAM 搭配使用 CodeCommit:Git 登入資料、安全殼層金鑰和 AWS 存取金鑰

CodeCommit 是在 AWS 雲端託管私有 Git 儲存庫的受管理版本控制服務。若要使用 CodeCommit,請將 Git 用戶端設定為與 CodeCommit 儲存庫通訊。作為此組態的一部分,您提供 CodeCommit 可用於驗證您的 IAM 登入資料。IAM 支援三 CodeCommit 種登入資料類型:

  • Git 認證,一個由 IAM 產生的使用者名稱和密碼組,可用來透過 HTTPS 與 CodeCommit 儲存庫通訊。

  • SSH 金鑰是本機產生的公開-私密 key pair,您可以與 IAM 使用者建立關聯,以透過 SSH 與 CodeCommit 儲存庫通訊。

  • AWS 存取金鑰,您可以 AWS CLI 將其與隨附的認證協助程式搭配使用,以透過 HTTPS 與 CodeCommit 儲存庫進行通訊。

注意

您無法使用 SSH 金鑰或 Git 憑證來存取另一個 AWS 帳戶中的儲存庫。要了解如何為另一個 IAM 使用者和群組設定存AWS CodeCommit 放 CodeCommit 庫的存取權限 AWS 帳戶,請參閱使用AWS CodeCommit 者指南中的使用角色設定存放庫的跨帳戶存取。

如需有關每個選項的詳細資訊,請參閱下列各節。

使用 Git 認證和 HTTPS CodeCommit(推薦)

使用 Git 憑證後,您可以為 IAM 使用者產生靜態的使用者名稱和密碼對,然後將這些憑證用於 HTTPS 連線。您還可以將這些憑證用於支援靜態的 Git 憑證的任何第三方工具或整合開發環境 (IDE)。

由於這些憑證對於所有受支援的作業系統都是通用的,並且與大多數憑證管理系統、開發環境和其他軟體開發工具相容,因此建議使用此方法。您可以隨時重設 Git 憑證的密碼。您還可以使憑證處於非作用中,或者在不再需要時刪除它們。

注意

您無法為 Git 憑證選擇自己的使用者名稱或密碼。IAM 會為您產生這些登入資料,以協助確保它們符合中的安全標準 AWS 和安全存放庫 CodeCommit。您只能在產生憑證時作一次下載。請確定將憑證儲存在安全的位置。如有需要,您可以隨時重設密碼,但這樣做會使用舊密碼設定的任何連線無效。在連線之前,必須重新設定連線以使用新密碼。

如需詳細資訊,請參閱下列主題:

注意

產生 Git 憑證後變更 IAM 使用者的名稱不會變更 Git 憑證的使用者名稱。使用者名稱和密碼保持不變,且仍然有效。

若要更新服務特定的憑證
  1. 除了目前正在使用的設定之外,還要建立第二個特定於服務的憑證設定。

  2. 更新您的所有應用程式,以使用新設定的憑證並驗證應用程式是否正常工作。

  3. 將原始憑證的狀態變更為「非作用中」。

  4. 確認您的所有應用程式仍在運作。

  5. 刪除非作用中特定於服務的憑證

使用安全殼層金鑰和 SSH CodeCommit

透過 SSH 連線,您可以在本機電腦上建立 Git 並 CodeCommit 用於 SSH 驗證的公開和私密金鑰檔案。您將公有金鑰與 IAM 使用者關聯,並將私有金鑰存放在本機電腦上。如需詳細資訊,請參閱下列主題:

注意

公有金鑰必須以 ssh-rsa 格式或 PEM 格式編碼。公有金鑰的最小位元長度為 2048 位元,最長為 16384 位元。這與您上傳的檔案大小不同。例如,您可以產生 2048 位元索引鍵,產生的 PEM 檔案長度為 1679 位元組。如果以其他格式或大小提供公有金鑰,則會看到錯誤訊息,指出該金鑰格式無效。

使用 HTTPS 與 AWS CLI 憑證助手和 CodeCommit

作為使用 Git 登入資料進行 HTTPS 連線的替代方法,您可以在 Git 需要驗證以與 CodeCommit 儲存庫互動時,允許 Git 使用 IAM 使用者登入資料的加密簽署版本或 Amazon EC2 執行個體角色。 AWS 對於不需要 IAM 使用者的 CodeCommit 儲存庫,這是唯一的連線方法。這也是使用聯合身分存取和臨時憑證的唯一方法。如需詳細資訊,請參閱下列主題:

AWS CLI 憑證協助程式與其他認證協助程式系統 (例如「鑰匙串存取」或「Windows 認證管理」) 不相容。當使用憑證協助程式設定 HTTPS 連線時,會有額外的組態考量。如需詳細資訊,請參閱使用者指南中的 < 在 Windows 上使用 AWS CLI 認證協助程式 > 在 Linux、macOS 或 Unix 上AWS CodeCommit 使用 AWS CLI 認證協助程式的 HTTPS 連線進行 HTTPS 連線