

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

# 使用 AWS CLI 登入資料協助程式設定 HTTPS 連線至 Linux、macOS 或 Unix 上 AWS CodeCommit 儲存庫的步驟
<a name="setting-up-https-unixes"></a>

 AWS CodeCommit 首次連線至 之前，您必須先完成初始組態步驟。對於大多數使用者，最輕鬆的方式是遵循[對於使用 Git 登入資料的 HTTPS 使用者](setting-up-gc.md)中的步驟。不過，如果您想要使用根帳戶、聯合存取或臨時登入資料連線到 CodeCommit，您可以使用 中包含的登入資料協助程式 AWS CLI。

**注意**  
雖然登入資料協助程式是使用聯合存取、身分提供者或臨時登入資料連線至 CodeCommit 的支援方法，但建議的方法是安裝和使用 **git-remote-codecommit** 公用程式。如需詳細資訊，請參閱[AWS CodeCommit 使用 git-remote-codecommit 對 HTTPS 連線的設定步驟](setting-up-git-remote-codecommit.md)。

**Topics**
+ [步驟 1：CodeCommit 的初始組態](#setting-up-https-unixes-account)
+ [步驟 2：安裝 Git](#setting-up-https-unixes-install-git)
+ [步驟 3：設定登入資料協助程式](#setting-up-https-unixes-credential-helper)
+ [步驟 4：連線至 CodeCommit 主控台並複製儲存庫](#setting-up-https-unixes-connect-console)
+ [後續步驟](#setting-up-https-unixes-next-step)

## 步驟 1：CodeCommit 的初始組態
<a name="setting-up-https-unixes-account"></a>

請依照下列步驟設定 Amazon Web Services 帳戶、建立和設定 IAM 使用者，以及安裝 AWS CLI。

**建立和設定 IAM 使用者以存取 CodeCommit**

1. 前往 https：//[http://aws.amazon.com](https://aws.amazon.com/) 並選擇**註冊**來建立 Amazon Web Services 帳戶。

1. 在您的 Amazon Web Services 帳戶中建立 IAM 使用者，或使用現有的使用者。請確定您擁有與該 IAM 使用者相關聯的存取金鑰 ID 和私密存取金鑰。如需詳細資訊，請參閱[在您的 Amazon Web Services 帳戶中建立 IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_SettingUpUser.html)。
**注意**  
CodeCommit 需要 AWS Key Management Service。如果您使用的是現有的 IAM 使用者，請確定沒有政策連接到明確拒絕 CodeCommit 所需的 AWS KMS 動作的使用者。如需詳細資訊，請參閱[AWS KMS 和 加密](encryption.md)。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在 IAM 主控台的導覽窗格中，選擇**使用者**，然後選擇您要為 CodeCommit 存取設定的 IAM 使用者。

1. 在 **Permissions (許可)** 標籤上，選擇 **Add Permissions (新增許可)**。

1. 在 **Grant permissions (授予許可)** 中，選擇 **Attach existing policies directly (直接連接現有政策)**。

1. 從政策清單中，選取 **AWSCodeCommitPowerUser** 或其他 CodeCommit 存取的受管政策。如需詳細資訊，請參閱[AWS CodeCommit 的 受管政策](security-iam-awsmanpol.md)。

   選取要連接的政策之後，請選擇**下一步：檢閱**以檢閱要連接到 IAM 使用者的政策清單。如果清單正確，請選擇 **Add permissions (新增許可)**。

    如需 CodeCommit 受管政策以及與其他群組和使用者共用儲存庫存取權的詳細資訊，請參閱 [共用儲存庫](how-to-share-repository.md)和 [的身分驗證和存取控制 AWS CodeCommit](auth-and-access-control.md)。

**安裝和設定 AWS CLI**

1. 在本機電腦上，下載並安裝 AWS CLI。這是從命令列與 CodeCommit 互動的先決條件。我們建議您安裝 AWS CLI 第 2 版。這是 的最新主要版本， AWS CLI 並支援所有最新功能。這是 唯一 AWS CLI 支援搭配 使用根帳戶、聯合存取或臨時憑證的 版本**git-remote-codecommit**。

   如需詳細資訊，請參閱[使用 AWS 命令列界面進行設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)。
**注意**  
CodeCommit 僅適用於 1.7.38 版和更新 AWS CLI 版本。最佳實務是安裝 或 AWS CLI 將 升級至可用的最新版本。若要判斷 AWS CLI 您已安裝的 版本，請執行 **aws --version**命令。  
若要 AWS CLI 將舊版 升級至最新版本，請參閱[安裝 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。

1. 執行此命令，以確認 AWS CLI 已安裝 的 CodeCommit 命令。

   ```
   aws codecommit help
   ```

   此命令會傳回 CodeCommit 命令的清單。

1. 使用 **configure**命令 AWS CLI 以設定檔設定 ，如下所示：

   ```
   aws configure
   ```

   出現提示時，請指定要與 CodeCommit 搭配使用之 IAM 使用者的 AWS 存取金鑰和 AWS 私密存取金鑰。此外，請務必指定儲存 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，請參閱下列內容：
   + [命名設定檔](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
   + [在 中使用 IAM 角色 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)
   + [設定命令](https://docs.aws.amazon.com/cli/latest/reference/set.html)
   + [使用輪換憑證連線至 AWS CodeCommit 儲存庫](temporary-access.md)

   若要連線到儲存庫或其他資源 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 連線端點](regions.md)。如需 IAM、存取金鑰和私密金鑰的詳細資訊，請參閱[如何取得登入資料？](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_Introduction.html#IAM_SecurityCredentials)以及[管理 IAM 使用者的存取金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html)。如需 AWS CLI 和 設定檔的詳細資訊，請參閱[具名設定檔](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)。

## 步驟 2：安裝 Git
<a name="setting-up-https-unixes-install-git"></a>

若要使用 CodeCommit 儲存庫中的檔案、遞交和其他資訊，您必須在本機電腦上安裝 Git。CodeCommit 支援 Git 1.7.9 版和更新版本。Git 2.28 版支援為初始遞交設定分支名稱。我們建議您使用最新版本的 Git。

若要安裝 Git，我們建議使用 [Git Downloads](http://git-scm.com/downloads) 等網站。

**注意**  
Git 是一個不斷發展、定期更新的平台。有時，功能變更可能會影響其使用 CodeCommit 的方式。如果您遇到 Git 和 CodeCommit 特定版本的問題，請檢閱 中的資訊[疑難排解](troubleshooting.md)。

## 步驟 3：設定登入資料協助程式
<a name="setting-up-https-unixes-credential-helper"></a><a name="setting-up-https-unixes-ch-config"></a>

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 執行個體角色。如果您已建立要與 CodeCommit 搭配使用的 AWS 登入資料設定檔，您可以指定要使用的設定檔`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
   ```
**重要**  
如果您想要在 CodeCommit 的相同本機電腦上使用不同的 IAM 使用者，您必須再次執行 **git config**命令，並指定不同的 AWS 登入資料設定檔。

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

   如果您在設定登入資料協助程式之後遇到問題，請參閱[疑難排解](troubleshooting.md)。
**重要**  
如果您使用的是 macOS，請使用下列步驟來確保正確設定登入資料協助程式。

1. 如果您使用的是 macOS，請使用 HTTPS [連線到 CodeCommit 儲存庫](how-to-connect.md)。第一次使用 HTTPS 連線至 CodeCommit 儲存庫後，後續存取會在約 15 分鐘後失敗。macOS 上的預設 Git 版本使用 Keychain Access 公用程式來存放登入資料。針對安全措施，為存取 CodeCommit 儲存庫而產生的密碼是暫時的，因此儲存在金鑰鏈中的登入資料會在大約 15 分鐘後停止運作。為避免使用這些過期的登入資料，您必須：
   + 安裝一個依預設不使用金鑰鏈的 Git 版本。
   + 將 Keychain Access 公用程式設定為不提供 CodeCommit 儲存庫的登入資料。

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

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

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

   1. 在 **Confirm before allowing access (允許存取之前確認)** 中，選擇 `git-credential-osxkeychain`，然後選擇減號從清單移除它。
**注意**  
從清單移除 `git-credential-osxkeychain` 之後，每當您執行 Git 命令時就會看到快顯訊息。選擇 **Deny (拒絕)** 以繼續。如果您覺得快顯帶來太多干擾，以下是一些其他選項：  
使用 SSH 而不是 HTTPS 連線至 CodeCommit。如需詳細資訊，請參閱[針對 Linux、macOS 或 Unix 上的 SSH 連線](setting-up-ssh-unixes.md)。
在 Keychain Access 公用程式的**存取控制**索引標籤中`git-codecommit.us-east-2.amazonaws.com`，選擇**允許所有應用程式存取此項目 （不限制存取此項目）** 選項。這可防止快顯，但登入資料最終仍會過期 (平均大約 15 分鐘)，您將會看到 403 錯誤訊息。發生這種情況時，您必須刪除金鑰鏈項目才能還原功能。
如需詳細資訊，請參閱[Git for macOS：我已成功設定登入資料協助程式，但現在我無法存取儲存庫 (403)](troubleshooting-ch.md#troubleshooting-macoshttps)。

## 步驟 4：連線至 CodeCommit 主控台並複製儲存庫
<a name="setting-up-https-unixes-connect-console"></a>

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

**連線至 CodeCommit 儲存庫**

1. 在 https：//[https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home) 開啟 CodeCommit 主控台。

1. 在區域選擇器中，選擇建立儲存庫 AWS 區域 的 。儲存庫專屬於 AWS 區域。如需詳細資訊，請參閱[區域和 Git 連線端點](regions.md)。

1. 尋找您要從清單連接的儲存庫並加以選擇。選擇 **Clone URL (複製 URL)**，然後選擇複製和連線至儲存庫時要使用的通訊協定。這會將複製 URL 複製。
   + 如果您使用 Git 登入資料搭配 IAM 使用者或 隨附的登入資料協助程式，請複製 HTTPS URL AWS CLI。
   + 如果您是在本機電腦上使用 **git-remote-codecommit** 命令，請複製 HTTPS (GRC) URL。
   + 如果您搭配 IAM 使用者使用 SSH 公有/私有金鑰對，請複製 SSH URL。
**注意**  
 如果您看到**歡迎**頁面，而不是儲存庫清單，則在您登入 AWS 區域 的 中，沒有與 AWS 您的帳戶相關聯的儲存庫。要建立儲存庫，請參閱 [建立 AWS CodeCommit 儲存庫](how-to-create-repository.md) 或依照 [Git 和 CodeCommit 入門](getting-started.md) 教學課程中的步驟。

1. 開啟終端機並使用您複製的 HTTPS URL 來執行 **git clone** 命令。例如，若要將名為 *MyDemoRepo* 的儲存庫複製到美國東部 （俄亥俄） 區域中名為 *my-demo-repo* 的本機儲存庫：

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

## 後續步驟
<a name="setting-up-https-unixes-next-step"></a>

您已完成事前準備。依照中的步驟[開始使用 CodeCommit ](getting-started-cc.md)開始使用 CodeCommit。