メニュー
AWS CodeCommit
ユーザーガイド (API Version 2015-04-13)

AWS CLI 認証情報ヘルパーを使用して Windows 上で AWS CodeCommit リポジトリへの HTTPS 接続の設定手順

AWS CodeCommit に初めて接続する前に、最初の設定手順を完了する必要があります。ほとんどのユーザーにとっては、これは Git 認証情報を使用する HTTPS ユーザー用 の手順に従って簡単に行うことができます。ただし、ルートアカウント、フェデレーテッドアクセス、または一時クレデンシャルを使用して AWS CodeCommit に接続する場合は、AWS CLI に含まれている認証情報ヘルパーを使用する必要があります。

このトピックでは、AWS CLI をインストールし、コンピュータと AWS プロファイルを設定し、AWS CodeCommit リポジトリに接続し、そのリポジトリをコンピュータにクローンする手順 (ローカルリポジトリの作成) について説明します。Git を初めて利用する場合は、Git について の情報を確認することもできます。

ステップ 1: AWS CodeCommit の初期設定

AWS アカウントをセットアップし、IAM ユーザーを作成および構成し、AWS CLI をインストールするには、次の手順を実行します。AWS CLI には、AWS CodeCommit リポジトリへの HTTPS 接続を構成する認証情報ヘルパーが組み込まれています。

IAM ユーザーを作成および設定して AWS CodeCommit にアクセスするには

  1. AWS アカウントを作成するには、http://aws.amazon.com にアクセスし、[Sign Up] を選択します。

  2. IAM ユーザーを作成するか、AWS アカウントに関連付けられた既存のユーザーを使用します。アクセスキー ID およびシークレットアクセスキーがその IAM ユーザーに関連付けられていることを確認します。詳細については、「AWS アカウントの IAM ユーザーの作成」を参照してください。

    注記

    AWS CodeCommit には AWS Key Management Service が必要です。既存の IAM ユーザーを使用している場合は、AWS CodeCommit で必要な AWS KMS アクションを明示的に拒否するユーザーにポリシーがアタッチされていないことを確認します。詳細については、「AWS KMS および暗号化」を参照してください。

  3. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  4. IAM コンソールのナビゲーションペインで、[Users] を選択し、続いて、AWS CodeCommit へアクセスするために設定する IAM ユーザーを選択します。

  5. [Permissions] タブで、[Add Permissions] を選択します。

  6. [Grant permissions] で、[Attach existing policies directly] を選択します。

  7. AWS CodeCommit にアクセスするために、ポリシーのリストから [AWSCodeCommitFullAccess]、または別の管理ポリシーを選択します。AWS CodeCommit の管理ポリシーの詳細については、「AWS CodeCommit の AWS 管理 (定義済み) ポリシー」を参照してください。

    アタッチするポリシーを選択したら、[Next: Review] を選択して、IAM ユーザーにアタッチするポリシーのリストを表示します。リストが正しい場合は、[Add permissions] を選択します。

    AWS CodeCommit 管理ポリシーや、その他のグループおよびユーザーを含むリポジトリへのアクセス共有については、「リポジトリの共有」および「AWS CodeCommit に対する認証とアクセスコントロール」を参照してください。

AWS CLI をインストールして設定するには

  1. ローカルマシンで、AWS CLI をダウンロードしてインストールします。これは、コマンドラインから AWS CodeCommit とやり取りするための前提条件です。詳細については、「AWS コマンドラインインターフェイスの設定」を参照してください。

    注記

    AWS CodeCommit は AWS CLI のバージョン 1.7.38 以降 でのみ動作します。インストールした AWS CLI のバージョンを確認するには、aws --version コマンドを実行します。

    以前のバージョンの AWS CLI を最新バージョンにアップグレードするには、「AWS Command Line Interface のインストール」を参照してください。

  2. このコマンドを実行して、AWS CLI の AWS CodeCommit コマンドがインストールされていることを確認します。

    aws codecommit help

    このコマンドは AWS CodeCommit コマンドのリストを返します。

  3. 以下のように、configure コマンドを使用して AWS CLI を設定します。

    aws configure

    プロンプトが表示されたら、AWS CodeCommit で使用する IAM ユーザーの AWS アクセスキーと AWS シークレットアクセスキーを指定します。また、リポジトリが存在するリージョン (us-east-2 など) を指定します。デフォルトの出力形式の入力を求められたら、json を指定します。(例:

    AWS Access Key ID [None]: Type your target AWS access key ID here, and then press Enter AWS Secret Access Key [None]: Type your target AWS secret access key here, and then press Enter Default region name [None]: Type a supported region for AWS CodeCommit here, and then press Enter Default output format [None]: Type json here, and then press Enter

    別のリージョンに存在するリポジトリまたはリソースに接続するには、そのリージョンのデフォルトのリージョン名を使用して AWS CLI を再設定する必要があります。AWS CodeCommit でサポートされるデフォルトのリージョン名は以下のとおりです。

    • us-east-2

    • us-east-1

    • eu-west-1

    • us-west-2

    • ap-northeast-1

    • ap-southeast-1

    • ap-southeast-2

    • eu-central-1

    • ap-northeast-2

    • sa-east-1

    • us-west-1

    • eu-west-2

    • ap-south-1

    • ca-central-1

    AWS CodeCommit とリージョンの詳細については、「リージョンと Git 接続エンドポイント」を参照してください。IAM、アクセスキー、シークレットキーの詳細については、「認証情報を取得する方法」と「IAM ユーザーのアクセスキーの管理」を参照してください。

ステップ 2: Git をインストールする

ファイル、コミット、および AWS CodeCommit レポジトリのその他の情報を操作するには、ローカルマシンに Git をインストールする必要があります。AWS CodeCommit は Git バージョン 1.7.9 以降をサポートしています。

Git をインストールするには、Git for Windows などのウェブサイトをお勧めします。このリンクを使用して Git をインストールする場合、以下を除くすべてのインストールのデフォルト設定を使用できます。

  • [Adjusting your PATH environment] ステップ中に求められたら、[Use Git from the Windows Command Prompt] オプションを選択します。

  • (オプション) AWS CodeCommit 用の Git 認証情報を設定するのではなく、AWS CLI に含まれている認証情報ヘルパーで HTTPS を使用する予定の場合は、[Configuring extra options] ページで、[Enable Git Credential Manager] オプションがオフになっていることを確認します。Git 認証情報マネージャーは、IAM ユーザーが Git 認証情報を設定する場合のみ、AWS CodeCommit と互換性があります。詳細については、「Git 認証情報を使用する HTTPS ユーザー用」および「Git for Windows: Git for Windows をインストールしたが、リポジトリへのアクセスが拒否される (403)」を参照してください。

注記

Git は、定期的に更新されている、発展中のプラットフォームです。機能の変更により、AWS CodeCommit での動作が影響を受ける場合があります。特定のバージョンの Git と AWS CodeCommit で問題が発生した場合は、「トラブルシューティング」の情報を確認してください。

ステップ 3: 認証情報ヘルパーを設定する

AWS CLI には、AWS CodeCommit で使用できる Git 認証情報ヘルパーが含まれています。Git 認証情報ヘルパーには、IAM ユーザーの AWS アクセスキー ID と AWS シークレットアクセスキー (デフォルトのリージョン名とデフォルトの出力形式) のコピーが格納された AWS 認証情報プロファイルが必要です。Git 認証情報ヘルパーはこの情報を使用して AWS CodeCommit で自動的に認証しますので、Git を使用して AWS CodeCommit とやり取りするたびにこの情報を入力する必要はありません。

  1. コマンドプロンプトを開き、Git を使って git config を実行し、Git 認証情報ヘルパーが AWS 認証情報プロファイルで Git 認証情報ヘルパーを使用するように指定すると、Git 認証情報ヘルパーがリポジトリにパスを送信できるようになります。

    git config --global credential.helper "!aws codecommit credential-helper $@" git config --global credential.UseHttpPath true

    Git 認証情報ヘルパーは、.gitconfig ファイルに次の情報を書き込みます。

    [credential] helper = !aws codecommit credential-helper $@ UseHttpPath = true

    重要

    • Windows のコマンドラインではなく Bash エミュレーターを使用している場合は、二重引用符ではなく単一引用符を使用する必要があります。

    • 認証情報ヘルパーは、デフォルトの AWS プロファイル、または Amazon EC2 インスタンスロールを使用します。CodeCommitProfile などの AWS 資格情報プロファイルを作成した場合は、次のようにコマンドを変更して代わりに使用できます。

      git config --global credential.helper "!aws codecommit credential-helper --profile CodeCommitProfile $@"

      これにより、.gitconfig ファイルに次のように書き込まれます。

      [credential] helper = !aws codecommit credential-helper --profile=CodeCommitProfile $@ UseHttpPath = true
    • プロファイル名にスペースが含まれる場合は、このコマンドを実行した後、.gitconfig ファイルを編集して 一重引用符 (') で囲みます。そうしないと、認証情報ヘルパーは動作しません。

    • Git for Windows のインストールに Git 認証情報マネージャーユーティリティが含まれている場合、最初の数回の接続試行後に 認証情報マネージャーユーティリティに認証情報を提供するかどうかを確認する 403 エラーが表示されます。この問題を解決する最も確実な方法は、AWS CodeCommit と互換性がないため、Git 認証情報マネージャーユーティリティのオプションを使用せずに Git for Windows をアンインストールしてから再インストールすることです。Git 認証情報マネージャーユーティリティを保持する場合は、AWS CodeCommit に接続するときに AWS CodeCommit の認証情報ヘルパーの使用を指定するために .gitconfig ファイルを手動で変更することを含め、AWS CodeCommit を使用する追加の構成ステップを実行する必要があります。認証情報マネージャーユーティリティから格納されている資格情報を削除します (このユーティリティはコントロールパネルにあります)。格納されている認証情報を削除したら、以下を .gitconfig ファイルに追加して保存し、新しいコマンドプロンプトウィンドウから再度接続してください。

      [credential "https://git-codecommit.us-east-2.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true [credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

      さらに、--global または --global の代わりに --system を指定して、git config の設定を再構成する必要があります。

    • AWS CodeCommit の同じローカルマシン上の異なる IAM ユーザーを使用する場合は、git config --global の代わりに git config --local を指定し、AWS 認証情報プロファイルごとに構成を実行する必要があります。

  2. git config --global --edit を実行して、前の値がユーザープロファイルの .gitconfig file (デフォルトでは、%HOME%\.gitconfig または drive:\Users\UserName\.gitconfig) に書き込まれていることを検証します。成功した場合は、以前の値 (Git グローバルコンフィグレーションファイルにすでに存在する値に追加) が表示されます。終了するには、通常、:q と入力して [Enter] を押します。

ステップ 4: AWS CodeCommit コンソールに接続し、リポジトリを複製する

管理者から AWS CodeCommit リポジトリの名前と接続の詳細をすでに受け取っている場合は、このステップをスキップしてリポジトリを直接複製できます。

AWS CodeCommit リポジトリに接続するには

  1. https://console.aws.amazon.com/codecommit にある AWS CodeCommit コンソールを開きます。

  2. リージョンセレクタで、リポジトリが作成されたリージョンを選択します。リポジトリは、AWS リージョンに固有のものです。詳細については、「リージョンと Git 接続エンドポイント」を参照してください。

  3. リストから、接続するリポジトリを選択します。そのリポジトリの [Code] ページが開きます。

    レポジトリのリストではなく [Welcome] ページが表示される場合、お客様の AWS アカウントに関連付けられているレポジトリはありません。リポジトリを作成するには、「AWS CodeCommit リポジトリの作成」を参照するか、「AWS CodeCommit での Git の使用に関するチュートリアル」チュートリアルのステップに従います。

  4. HTTPS URL をコピーし、リポジトリに接続するときに使用します。

  5. コマンドプロンプトを開き、URL を使用して git clone コマンドでリポジトリをクローンします。ローカルリポジトリは、そのコマンドを実行したディレクトリのサブディレクトリに作成されます。たとえば、MyDemoRepo という名前のリポジトリを、米国東部 (オハイオ) リージョン内 my-demo-repo という名前のローカルリポジトリに複製するには、以下のようにします。

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

    Windows の一部のバージョンでは、ユーザー名とパスワードの入力を求めるポップアップダイアログボックスが表示されることがあります。これは Windows 用の組み込みの認証情報管理システムですが、AWS CodeCommit の認証情報ヘルパーと互換性がありません。[Cancel] を選択します。

    リポジトリへの接続方法の詳細については、「リポジトリのクローンを作成して AWS CodeCommit リポジトリに接続する」を参照してください。

次のステップ

前提条件を完了しました。「AWS CodeCommit のチュートリアル」のステップに従って、AWS CodeCommit の使用を開始してください。