

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

# CodeCommit 的 IAM 登入資料：Git 登入資料、SSH 金鑰和 AWS 存取金鑰
<a name="id_credentials_ssh-keys"></a>

CodeCommit 是一項受管版本控制服務，可在 AWS 雲端中託管私有的 Git 儲存庫。若要使用 CodeCommit，請將 Git 用戶端設定為與 CodeCommit 儲存庫通訊。作為此組態的一部分，您提供 CodeCommit 可用於對您進行身分驗證的 IAM 憑證。IAM 支援 CodeCommit 有三種類型的憑證：
+ Git 憑證，一種 IAM 產生的使用者名稱和密碼對，可用於透過 HTTPS 與 CodeCommit 儲存庫進行通訊。
+ SSH 金鑰，一種本機產生的公有私有金鑰對，您可以將其與 IAM 使用者關聯，以透過 SSH 與 CodeCommit 儲存庫進行通訊。
+  [AWS 存取金鑰](id_credentials_access-keys.md)，您可以使用 隨附的登入資料協助程式 AWS CLI ，透過 HTTPS 與 CodeCommit 儲存庫通訊。

**注意**  
您無法使用 SSH 金鑰或 Git 憑證來存取另一個 AWS 帳戶中的儲存庫。若要了解如何為另一個 IAM 使用者和群組設定 CodeCommit 儲存庫的存取權 AWS 帳戶，請參閱*AWS CodeCommit 《 使用者指南*》中的[使用 角色設定 AWS CodeCommit 儲存庫的跨帳戶存取權](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account.html)。

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

## 與 CodeCommit 一起使用 Git 憑證和 HTTPS (建議)
<a name="git-credentials-code-commit"></a>

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

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

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

如需詳細資訊，請參閱下列主題：
+ 若要建立 IAM 使用者，請參閱 [在 中建立 IAM 使用者 AWS 帳戶](id_users_create.md)。
+ 若要使用 CodeCommit 產生和使用 Git 憑證，請參閱 *AWS CodeCommit 使用者指南*中的[使用 Git 憑證的 HTTPS 使用者](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html)。

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

**若要更新服務特定的憑證**

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

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

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

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

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

## 與 CodeCommit 一起使用的 SSH 金鑰和 SSH
<a name="ssh-keys-code-commit"></a>

使用 SSH 連接，您可以在本機電腦上建立 Git 和 CodeCommit 用於 SSH 身分驗證的公有和私有金鑰檔案。您將公有金鑰與 IAM 使用者關聯，並將私有金鑰存放在本機電腦上。如需詳細資訊，請參閱下列主題：
+ 若要建立 IAM 使用者，請參閱 [在 中建立 IAM 使用者 AWS 帳戶](id_users_create.md)。
+ 若要建立 SSH 公有金鑰，並將其與 IAM 使用者關聯的詳細資訊，請參閱[在 Linux、macOS 或 Unix 上的 SSH 連線](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-unixes.html)，或查看 *AWS CodeCommit 使用者指南*中的[在 Windows 上的 SSH 連線](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-windows.html)。

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

## 搭配 AWS CLI 登入資料協助程式和 CodeCommit 使用 HTTPS
<a name="access-keys-code-commit"></a>

做為使用 Git 登入資料進行 HTTPS 連線的替代方案，只要 Git 需要向 進行身分驗證 AWS 才能與 CodeCommit 儲存庫互動，您就可以允許 Git 使用 IAM 使用者登入資料或 Amazon EC2 執行個體角色的密碼編譯簽署版本。這是 CodeCommit 儲存庫不需要 IAM 使用者的唯一連線方法。這也是使用聯合身分存取和臨時憑證的唯一方法。如需詳細資訊，請參閱下列主題：
+ 若要進一步了解有關聯合身分存取的詳細資訊，請參閱 [身分提供者和聯合身分 AWS](id_roles_providers.md) 和 [對外部驗證的使用者的存取權 (聯合身分)](id_roles_common-scenarios_federated-users.md)。
+ 若要進一步了解暫時憑證，請參閱 [IAM 中的暫時安全憑證](id_credentials_temp.md) 和 [CodeCommit 儲存庫的暫時存取](https://docs.aws.amazon.com/codecommit/latest/userguide/temporary-access.html)。

 AWS CLI 登入資料協助程式與其他登入資料協助程式系統不相容，例如 Keychain Access 或 Windows Credential Management。當使用憑證協助程式設定 HTTPS 連線時，會有額外的組態考量。如需詳細資訊，請參閱*AWS CodeCommit 《 使用者指南*》中的[使用 AWS CLI 登入資料協助程式進行 Linux、macOS 或 Unix](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html) 上的 HTTPS 連線，或使用[AWS CLI 登入資料協助程式進行 Windows 上的 HTTPS 連線](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-windows.html)。