git-remote-codecommit を使用して AWS CodeCommit への HTTPS 接続をセットアップする手順 - AWS CodeCommit

AWS CodeCommit は、新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS CodeCommit 引き続き使用できます。詳細はこちら

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

git-remote-codecommit を使用して AWS CodeCommit への HTTPS 接続をセットアップする手順

ルートアカウント、フェデレーティッドアクセス、または一時的な認証情報を使用して CodeCommit に接続する場合は、git-remote-codecommit を使用してアクセスを設定する必要があります。このユーティリティは、Git を拡張することにより、CodeCommit リポジトリからコードをプッシュおよびプルするための簡単な方法を提供します。これは、フェデレーティッドアクセス、ID プロバイダー、および一時的な認証情報を使用した接続をサポートするために推奨される方法です。フェデレーテッドアイデンティティに許可を割り当てるには、ロールを作成してそのロールの許可を定義します。フェデレーティッドアイデンティティが認証されると、そのアイデンティティはロールに関連付けられ、ロールで定義されている許可が付与されます。フェデレーションの詳細については、「IAM ユーザーガイド」の「Creating a role for a third-party Identity Provider」(サードパーティーアイデンティティプロバイダー向けロールの作成) を参照してください。IAM アイデンティティセンターを使用する場合、許可セットを設定します。アイデンティティが認証後にアクセスできるものを制御するため、IAM Identity Center は、アクセス許可セットを IAM のロールに関連付けます。アクセス許可セットの詳細については、「AWS IAM Identity Center ユーザーガイド」の「アクセス許可セット」を参照してください。

IAM ユーザーで git-remote-codecommit を使用することもできます。他の HTTPS 接続方法とは異なり、git-remote-codecommit では、ユーザーの Git 認証情報を設定する必要はありません。

注記

一部の IDE は、git-remote-codecommit で使用されるクローン URL 形式をサポートしていません。任意の IDE でリポジトリを操作する前に、ローカルコンピュータにリポジトリのクローンを手動で作成する必要が生じる場合があります。詳細については、「トラブルシューティング git-remote-codecommit と AWS CodeCommit」を参照してください。

これらの手順は、アマゾン ウェブ サービスアカウントがあり、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 をインストールして設定します。

IAM ユーザーを作成および設定して CodeCommit にアクセスするには
  1. アマゾン ウェブ サービスアカウントを作成するには、http://aws.amazon.com にアクセスし、[Sign Up] (サインアップ) を選択します。

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

    注記

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

  3. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

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

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

  7. ポリシーの一覧から、[AWSCodeCommitPowerUser] または CodeCommit アクセスの別の管理ポリシーを選択します。詳細については、「AWS の マネージドポリシー CodeCommit」を参照してください。

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

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

AWS CLI をインストールして設定するには
  1. ローカルマシンで、AWS CLI をダウンロードしてインストールします。これは、コマンドラインから CodeCommit とやり取りするための前提条件です。AWS CLI バージョン 2 のインストールが推奨されます。AWS CLI の最新のメジャーバージョンであり、最新の機能をすべてサポートしています。これは、AWS CLI でルートアカウント、フェデレーションアクセス、または一時的な認証情報の使用をサポートする、git-remote-codecommit の唯一のバージョンです。

    詳細については、「AWS コマンドラインインターフェイスの設定」を参照してください。

    注記

    CodeCommit は、AWS CLI バージョン 1.7.38 以降でのみ動作します。ベストプラクティスとして、AWS CLI をインストールするか、利用可能な最新バージョンにアップグレードしてください。インストールした AWS CLI のバージョンを確認するには、aws --version コマンドを実行します。

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

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

    aws codecommit help

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

  3. 次のように AWS CLI コマンドを使用して、プロファイルを使用して configure を設定します。

    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 で使用するプロファイルの作成および設定の詳細については、以下を参照してください。

    別の 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 接続エンドポイント を参照してください。IAM、アクセスキー、シークレットキーに関する詳細については、認証情報を取得する方法および IAM ユーザーのアクセスキーの管理を参照してください。AWS CLI とプロファイルの詳細については、「名前付きプロファイル」を参照してください。

ステップ 2: git-remote-codecommit をインストールする

git-remote-codecommit をインストールするには、次のステップに従ってください。

git-remote-codecommit をインストールするには
  1. ターミナルまたはコマンドラインで、次のコマンドを実行します。

    pip install git-remote-codecommit
    注記

    オペレーティングシステムと設定によっては、このコマンドを実行するために sudo などの昇格したアクセス許可を使用するか、--user パラメータを使用して、現在のユーザーアカウントなどの特別な特権を必要としないディレクトリにインストールすることが必要になる場合があります。例えば、Linux、macOS、または Unix を実行しているコンピューターの場合は、次のとおりです。

    sudo pip install git-remote-codecommit

    Windows を実行しているコンピュータの場合は、次のとおりです。

    pip install --user git-remote-codecommit
  2. 成功メッセージが表示されるまで、インストールプロセスをモニタリングします。

ステップ 3: CodeCommit コンソールに接続し、リポジトリのクローンを作成する

管理者が CodeCommit リポジトリに対して git-remote-codecommit で使用するクローン URL を既に送信している場合は、コンソールへの接続をスキップして、リポジトリのクローンを直接作成できます。

CodeCommit リポジトリに接続するには
  1. https://console.aws.amazon.com/codesuite/codecommit/home で CodeCommit コンソールを開きます。

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

  3. 接続するリポジトリをリストから見つけて選択します。[クローン URL] を選択してから、リポジトリのクローン作成やリポジトリへの接続時に使用するプロトコルを選択します。これにより、クローン URL が複製されます。

    • IAM ユーザー、または AWS CLI に含まれている認証情報ヘルパーで Git 認証情報を使用している場合は、HTTPS URL をコピーします。

    • ローカルコンピュータで git-remote-codecommit コマンドを使用している場合は、HTTPS (GRC) URL をコピーします。

    • IAM ユーザーで SSH パブリック/プライベートキーペアを使用している場合は、SSH URL をコピーします。

    注記

    リポジトリのリストではなく [ようこそ] ページが表示される場合、ログインしている AWS リージョン の AWS アカウントに関連付けられているリポジトリはありません。リポジトリを作成するには、「AWS CodeCommit リポジトリを作成する」を参照するか、「Git と CodeCommit の開始方法」チュートリアルのステップに従います。

  4. ターミナルまたはコマンドプロンプトで、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 でも情報を確認できます。