AWS CodeCommit は、新規顧客には利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
リポジトリへのクロスアカウントアクセス: AccountB のリポジトリユーザーのアクション
AccountA でリポジトリにアクセスするには、AccountB グループのユーザーがリポジトリアクセスのためにローカルコンピューターを設定する必要があります。次のセクションでは、手順と例を示します。
トピック
ステップ 1: AccountA のリポジトリにアクセスするように AccountB ユーザーの AWS CLI と Git AccountA を設定する
SSH キーまたは Git 認証情報を使用して、別の Amazon Web Services アカウントのリポジトリにアクセスすることはできません。AccountB ユーザーは、コンピュータが AccountA の共有 CodeCommit リポジトリにアクセスするために git-remote-codecommit (推奨) または認証情報ヘルパーを使用するように設定する必要があります。ただし、AccountB のリポジトリにアクセスするときは、SSHキーまたは Git 認証情報を引き続き使用できます。
git-remote-codecommit を使用してアクセスを設定する手順は、次のとおりです。git-remote-codecommit をまだインストールしていない場合は、Python パッケージインデックスウェブサイトの git-remote-codecommit
クロスアカウントアクセス用に AWS CLI と Git を設定するには
-
ローカルコンピュータ AWS CLI に をインストールします。詳細については、「AWS CLIのインストール」で使用しているオペレーティングシステムの説明を参照してください。
-
ローカルコンピュータに Git をインストールします。Git をインストールするには、Git ダウンロード
や Git for Windows などのウェブサイトが推奨されます。 注記
CodeCommit は Git バージョン 1.7.9 以降をサポートしています。Git バージョン 2.28 は、初期コミットのブランチ名の設定をサポートしています。最新バージョンの Git を使用することをお勧めします。Git は、定期的に更新されている、発展中のプラットフォームです。場合によっては、機能の変更によって、機能の動作に影響が及ぶことがあります CodeCommit。特定のバージョンの Git と で問題が発生した場合は CodeCommit、「」の情報を確認してくださいトラブルシューティング。
-
ターミナルまたはコマンドラインから、リポジトリをクローンするディレクトリの場所で、git config --local user.name コマンドおよび git config --local user.email コマンドを実行して、リポジトリに作成するコミットのユーザー名および E メールを設定します。例:
git config --local user.name "Saanvi Sarkar" git config --local user.email saanvi_sarkar@example.com
これらのコマンドは何も返しませんが、指定した E メールおよびユーザー名は AccountA のリポジトリで作成したコミットに関連付けられます。
-
AccountB でリソースに接続する際に使用するデフォルトのプロファイルを設定するには、aws configure --profile コマンドを実行します。プロンプトが表示されたら、IAM ユーザーのアクセスキーとシークレットキーを提供します。
注記
をインストール AWS CLI してプロファイルを設定済みである場合は、このステップをスキップできます。
例えば、次のコマンドを実行して、米国東部 (オハイオ) (us-east-2) の AccountB の AWS リソースにアクセスするために使用するデフォルト AWS CLI プロファイルを作成します。
aws configure
プロンプトが表示されたら、次の情報を入力します。
AWS Access Key ID [None]:
Your-IAM-User-Access-Key
AWS Secret Access Key ID [None]:Your-IAM-User-Secret-Access-Key
Default region name ID [None]:us-east-2
Default output format [None]: json -
aws configure --profile コマンドを実行して、AccountA でリポジトリに接続するときに使用するプロファイルを設定します。プロンプトが表示されたら、IAM ユーザーのアクセスキーとシークレットキーを提供します。たとえば、次のコマンドを実行して、米国東部 (オハイオ) (us-east-2) の AccountA のリポジトリにアクセスするために使用する
MyCrossAccountAccessProfile
という名前の プロファイルを作成します AWS CLI 。aws configure --profile
MyCrossAccountAccessProfile
プロンプトが表示されたら、次の情報を入力します。
AWS Access Key ID [None]:
Your-IAM-User-Access-Key
AWS Secret Access Key ID [None]:Your-IAM-User-Secret-Access-Key
Default region name ID [None]:us-east-2
Default output format [None]: json -
プレーンテキストエディタで
config
ファイル ( AWS CLI 設定ファイルとも呼ばれる) を開きます。オペレーティングシステムによっては、このファイルは Linux、macOS、Unix~/.aws/config
の または Windows のdrive
:\Users\USERNAME
\.aws\config にある場合があります。 -
ファイルで、AccountB のリポジトリへのアクセス用に設定したデフォルトプロファイルに対応するエントリを見つけます。これは次のように表示されます。
[default] region = us-east-2 output = json
プロファイル設定に
account
に追加します。AccountB の AWS アカウント ID を指定します。以下に例を示します。[default] account =
888888888888
region = us-east-2 output = json -
ファイルで、先ほど作成した
MyCrossAccountAccessProfile
プロファイルに対応するエントリを見つけます。これは次のように表示されます。[profile
MyCrossAccountAccessProfile
] region = us-east-2 output = jsonプロファイル設定に
account
、role_arn
、およびsource_profile
を追加します。AccountA の Amazon Web Services アカウント ID、他のアカウントのリポジトリにアクセスするために引き受ける AccountA のロールARNの 、および AccountB のデフォルト AWS CLI プロファイルの名前を指定します。以下に例を示します。[profile
MyCrossAccountAccessProfile
] region = us-east-2 account =111122223333
role_arn = arn:aws:iam::111122223333
:role/MyCrossAccountRepositoryContributorRole
source_profile =default
output = json変更を保存し、プレーンテキストエディタを閉じます。
ステップ 2: AccountA で CodeCommit リポジトリをクローンしてアクセスする
git clone、git push、および git pull を実行して、 CodeCommit リポジトリのクロスアカウントをクローン、プッシュ、プルします。 AWS マネジメントコンソールにサインインし、ロールを切り替え、 CodeCommit コンソールを使用して他のアカウントのリポジトリとやり取りすることもできます。
注記
IAM ロールの設定方法によっては、デフォルトページでリポジトリを表示できる場合があります CodeCommit。リポジトリを表示できない場合は、 CodeCommit コンソールの共有リポジトリのコードページURLへのリンクを E メールで送信するようにリポジトリ管理者に依頼してください。URL は次のようになります。
https://console.aws.amazon.com/codecommit/home?region=
us-east-2
#/repository/MySharedDemoRepo
/browse/HEAD/--/
クロスアカウントリポジトリをローカルコンピューターにクローンするには
-
コマンドラインまたはターミナルで、リポジトリのクローンを作成するディレクトリで、 HTTPS (GRC) クローン を使用して git clone コマンドを実行しますURL。以下に例を示します。
git clone codecommit://
MyCrossAccountAccessProfile
@MySharedDemoRepo
他の指定がない限り、リポジトリはこのリポジトリと同じ名前のサブディレクトリにクローンされます。
-
クローンしたリポジトリのディレクトリを変更し、ファイルに変更を加えるか、またはファイルを追加します。たとえば、 という名前のファイルを追加できます
NewFile.txt
。 -
ローカルリポジトリの追跡された変更に ファイルを追加し、変更をコミットして、ファイルを CodeCommit リポジトリにプッシュします。以下に例を示します。
git add
NewFile.txt
git commit -m "Added a file to test cross-account access to this repository" git push詳細については、「Git および の開始方法AWS CodeCommit」を参照してください。
ファイルを追加したら、 CodeCommit コンソールに移動してコミットの表示、他のユーザーによるリポジトリへの変更の確認、プルリクエストへの参加などを行います。
CodeCommit コンソールでクロスアカウントリポジトリにアクセスするには
-
AccountA AWS Management Console のAccountB (
888888888888
) の AccountA にサインインします。 IAM -
ナビゲーションバーでユーザー名を選択し、ドロップダウンリストから [ロールの切り替え] を選択します。
注記
このオプションを初めて選択する場合には、このページの情報を確認し、[ロールの切り替え] を再度選択します。
-
[ロールの切り替え] ページで次を実行します。
-
[アカウント] で AccountA のアカウント ID を入力します (例:
111122223333
)。 -
ロールに、AccountA のリポジトリにアクセスするために引き受けるロールの名前を入力します (例:
MyCrossAccountRepositoryContributorRole
)。 -
[表示名] にこのロールのフレンドリ名を入力します。この名前は、ロールを引き受けたときにコンソールに表示されます。また、このコンソールで次回にロールを切り替えるときに引き受けるロールの一覧にも表示されます。
-
(オプション) [色] で表示名のカラーラベルを選択します。
-
[Switch Role] を選択します。
詳細については、「ロールの切り替え (AWS Management Console)」を参照してください。
-
https://console.aws.amazon.com/codesuite/codecommit/home
で CodeCommit コンソールを開きます。 引き受けたロールに AccountA のリポジトリの名前を閲覧するアクセス権限がある場合には、リポジトリの一覧、およびそのステータスを閲覧するアクセス権限がないことを通知するエラーメッセージが表示されます。これは想定される動作です。リストから共有リポジトリの名前を選択します。
引き受けたロールに AccountA のリポジトリの名前を閲覧するアクセス権限がない場合には、エラーメッセージおよびリポジトリがない空のリストが表示されます。リンクをリポジトリURLに貼り付けるか、コンソールリンクを変更して共有リポジトリの名前 ( など
/
)MySharedDemoRepo
/list
に変更します。-
[コード] で、ローカルコンピュータから追加したファイルの名前を検索します。その名前を選択してファイルでコードを表示し、残りのリポジトリを表示してこの機能の使用を開始します。
詳細については、「の開始方法 AWS CodeCommit」を参照してください。