共有 AWS CodeCommit リポジトリ - AWS CodeCommit

共有 AWS CodeCommit リポジトリ

CodeCommit リポジトリ を作成したら、他のユーザーと共有できます。まず、クローンを作成するときと Git クライアントや IDE を使用してリポジトリに接続するときにユーザーに推奨するプロトコル (HTTPS または SSH) を決定します。次に、リポジトリを共有するユーザーに URL と接続情報を送信します。セキュリティ要件によっては、リポジトリを共有する際、アクセスを詳細に設定するために、IAM グループの作成、このグループへの管理ポリシーの適用、IAM ポリシーの編集も合わせて必要になることがあります。

注記

コンソールからリポジトリへのアクセスをユーザーに許可したら、リポジトリユーザーは Git クライアントや他の接続を設定することなく、コンソールで直接ファイルを追加または編集できます。詳細については、「ファイルの作成または追加 AWS CodeCommit リポジトリ」および「_内のファイルの内容を編集する AWS CodeCommit リポジトリ」を参照してください。

これらの手順は、「セットアップ 」および「 リポジトリを作成する」のステップを既に完了していることを前提としています。

注記

使用状況によっては、リポジトリの作成またはアクセスに対して課金される場合があります。詳細については、CodeCommit 製品情報ページの「料金表」を参照してください。

ユーザーと共有する接続プロトコルを選択

CodeCommit でリポジトリを作成すると、HTTPS 接続用と SSH 接続用の 2 つのエンドポイントが生成されます。どちらもネットワーク経由で安全な接続を提供します。ユーザーは、いずれかのプロトコルを使用できます。ユーザーに推奨するプロトコルに関係なく、エンドポイントはいずれもアクティブの状態を維持します。

HTTPS 接続を行うには、以下のいずれかが必要です。

  • Git 認証情報。IAM ユーザーが IAM で生成できます。Git 認証情報は、リポジトリのユーザーがセットアップおよび使用する上で最も簡単な方法です。

  • 引き受ける AWS アクセスキーまたはロール。これは、リポジトリユーザーが認証情報プロファイルで設定する必要があります。git-remote-codecommit を設定するか (推奨)、AWS CLI に含まれる認証情報ヘルパーを設定できます。これらはルートアカウントやフェデレーティッドユーザーが使用できる唯一の方法です。

SSH 接続を行うには、以下の作業が必要です。

  • パブリックキーとプライベートキーのペアを生成する。

  • パブリックキーを保存する。

  • パブリックキーを IAM ユーザーに関連付ける。

  • ローカルコンピュータで既知のホストファイルを設定する。

  • ローカルコンピュータで設定ファイルを作成して管理する。

SSH 接続の設定プロセスは複雑であるため、CodeCommit に接続するには HTTPS および Git 認証情報を使用することをお勧めします。

HTTPS、SSH、Git、git-remote-codecommit、リモートリポジトリに関する詳細については、「セットアップ 」、「接続先 AWS CodeCommit 循環認証情報を使用したリポジトリ」、または Git のドキュメントを参照してください。通信プロトコルの概要、リモートリポジトリとの各通信方法については、「サーバーにおける Git – プロトコル」を参照してください。

注記

Git ではさまざまな接続プロトコルがサポートされていますが、CodeCommit は、ローカルプロトコルまたは一般的な HTTP のようなセキュリティが確保されていないプロトコルとの接続はサポートしていません。

作成 IAM リポジトリのポリシー

AWS では、CodeCommit 用の 3 つの管理ポリシーを IAM に用意しています。これらのポリシーを編集することはできません。また、AWS アカウントに関連付けられているすべてのリポジトリに適用することはできません。ただし、これらのポリシーをテンプレートとして使用し、共有するリポジトリにのみ適用する独自のカスタム管理ポリシーを作成することができます。カスタマー管理ポリシーは、共有するリポジトリに特別に適用することができます。詳細については、「管理ポリシー」と「IAM ユーザーとグループ」を参照してください。

ヒント

リポジトリへのアクセスを詳細に制御するには、複数のカスタマー管理ポリシーを作成して、別の IAM ユーザーおよびグループに適用します。

管理ポリシーの内容の確認、およびポリシーを使用してアクセス許可を作成および適用する方法については、「AWS CodeCommit の認証とアクセスコントロール」を参照してください。

リポジトリのカスタマー管理ポリシーを作成します。

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

  2. [ダッシュボード] ナビゲーションエリアで、[ポリシー] を選択し、次に [ポリシーの作成] を選択します。

  3. [ ポリシーの作成 ページ、選択 管理ポリシーのインポート.

  4. [ 管理ポリシーのインポート ページ、 フィルタポリシー、enter AWSCodeCommitPowerUser. ポリシー名の横にあるボタンを選択し、 インポート.

  5. [ポリシーの作成] ページで、[JSON] を選択します。本体の「*」部分を Resource の行 CodeCommit の Amazon リソース名 (ARN) を使用するアクション CodeCommit リポジトリ、次に示すように、

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]
    ヒント

    ARNの CodeCommit リポジトリの CodeCommit リストからリポジトリ名を選択し、 設定. 詳細については、リポジトリの詳細の表示 を参照してください。

    このポリシーに複数のリポジトリを適用するには、リソースに ARN を指定して各リポジトリを追加します。次に示すように、各 Resource ステートメントはカンマで区切ります。

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

    編集が終了したら、 方針の見直し.

  6. [ 方針の見直し ページ、 氏名ポリシーの新しい名前を入力します (例: AWSCodeCommitPowerUser-MyDemoRepo)。 必要に応じて、このポリシーの説明を入力します。

  7. [ポリシーの作成] を選択します。

作成 IAM リポジトリ ユーザーのグループリポジトリユーザーノグループ

リポジトリーへのアクセスを管理するには、リポジトリーユーザーの IAM グループを作成し、そのグループに IAM ユーザーを追加します。次に、前のステップで作成したカスタマー管理ポリシーをアタッチします。

SSH を使用する場合は、IAMUserSSHKeys グループに別の管理ポリシーをアタッチする必要があります。この IAM 管理ポリシーにより、ユーザーは SSH 公開鍵をアップロードし、IAM ユーザーと関連付けて CodeCommit に接続できるようになります。

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

  2. [ダッシュボード] ナビゲーションエリアで、[グループ] を選択し、次に [Create New Group (新しいグループの作成)] を選択します。

  3. [ グループ名の設定 ページ、 グループ名、グループの名前を入力します(例: MyDemoRepoGroup)を選択し、 次のステップ. ここで、グループ名の一部として、リポジトリ名を含めることを検討してください。

    注記

    この名前はすべての AWS アカウント間で一意であることが必要です。

  4. 前のセクションで作成したカスタマー管理ポリシー (例: [AWSCodeCommitPowerUser-MyDemoRepo]) の横にあるボックスをオンにします。

  5. [Review (確認)] ページで、[Create Group (グループの作成)] を選択します。IAM によって、指定されたポリシーがアタッチされた状態でこのグループが作成されます。このグループは、AWS アカウントに関連付けられたグループのリストに表示されます。

  6. リストからグループを選択します。

  7. グループの概要ページで、[ユーザー] タブを選択し、次に [Add Users to Group (グループにユーザーを追加)] を選択します。AWS アカウントに関連付けられているすべてのユーザーを示すリスト上で、CodeCommit リポジトリへのアクセスを許可するユーザーの横にあるボックスをオンにして、[Add Users (ユーザーの追加)] を選択します。

    ヒント

    検索ボックスに名前を入力して、ユーザーをすばやく見つけることができます。

  8. ユーザーの追加が完了したら、IAM コンソールを閉じます。

接続情報をユーザーと共有します。

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

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

  3. [リポジトリ] ページで、共有するリポジトリを選択します。

  4. [Clone URL] で、ユーザーが使用するプロトコルを選択します。接続プロトコルのクローン URL がコピーされます。

  5. AWS CLI インストール、プロファイルの設定、Git のインストールなどのその他の手順と合わせて、このクローン URL をユーザーに送信します。接続プロトコルの設定情報を含めるようにしてください (HTTPS など)。

次の E メール例では、ユーザーが 米国東部 (オハイオ) (us-east-2) リージョンで HTTPS 接続プロトコルと Git 認証情報を使用して MyDemoRepo リポジトリに接続するための情報を示します。この E メールでは、ユーザーが既に Git をインストールしており、操作に慣れていることを前提としています。

I've created a CodeCommit repository for us to use while working on our project. The name of the repository is MyDemoRepo, and it is in the 米国東部 (オハイオ) (us-east-2) region. Here's what you need to do in order to get started using it: 1. Make sure that your version of Git on your local computer is 1.7.9 or later. 2. Generate Git credentials for your IAM user by signing into the IAM console here: https://console.aws.amazon.com/iam/. Switch to the Security credentials tab for your IAM user and choose the Generate button in HTTPS Git credentials for CodeCommit. Make sure to save your credentials in a secure location! 3. Switch to a directory of your choice and clone the CodeCommit repository to your local machine by running the following command: git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo 4. When prompted for user name and password, use the Git credentials you just saved. That's it! If you'd like to learn more about using CodeCommit, you can start with the tutorial here.

詳細なセットアップ手順は、「セットアップ 」で確認できます。