IAM認證 CodeCommit:Git 憑證、SSH金鑰和 AWS 存取金鑰 - AWS Identity and Access Management

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

IAM認證 CodeCommit:Git 憑證、SSH金鑰和 AWS 存取金鑰

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

  • Git 憑據,一個 IAM-生成的用戶名和密碼對,您可以用來與 CodeCommit 存儲庫通信。HTTPS

  • SSH密鑰,本地生成的公鑰-私 key pair,您可以與您的IAM用戶關聯以與 CodeCommit 存儲庫進行通信。SSH

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

注意

您無法使用SSH金鑰或 Git 認證來存取其他 AWS 帳戶中的儲存庫。若要瞭解如何為其他使用IAM者和群組設定 CodeCommit 儲存庫的存取權限 AWS 帳戶,請參閱《使用AWS CodeCommit 者指南》中的〈使用角色設定 AWS CodeCommit 儲存庫的跨帳戶存取權限〉。

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

使用 Git 憑據HTTPS和 CodeCommit(推薦)

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

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

注意

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

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

注意

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

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

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

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

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

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

使用SSH鑰匙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連線時,還有其他組態考量。如需詳細資訊,請參閱使用指南中的針HTTPS對在 Linux、macOS 或 Unix 上使用 AWS CLI 認證協助程式的HTTPS連線,或在 Windows 上AWS CodeCommit 使用 AWS CLI 認證協助程式的連線。