AWS CodeCommit
ユーザーガイド (API バージョン 2015-04-13)

AWS CLI 認証情報ヘルパーを使用する Linux, macOS, or Unix での AWS CodeCommit リポジトリへの HTTPS 接続のセットアップステップ

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

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

AWS アカウントをセットアップし、IAM ユーザーを作成および構成し、AWS CLI をインストールするには、次の手順を実行します。

CodeCommit にアクセスするための IAM ユーザーを作成および設定するには

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

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

    注記

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

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

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

  5. [Permissions (アクセス許可)] タブで、[Add Permissions (アクセス許可の追加)] を選択します。

  6. [Grant permissions (アクセス許可の付与)] で、[Attach existing policies directly (既存のポリシーを直接アタッチする)] を選択します。

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

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

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

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

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

    注記

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

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

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

    aws codecommit help

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

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

    aws configure

    プロンプトが表示されたら、CodeCommit で使用する IAM ユーザーの AWS アクセスキーと 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 CodeCommit here, and then press Enter Default output format [None]: Type json here, and then press Enter

    別の 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

    • eu-central-1

    • ap-northeast-2

    • sa-east-1

    • us-west-1

    • eu-west-2

    • ap-south-1

    • ca-central-1

    • us-gov-west-1

    • us-gov-east-1

    • eu-north-1

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

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

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

Git をインストールするには、Git のダウンロードなどのウェブサイトをお勧めします。

注記

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

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

  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 $@'

    プロファイル名にスペースが含まれる場合は、名前を二重引用符 (") で囲みます。

    --global ではなく --local を使用して、グローバルではなくリポジトリごとにプロファイルを設定できます。

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

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

    重要

    CodeCommit の同じローカルマシンに別の IAM ユーザーを使用する場合は、git config コマンドを再度実行し、別の AWS 認証情報プロファイルを指定する必要があります。

  2. git config --global --edit を実行して、前の値が ~/.gitconfig に書き込まれたことを確認します。成功した場合は (Git グローバルコンフィグレーションファイルにすでに存在する値に加えて) 以前の値が表示されます。終了するには、通常、:q と入力して [Enter] を押します。

    認証情報ヘルパーを設定した後で問題が発生する場合は、「トラブルシューティング」を参照してください。

    重要

    macOS を使用している場合は、以下の手順を実行して、認証情報ヘルパーが正しく構成されていることを確認してください。

  3. macOS を使用している場合は、HTTPS を使用して、CodeCommit のリポジトリに接続します。HTTPS を使用して CodeCommit リポジトリに初めて接続すると、約 15 分後に後続のアクセスが失敗します。macOS のデフォルトの Git バージョンは、Keychain Access ユーティリティを使用して認証情報を保存します。セキュリティ対策のために、CodeCommit リポジトリへのアクセス用に生成されるパスワードは一時的なものであり、約 15 分後にキーチェーンに保存されている認証情報は機能しなくなります。期限切れの認証情報が使用されないようにするには、これらのいずれかが必要になります。

    • デフォルトでキーチェーンを使用しない Git バージョンをインストールします。

    • CodeCommit リポジトリの認証情報を提供しないように Keychain Access ユーティリティを構成します。

    1. Keychain Access ユーティリティを開きます。(Finder を使用して位置を指定できます)

    2. git-codecommit.us-east-2.amazonaws.com を検索します。行をハイライト表示し、コンテキストメニューを開くか、右クリックして、[Get Info] を選択します。

    3. [Access Control] タブを選択します。

    4. [Confirm before allowing access] で、[git-credential-osxkeychain] を選択し、マイナス記号を選択してリストから削除します。

      注記

      リストから git-credential-osxkeychain を削除した後、Git コマンドを実行するたびにポップアップメッセージが表示されます。[Deny] を選択して続行します。ポップアップが不適正な場合は、次のようないくつかのその他のオプションがあります。

      • HTTPS ではなく SSH を使用して CodeCommit に接続する詳細については、「Linux, macOS, or Unix 上で SSH 接続する場合」を参照してください。

      • Keychain Access ユーティリティで、git-codecommit.us-east-2.amazonaws.com の [Access Control タブから、[Allow all applications to access this item (access to this item is not restricted)] オプションを選択します。これにより、ポップアップは表示されませんが、認証情報はやがて無効になり (平均で約 15 分後)、403 エラーメッセージが表示されます。この場合、キーチェーンアイテムを削除して機能を復元する必要があります。

      • デフォルトでキーチェーンを使用しない Git バージョンをインストールします。

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

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

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

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

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

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

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

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

  5. ターミナルを開き、/tmp ディレクトリから、次の URL を使用し、git clone コマンドでリポジトリのクローンを作成します。たとえば、MyDemoRepo という名前のリポジトリを 米国東部 (オハイオ) リージョンの my-demo-repo というローカルリポジトリに複製するには、次のようにします。

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

    詳細については、「リポジトリのクローンを作成して CodeCommit リポジトリに接続する」および「コミットを作成する」を参照してください。

次のステップ

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