git-remote-codecommit を使用して AWS CodeCommit への HTTPS 接続をセットアップする手順
ルートアカウント、フェデレーティッドアクセス、または一時的な認証情報を使用して CodeCommit に接続する場合は、git-remote-codecommit を使用してアクセスを設定する必要があります。このユーティリティは、Git を拡張することにより、CodeCommit リポジトリからコードをプッシュおよびプルするための簡単な方法を提供します。これは、フェデレーティッドアクセス、ID プロバイダー、および一時的な認証情報を使用した接続をサポートするために推奨される方法です。IAM ユーザーを作成する代わりに、AWS Directory Service、エンタープライズユーザーディレクトリ、またはウェブ ID プロバイダーに既存のアイデンティティを使用できます。このようなユーザーはフェデレーティッドユーザーと呼ばれます。AWS では、ID プロバイダーを通じてアクセスがリクエストされたとき、フェデレーティッドユーザーにロールを割り当てます。フェデレーティッドユーザーの詳細については、IAM ユーザーガイド の「フェデレーティッドユーザーとロール」を参照してください。
IAM ユーザーで git-remote-codecommit を使用することもできます。他の HTTPS 接続方法とは異なり、git-remote-codecommit では、ユーザーの Git 認証情報を設定する必要はありません。
一部の IDE は、git-remote-codecommit
で使用されるクローン URL 形式をサポートしていません。任意の IDE でリポジトリを操作する前に、ローカルコンピュータにリポジトリのクローンを手動で作成する必要が生じる場合があります。詳細については、「git-remote-codecommit および AWS CodeCommit のトラブルシューティング」を参照してください。
これらの手順は、AWS アカウントがあり、CodeCommit で少なくとも 1 つのリポジトリを作成しており、CodeCommit リポジトリに接続するときに管理ポリシーを持つ IAM ユーザーを使用することを前提としています。フェデレーティッドユーザーおよびその他の認証情報の更新タイプのアクセスを設定する方法については、「認証情報のローテーションを使用した AWS CodeCommit リポジトリへの接続」を参照してください。
トピック
ステップ 0: git-remote-codecommit の前提条件をインストールする
git-remote-codecommit を使用する前に、ローカルコンピュータにいくつかの前提条件をインストールする必要があります。具体的には次のとおりです。
-
Python (バージョン 3 以降) とそのパッケージマネージャー pip (まだインストールされていない場合)。最新バージョンの Python をダウンロードしてインストールするには、Python のウェブサイト
にアクセスしてください。 -
Git
Windows に Python をインストールする場合は、必ず Python をパスに追加するオプションを選択してください。
git-remote-codecommit には pip バージョン 9.0.3 以降が必要です。pip のバージョンを確認するには、ターミナルまたはコマンドラインを開き、次のコマンドを実行します。
pip --version
次の 2 つのコマンドを実行して、pip のバージョンを最新バージョンに更新できます。
curl -O https://bootstrap.pypa.io/get-pip.py python3 get-pip.py --user
CodeCommit のファイル、コミット、およびその他の情報を使用するには、ローカルマシンに Git をインストールする必要があります。CodeCommit は Git バージョン 1.7.9 以降をサポートしています。Git バージョン 2.28 は、初期コミットのブランチ名の設定をサポートしています。最新バージョンの Git を使用することをお勧めします。
Git をインストールするには、Git のダウンロード
Git は、定期的に更新されている、発展中のプラットフォームです。機能の変更により、CodeCommit での動作が影響を受ける場合があります。特定のバージョンの Git と CodeCommit で問題が発生した場合は、「トラブルシューティング」の情報を確認してください。
ステップ 1: CodeCommit の初期設定
次の手順に従って IAM ユーザーを作成し、適切なポリシーを使用してユーザーを設定します。次に、アクセスキーとシークレットキーを取得し、AWS CLI をインストールして設定します。
CodeCommit にアクセスするための IAM ユーザーを作成および設定するには
-
AWS アカウントを作成するには、http://aws.amazon.com
にアクセスし、[Sign Up (サインアップ)] を選択します。 -
IAM ユーザーを作成するか、AWS アカウントに関連付けられた既存のユーザーを使用します。アクセスキー ID およびシークレットアクセスキーがその IAM ユーザーに関連付けられていることを確認します。詳細については、「AWS アカウント内での IAM ユーザーの作成」を参照してください。
注記 CodeCommit には AWS Key Management Service が必要です。既存の IAM ユーザーを使用している場合は、CodeCommit で必要な AWS KMS アクションを明示的に拒否するユーザーにポリシーがアタッチされていないことを確認します。詳細については、「AWS KMS および暗号化」を参照してください。
-
AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/
)を開きます。 -
IAM コンソールのナビゲーションペインで、[Users (ユーザー)] を選択し、続いて、CodeCommit へアクセスするために設定する IAM ユーザーを選択します。
-
[Permissions (アクセス許可)] タブで、[Add Permissions (アクセス許可の追加)] を選択します。
-
[Grant permissions (アクセス許可の付与)] で、[Attach existing policies directly (既存のポリシーを直接アタッチする)] を選択します。
-
ポリシーのリストから、CodeCommit にアクセスするために、ポリシーのリストから [AWSCodeCommitPowerUser]、または別の管理ポリシーを選択します。詳細については、「CodeCommit の AWS マネージド (事前定義) ポリシー」を参照してください。
アタッチするポリシーを選択したら、[Next: Review] を選択して、IAM ユーザーにアタッチするポリシーのリストを表示します。リストが正しい場合は、[Add permissions (アクセス許可の追加)] を選択します。
CodeCommit 管理ポリシーや、その他のグループおよびユーザーを含むリポジトリへのアクセス共有の詳細については、「リポジトリの共有」および「AWS CodeCommit の認証とアクセスコントロール」を参照してください。
AWS CLI をインストールして設定するには
-
ローカルマシンで、AWS CLI をダウンロードしてインストールします。これは、コマンドラインから CodeCommit とやり取りするための前提条件です。詳細については、「AWS コマンドラインインターフェイスの設定」を参照してください。
注記 CodeCommit は AWS CLI のバージョン 1.7.38 以降 でのみ動作します。ベストプラクティスとして、AWS CLI をインストールするか、利用可能な最新バージョンにアップグレードしてください。インストールした AWS CLI のバージョンを確認するには、aws --version コマンドを実行します。
以前のバージョンの AWS CLI を最新バージョンにアップグレードするには、「AWS Command Line Interface のインストール」を参照してください。
-
このコマンドを実行して、AWS CLI の CodeCommit コマンドがインストールされていることを確認します。
aws codecommit help
このコマンドは CodeCommit コマンドのリストを返します。
-
次のように 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
jsonhere, and then press Enter
AWS CLI で使用するプロファイルの作成および設定の詳細については、以下を参照してください。
別の 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
-
ap-east-1
-
me-south-1
-
cn-north-1
-
cn-northwest-1
-
eu-south-1
CodeCommit と AWS リージョンの詳細については、「リージョンと Git 接続エンドポイント」を参照してください。IAM、アクセスキー、シークレットキーに関する詳細については、「認証情報を取得する方法」および「IAM ユーザーのアクセスキーの管理」を参照してください。AWS CLI とプロファイルの詳細については、「名前付きプロファイル」を参照してください。
-
ステップ 2: git-remote-codecommit をインストールする
git-remote-codecommit をインストールするには、次のステップに従ってください。
git-remote-codecommit をインストールするには
-
ターミナルまたはコマンドラインで、次のコマンドを実行します。
pip install git-remote-codecommit
注記 オペレーティングシステムと設定によっては、sudo などの昇格したアクセス許可でこのコマンドを実行する必要が生じる場合があります。
sudo pip install git-remote-codecommit
-
次のような成功メッセージが表示されるまで、インストールプロセスをモニタリングします。
Successfully built git-remote-codecommit
ステップ 3: CodeCommit コンソールに接続し、リポジトリのクローンを作成する
管理者が CodeCommit リポジトリに対して git-remote-codecommit で使用するクローン URL をすでに送信している場合は、コンソールへの接続をスキップして、リポジトリのクローンを直接作成できます。
CodeCommit リポジトリに接続するには
-
https://console.aws.amazon.com/codesuite/codecommit/home
にある CodeCommit コンソールを開きます。 -
リージョンセレクターで、リポジトリが作成された AWS リージョンを選択します。リポジトリは、AWS リージョンに固有のものです。詳細については、「リージョンと Git 接続エンドポイント」を参照してください。
-
接続するリポジトリをリストから見つけて選択します。[クローン URL] を選択してから、リポジトリのクローン作成やリポジトリへの接続時に使用するプロトコルを選択します。これにより、クローン URL が複製されます。
-
IAM ユーザー、または AWS CLI に含まれている認証情報ヘルパーで Git 認証情報を使用している場合は、HTTPS URL をコピーします。
-
ローカルコンピュータで git-remote-codecommit コマンドを使用している場合は、HTTPS (GRC) URL をコピーします。
-
IAM ユーザーで SSH パブリック/プライベートキーペアを使用している場合は、SSH URL をコピーします。
注記 リポジトリのリストではなく [ようこそ] ページが表示される場合、ログインしている AWS リージョンの AWS アカウントに関連付けられているリポジトリはありません。リポジトリを作成するには、「AWS CodeCommit リポジトリを作成する」を参照するか、「Git および CodeCommit の開始方法」チュートリアルのステップに従います。
-
-
ターミナルまたはコマンドプロンプトで、git clone コマンドを使用してリポジトリのクローンを作成します。名前付きプロファイルを作成した場合は、コピーした HTTPS git-remote-codecommit URL と AWS CLI プロファイルの名前を使用します。プロファイルを指定しない場合は、デフォルトのプロファイルが使用されます。ローカルリポジトリは、そのコマンドを実行したディレクトリのサブディレクトリに作成されます。たとえば、
MyDemoRepo
という名前のリポジトリのクローンをmy-demo-repo
という名前のローカルリポジトリに作成するには、以下のようにします。git clone codecommit://MyDemoRepo my-demo-repo
CodeCommitProfile
という名前のプロファイルを使用して同じリポジトリのクローンを作成するには、次の手順を実行します。git clone codecommit://
CodeCommitProfile
@MyDemoRepo my-demo-repoプロファイルで設定されているものとは異なる AWS リージョンにあるリポジトリのクローンを作成するには、AWS リージョン名を含めます。次に例を示します。
git clone codecommit::ap-northeast-1://MyDemoRepo my-demo-repo
次のステップ
前提条件を完了しました。「CodeCommit の開始方法 」のステップに従って、CodeCommit の使用を開始してください。
最初のコミットを作成してプッシュする方法については、「AWS CodeCommit でコミットを作成する」を参照してください。Git を初めて利用する場合は、「Git の詳細情報」および「Git および AWS CodeCommit の開始方法」でも情報を確認できます。