現在ソースコードを本番環境のCodeCommitで管理することになり、開発環境のソースコードをどうやったら本番環境のCodeCommitにpushできるのか調べたので共有します。
手順
1IAMユーザの作成
これは基本的にできていると思うのでスキップします
2Cloud9のマネージド一時認証をオフにする
①cloud9の画面へ移動
②preferences⇨AWS Settings⇨Credentialsの順に移動
③マネージドクレデンシャルをOFFにする
3本番環境のアカウントでクロスアカウントに必要なロールを作成
公式ページを参照
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html
4Cloud9環境のCLI設定ファイルにIAMロール設定の切り替え設定を追加
公式ページを参照
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-role.html
①"~/.aws"ディレクトリに移動
②aws configure set role_arn "本番環境で作成したロールARN" --profile "プロファイル名"
③aws configure set source_profile "参照先プロファイル" --profile "プロファイル名"
④configファイルを確認すると
'''
[profile プロファイル名]
role_arn = "arn"
source_profile = "参照先プロファイル名"
*参照先のプロファイルがない場合は作成する
今回自分は参照先プロファイルをdefaultとしてそこにアクセスキーを記述しておきました
参照先のプロファイルがない場合は作成をしておく
aws configureで作成が可能
5gitを使用する環境で認証情報ヘルパーを使用する設定にする
以下のコマンドを入力
git config --global credential.helper '!aws --profile CodeCommitProfile codecommit credential-helper $@'
git config --global credential.UseHttpPath true
これでおそらくできると思いますw