AWS CLIからIAM Identity CenterへサインインしてCodeCommitのリポジトリを使用する
Macで操作しました。
目次
AWS CLIバージョンアップ
1 2 |
aws --version |
aws-cli/2.1.38 Python/3.8.8 Darwin/23.2.0 exe/x86_64 prompt/off
ローカルでCLI使うの久しぶりでしたのでAWS CLI の最新バージョンのインストールまたは更新を参照してバージョンアップしました。
1 2 3 |
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg ./AWSCLIV2.pkg -target / |
1 2 |
aws --version |
aws-cli/2.15.30 Python/3.11.8 Darwin/23.2.0 exe/x86_64 prompt/off
バージョンアップも楽になりましたね。
IAM Identity Centerのプロファイルを設定する
[aws configure sso ウィザードでプロファイルを設定する](aws configure sso ウィザードでプロファイルを設定する)の手順です。
1 2 3 4 5 6 |
aws configure sso SSO session name (Recommended): tr-sso SSO start URL [None]: https://xxxxxxxxxx.xxxxxxx.com/start SSO region [None]: ap-northeast-1 SSO registration scopes [sso:account:access]: |
aws configure ssoを実行して、SSO session nameは覚えやすい名前にしました。
SSO start URLはIAM Identity CenterのAWSアクセスポータルのURLです。
SSO regionには、IAM Identity Centerを設定しているリージョンを指定しました。
SSO registration scopesはデフォルトのsso:account:accessのままでEnterを押下しました。
Attempting to automatically open the SSO authorization page in your default browser.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:
https://device.sso.ap-northeast-1.amazonaws.com/
Then enter the code:
上記のメッセージが表示されて、ブラウザが開きました。
[Confirm and continue]を押下しました。
IAM Identity Centerにサインインしました。
MFAも設定されているので安心です。
[Allow]を押下しました。
認証が完了してMacのターミナルに戻ります。
続いてAWSプロファイルの設定が聞かれたので指定しました。
1 2 3 4 |
CLI default client Region [us-east-1]: ap-northeast-1 CLI default output format [None]: json CLI profile name [RoleName-xxxxxxxxx]: tr-sso-codecommit |
.aws/configのプロファイルが作成されました。
1 2 |
aws sts get-caller-identity --profile tr-sso-codecommit |
{
“UserId”: “XXXXXXXXXXXXXX:xxxxxxxxx@xxxxxxxxx”,
“Account”: “123456789012”,
“Arn”: “arn:aws:sts::123456789012:assumed-role/RoleName/xxxxxxxxx@xxxxxxxxx”
}
プロファイル指定のget-caller-identityコマンドで確認して、IAM Identity Centerから引き受けたIAMロールの認証を使っていることがわかりました。
1 2 3 4 5 6 7 8 9 10 11 12 |
[profile tr-sso-codecommit] sso_session = tr-sso sso_account_id = 123456789012 sso_role_name = RoleName region = ap-northeast-1 output = json [sso-session tr-sso] sso_start_url = https://xxxxxxxxxx.xxxxxxx.com/start sso_region = ap-northeast-1 sso_registration_scopes = sso:account:access |
.aws/configには上記の設定ができていました。
プロファイルtr-sso-codecommitがsso-sessionセクションを使用しています。
.gitconfigの設定
[credential “https://git-codecommit.ap-northeast-1.amazonaws.com”]
helper = !aws –profile tr-sso-codecommit codecommit credential-helper $@
UseHttpPath = true
東京リージョンのCodeCommitですので、https://git-codecommit.ap-northeast-1.amazonaws.comに対してのgitコマンドを実行時に使用する認証情報として、CodeCommit認証情報ヘルパーでtr-sso-codecommitプロファイルを指定しました。
1 2 |
git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/RepositoryName |
該当のディレクトリに移動して無事クローンできました。
認証情報がなくなると次のようなメッセージが出力されました。
Error loading SSO Token: Token for tr-sso does not exist
プロファイル名を指定してIAM Identity Centerにログインすればまたgitコマンドでの操作ができます。
1 2 |
aws sso login --profile tr-sso-codecommit |
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
![](https://www.sbcr.jp/wp-content/uploads/2023/01/9784815617929-1-407x596.jpg)
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
![](https://www.sbcr.jp/wp-content/uploads/2024/01/9784815625382-3-420x596.jpg)
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
![](https://www.shuwasystem.co.jp//images/book/637791.jpg)
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
![](https://book.mynavi.jp/files/topics/135344_ext_06_0.jpg?v=1673514682)
「AWSではじめるLinux入門ガイド」という本を書きました。
![](https://www.yamamanx.com/wp-content/uploads/2023/12/81Rp5O9We6L._SY522_.jpg)
![@yamamanx](https://www.yamamanx.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
CloudTrailのログファイルの整合性検証をAWS CLIで実行しました
CloudTrailのログファイルの検証を「有効」にしました。 上記のようなCl …
-
-
特定AWSアカウント特定リージョンのSNSトピックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のSNSトピックを全部削除したいで …
-
-
API GatewayのアクセスログをCloudWatchに記録する
Amazon API GatewayのアクセスログをCloudWatchに記録で …
-
-
「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました!
「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました。 久 …
-
-
「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~」に行ってきました
「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く …
-
-
Lambda関数で自分自身の環境変数を更新する
Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …
-
-
AWS LambdaのSQSへの自前ポーリングをやめてSQSイベントソーストリガーに変更した
以前は、LambdaがSQSからメッセージを受信するには、キューをポーリングして …
-
-
AWS EC2 インスタンスステータスのチェックで失敗して起動しなくなり復旧
EC2のインスタンスに接続出来なくなったので、AMIから作成してElastic …
-
-
Transit GatewayポリシーテーブルでCloud WANのコアネットワークに接続しました
「ポリシーテーブルってなんですか?」のご質問をいただいたので設定してみました。 …
-
-
RDSの証明書をrds-ca-2019に更新しました
クライアント接続で署名書使ってないので、必要ないのですが、古いままなのも気持ち悪 …