PR

【環境構築】AWS SSO 認証による AWS CLI のオススメ設定

AWS

この記事を読むのに必要な時間は 約6分 です。

こんにちは、しんじです。
皆さんは AWS 使っていますでしょうか?
わたしは、まだまだ初心者ですが、仕事(+趣味?)でいつもお世話になっております。

AWS (Amazon Web Service) では、以下のような便利なサービスを利用できます。

  • Amazon Bedrock:生成AIをサクッと利用、話題のRAGやエージェントも作れる!
  • Amazon SageMaker AI:機械学習にチャレンジしたり、とりあえずPython動かしたい方におすすめ
  • Amazon Transcribe:音声・動画データから文字起こし(テキストデータ抽出)したい
  • Amazon Polly:テキストデータから音声読み上げしたい

AWSは、他にも200を超える多くのサービスが提供していて、めっちゃ便利です!
利用するときには、ブラウザからログインして利用することができますが、プログラミングをする場合等では、 ターミナルコード から利用 することもできます。

今回は、ターミナルやコードからAWSを利用できるまでの手順をステップバイステップで解説していきます。
なお、AWSアカウント作成が完了している場合は、不要の操作もありますので、その場合は適宜スキップしてOKです。


AWS CLI インストール

ターミナルから AWS にアクセスするには、 AWS CLI が必要になります。
AWS CLI インストール/更新」から使用しているOSごとに手順がありますので、こちらを参考にして操作してみてください。

個人的には、最近 Devcontainer を使って開発をしていますが、その場合は features で指定すればOKです。
(参考)AWS CDKとPythonでの開発環境をDevcontainerで作成

AWS認証情報の設定

AWSアカウントを作成する

AWS公式サイト にアクセスし、アカウント作成ボタンから手続きを進めます。

  • Eメールアドレス
  • ログインに使用するパスワード
  • 連絡先情報(会社名、電話番号、住所等)
  • 請求情報(クレジットカード or デビットカード)
  • 本人確認(電話番号認証)
  • サポートプランを選択(基本は「無料プラン」でOK)

ここまでの作業で、 AWSマネジメントコンソールにログインできるようになります。

AWS Organization を利用開始する

AWS Organizationsを利用すると、複数のAWSアカウントを一元管理できるようになります。

1つのマスターアカウント(現在作成したアカウント)を起点に、
将来必要に応じて、開発用・検証用・本番用などのアカウントを作成し、整理できます。

Organizationsの有効化手順

  1. AWSマネジメントコンソールにログインします
  2. サービス一覧から「Organizations」を選択
  3. 「AWS Organizationsを利用開始」をクリック

これだけでOrganizationsの管理者アカウントになります。
最初は特に設定しなくてもOKですが、
後から「新しいアカウント作成」や「アカウントグループ分け(OU)」をしていくことが可能になります!

IAM Identity Center を設定する

Organizations の作成ができたら、次は IAM Identity Center を設定します。
IAM Identity Center を利用することで、IAMユーザーを直接作らずに一元的な認証管理ができるようになります。

(IAM Identity Centerを使わないと、従来のIAMユーザー/パスワード管理になり、セキュリティや管理負担が増えるため、必ず導入をおすすめします!)

Identity Centerのセットアップ手順

  1. コンソールから「IAM Identity Center」にアクセス
  2. 「設定を開始する」を選択
  3. 以下を順に設定します
    • アイデンティティソース(デフォルトのAWS管理型でOK)
    • ユーザーを追加(自分で利用するためのユーザを作成します)
      ⚠️ 二段階認証を有効にしましょう!
    • アクセス許可セットの作成(個人用であれば「AdministratorAccess」でOK)
    • アカウントにユーザ(グループでもOK)を追加
      このとき、ユーザに付与する許可セットも指定します

初期設定が完了すると、IAMユーザーを個別に発行せずに、AWSアカウントへのアクセスが管理できるようになります!

アクセスポータルからサインインする

IAM Identity Centerを設定すると、
AWSから 専用のサインイン用URL(アクセスポータル) が発行されます。

このURLを使えば、ユーザーは

  • IAMユーザー名やパスワードを直接覚えなくてもよい
  • シングルサインオンで複数アカウントを切り替えられる

といったメリットを得られます。

アクセスポータル利用手順

  1. AWSコンソールの「IAM Identity Center」画面から、アクセスポータルURLを確認
    ※ユーザ作成したときに通知されるメールにもアクセス用URLが記載されています
  2. ブラウザでアクセスポータルURLにアクセス
  3. 登録済みのユーザー名・パスワードでログイン
  4. 利用できるAWSアカウントやロールが一覧で表示され、簡単にアクセスできる!

AWS CLI に認証情報を設定する

アクセスポータルが利用できるようになったら、開発環境でAWSを利用するための認証情報の設定をしましょう。
ログインに必要なコマンド&情報は、IAM Identity Center を使用している場合はアクセスポータルから確認できます。

アクセスポータルからターミナル用のアクセスキーを設定する方法①
アクセスポータルからターミナル用のアクセスキーを設定する方法②

アクセスポータルの案内(推奨)を参考に、SSO認証に必要な情報を入力します。
(URL, Region, Profile名等)
Profile name は後で設定するときに使用するので、分かりやすい名称で設定しておくと良さそうです。

$ aws configure sso
SSO session name (Recommended): llm
SSO start URL [None]: https://d-123456aa90.awsapps.com/start/#
SSO region [None]: ap-northeast-1
SSO registration scopes [sso:account:access]:
〜ブラウザを起動して AWS SSO でログイン認証します〜
〜認証完了後に利用するアカウント等を選択します〜
Default client Region [None]: ap-northeast-1
CLI default output format (json if not specified) [None]: json
Profile name [AdministratorAccess-123456789012]: llm

途中でブラウザが開いて認証が完了した後、プロファイルをデフォルト設定します。

export AWS_DEFAULT_PROFILE=llm

この設定をしておくと、 aws cli コマンドを使用するときに --profile profile-name を入力せずに操作することができるようになります。

セッションが切れると AWS へのアクセスが出来なくなるので、万が一認証情報が漏れてもセキュリティを維持しやすくなります。

再度、AWSへの認証を行うときには、以下のコマンドを実行すると再認証できます。

aws sso login

まとめ

これまでの経験から AWS を使った開発環境の構築手順をまとめてみました。
AWSは便利なサービスが多いので、ぜひ使いこなしたいですよね。

なお、この記事は 2025年4月 時点での情報で作成しているため、今後のアップデートで変更になっている場合もあるので、ご注意ください。

コメント

タイトルとURLをコピーしました