🐡

AWS CLIのインストールと認証情報のセットアップ

2023/07/02に公開

概要

ECR利用のためにAWS CLIのインストールと認証情報の設定を行う。
AWS CLIはコマンドでAWSの操作を行えるツール。AWSはブラウザ側でも色々設定することができるが、
それとコマンドを繋ぎ込むのが認証情報の設定。

AWS CLIをインストール

以下に従ってAWS CLIを入れる。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html

ファイルをダウンロード

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

macOS installerを実行

sudo installer -pkg ./AWSCLIV2.pkg -target /

実行確認と後始末

which aws
aws --version
rm AWSCLIV2.pkg

IAM Identity Center経由のアクセスを確立する

以下に従ってIAM Identity Center経由でAWSにログインするプロファイルを設定する
https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/getting-started.html

ステップ1: IAM Identity Center を有効化する

以下画面で組織を作成する。

以下画面で「有効にする」をクリックする。

ステップ 2: ID ソースを選択する

デフォルト設定のままなのでスキップ

ステップ 3: 管理者アクセス許可セットを作成する

以下に従って設定する。日本語が怪しい。
https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/get-started-create-an-administrative-permission-set.html

許可セットを作成する

「事前定義された許可セット」, 「Administrator Access」を選択し次へ

許可セットの詳細はデフォルト設定のまま次へ
できた

ステップ 4: AWS アカウント 管理ユーザーのアクセスを設定する

管理者アカウントを作成済みのためスキップ

ステップ 5: AWS 管理者の認証情報を使用してアクセスポータルにサインインする

別ブラウザからログインできた。

ステップ 6: 最小特権のアクセス許可を適用するアクセス許可セットを作成する

管理者アカウントで運用するためスキップ

AWS CLIの設定

以下に従ってAWS CLIの設定を行う。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-quickstart.html

AWS CLI の認証情報の設定

AWS IAM Identity Center の自動認証更新によるトークンプロバイダーの設定を行う。

以下に従って操作を行う。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/sso-configure-profile-token.html

aws configure sso ウィザードでプロファイルを設定する

以下コマンドでAWS IAM Identity Center のSTART URL, リージョンを指定する。session nameは適当でいい。

$ aws configure sso
SSO session name (Recommended): aichatbot-sso
SSO start URL [None]: https://XXXXXXXXXXXXX.awsapps.com/start
SSO region [None]: ap-southeast-2
SSO registration scopes [None]: sso:account:access

ブラウザが開きAWSコンソールログインを求めてくる。
先ほど作ったユーザでログインすると以下の表示が出て連携が成功する。

コマンド上では処理が続く。1つしかAWSアカウントがない場合は自動でアカウント選択がされる

The only AWS account available to you is: xxxxxxxxxxxxxxx
Using the account ID xxxxxxxxxxxxxxx
The only role available to you is: AdministratorAccess
Using the role name "AdministratorAccess"

その後、再びリージョンなどを入力する。

CLI default client Region [None]: ap-southeast-2
CLI default output format [None]: json
CLI profile name [AdministratorAccess-xxxxxxxxxxxxxxx]:

全て入力するとプロファイルが作成される。

To use this profile, specify the profile name using --profile, as shown:

aws s3 ls --profile AdministratorAccess-xxxxxxxxxxxxxxx

プロファイルを確認する

cat ~/.aws/config
[profile AdministratorAccess-xxxxxxxxxxxxxxx]
sso_session = aichatbot-sso
sso_account_id = xxxxxxxxxxxxxxx
sso_role_name = AdministratorAccess
region = ap-southeast-2
output = json
[sso-session aichatbot-sso]
sso_start_url = https://XXXXXXXXXXXXX.awsapps.com/start
sso_region = ap-southeast-2
sso_registration_scopes = sso:account:access

完了。これでaws ecr-public get-login-passwordとかができるはず。
→ できた。
https://zenn.dev/tofucode/articles/b0f6282c323879

GitHubで編集を提案

Discussion