本記事では、AWS CLI v2からAWS IAM Identity Centerにログインする手順をご案内します。
目次
- 前提条件
- 初期設定
- AWS CLI v2をインストールする
- セッションとプロファイルを作成する
- プロファイルを追加する
- ターミナルからAWS IAM Identity Centerにログインする
- 作成したプロファイルにログインする
前提条件
- OneLoginのライセンスプラン が SSO, Advanced, Professional または旧ライセンスプラン Starter, Enterprise, Unlimited のいずれかであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
- AWS IAM Identity Centerユーザーをお持ちであること
- AWS IAM Identity CenterとOneLoginのSAML認証が設定済みであること
- OneLoginのユーザーにAWS IAM Identity Centerのコネクタが割り当てられていること
初期設定
AWS CLI v2をインストールする
この章ではお使いのデバイスにAWS CLI v2をインストールする手順をご紹介します。
macOSの場合
この節では sudo アクセス許可があることを条件にデバイス上のすべてのユーザーに対してAWS CLI v2をインストールする手順をご紹介します。
-
ターミナルを開き、
% curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"を実行してファイルをダウンロードします。使用するオプションは以下の通りです
-o : ダウンロードしたパッケージを書き込むファイル名を指定します -
% sudo installer -pkg ./AWSCLIV2.pkg -target /を実行し、インストーラーを実行します。使用するオプションは以下の通りです
-pkg : インストールするパッケージの名前を指定します
-target : パッケージをインストールするドライブを指定します -
以下のコマンドを実行してインストール確認を行います。インストール先のディレクトリやバージョンが表示されましたらインストール完了です
% which aws /usr/local/bin/aws % aws --version aws-cli/2.22.0 Python/3.12.6 Darwin/23.3.0 exe/x86_64
Windowsの場合
この節ではソフトウェアをインストールするための管理者権限あることを条件にAWS CLI v2をインストールする手順をご紹介します。
-
コマンドプロンプトを開き、
C: msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msiを実行します -
C: aws --versionaws-cli/2.22.0 Python/3.12.6 Darwin/23.3.0 exe/x86_64を実行し、インストールされたバージョンが表示されることを確認します
AWS CLI v2をお使いのデバイスにインストールする手順は以上です。
セッションとプロファイルを作成する
この節ではSSOに必要なセッションとプロファイルを作成する手順をご紹介します
-
ターミナルを開き、
% aws configure ssoを実行します -
SSO session name (Recommended) : セッション名を実行します -
SSO start URL [None] : AWS access portal URLを実行します。AWS access portal URLはIAM Identity Center > Settings より確認可能です
-
SSO region [None] : 現在のリージョンを入力します。現在のリージョンはAWSのコンソールのURL(例:https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1)から確認できます
-
SSO registration scopes [None]: sso:account:accessを実行します -
セッションの作成が完了すると、ブラウザからIAM Identity Center アカウントのサインイン画面が開き、以下の認証画面が表示されます。ターミナルのコードと画面上のコードが一致していることを確認し、[Confirm and continue]をクリックします
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: JCLM-JZVX
- OneLoginのログイン画面が表示されるため、ログインします
- AWSアカウントへのデータアクセス許可が必要となりますので、[許可]をクリックします
- リクエストが承認されましたら、ブラウザのウインドウを閉じます
-
ターミナル上に表示されたリストから使用するAWSアカウントを選択します。 1 つのアカウントのみ使用している場合、そのアカウントが自動的に選択されます
There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@onelogin.jp (123456789011) ProductionAccount, production-account-admin@onelogin.jp (123456789022) -
表示されたリストから使用する権限セットを選択します。使用可能な権限セットが 1 つしかない場合、その権限セットが自動的に選択されます
There are 2 Roles available to you. > AdministratorAccess ReadOnlyAccess -
プロファイルを作成するために必要な情報を入力します
CLI default client Region [None] : コマンドを送信するリージョンを設定します。何も入力しない場合セッションと同じリージョンが使用されますCLI default client Region [None]: ap-northeast-1 -
AWS CLI default output format [None] : デフォルトの出力形式を設定します
CLI default output format [None]: json -
CLI profile name [123456789011_ReadOnly] : デフォルトのプロファイル名を設定します。何も入力しない場合、AWSアカウントIDと使用する権限セットに基づいた名前が使用されます
CLI profile name [123456789011_ReadOnly]: my-profile -
作成したセッションやプロファイル情報は
aws/configファイルに保存されます。このファイルを見ることでプロファイルに紐づいているセッションやプロファイルが使用する権限を確認することができます% cat ~/.aws/config [default] [sso-session my-session] sso_start_url = https://d-956745assd.awsapps.com/start sso_region = ap-northeast-1 sso_registration_scopes = sso:account:access [sso-profile my-profile] sso_session = my-session sso_account_id = 956879751234 sso_role_name = AdministratorAccess region = ap-northeast-1 output = json
プロファイルを追加する
この節ではプロファイルを追加する手順をご紹介します。新たにプロファイルを作成することで使用するAWSアカウントや権限セットを使い分けることが可能です。
プロファイルの追加は手動でaws/config ファイルを編集することでも可能ですが、今回はコマンドを使用した対話式での追加手順をご紹介します。
-
ターミナルを開き、
% aws configure ssoを実行します -
セッションとプロファイルを作成する 手順2にて指定したセッション名を入力します
SSO session name (Recommended): my-session -
セッションとプロファイルを作成する 手順6のブラウザでのIAM Identity Center アカウントのサインイン画面が開くため認証を行います。以降の設定は前節の手順を参考にプロファイルの作成まで行います
-
To use this profile, specify the profile name using --profile, as shown:aws s3 ls --profile my-profile-newと表示されればプロファイルの作成は完了です -
新たに作成したプロファイル情報が
aws/configファイルに追加されていることを確認します% cat ~/.aws/config [default] [sso-session my-session] sso_start_url = https://d-956745assd.awsapps.com/start sso_region = ap-northeast-1 sso_registration_scopes = sso:account:access [sso-profile my-profile] sso_session = my-session sso_account_id = 956879751234 sso_role_name = AdministratorAccess region = ap-northeast-1 output = json [profile my-profile-new] sso_session = my-session sso_account_id = 956879752986 sso_role_name = ReadOnlyAccess region = ap-northeast-1 output = json
AWS CLI v2 からAWS IAM Identity Centerにログインするための初期設定は以上です。
ターミナルからAWS IAM Identity Centerにログインする
この章ではターミナルソフトからAWS IAM Identity Centerにログインする手順をご紹介します。詳しい手順はAWS公式ドキュメントをご覧ください。
Configuring IAM Identity Center authentication with the AWS CLI
作成したプロファイルにログインする
この節ではセッションとプロファイルを作成する で作成したプロファイルにログインする手順をご紹介します。
-
セッションとプロファイルを作成する で作成したプロファイルを指定し、SSOを行います。ログインに成功すると以下の表示がされます
% aws sso login --profile my-profile 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://oidc.ap-northeast-1.amazonaws.com/authorize?response_type=code&client_id=M-5yoiq6LcVrfsTgbv2zGGFwLW5vcnRoZWFzdC0x&redirect_uri=http%3A%2F%2F127.0.0.1%3A52215%2Foauth%2Fcallback&state=78a39de9-6224-4d7e-b6e1-59fa38069b69&code_challenge_method=S256&scopes=sso%3Aaccount%3Aaccess&code_challenge=M4MY7NMuoc6chktSzxZM0xVh7gj7rSZZBciRjARMbDk Successfully logged into Start URL: https://d-956745decc.awsapps.com/start -
以下のコマンドでログインしているユーザー情報が確認できます
% aws sts get-caller-identity --profile my-profile { "UserId": "AROA55ST2J4NDC7QL5YX7:admin@onelogin.jp", "Account": "956879752123", "Arn": "arn:aws:sts::956879752123:assumed-role/AWSReservedSSO_AdministratorAccess_d00077e39e81e07b/admin@onelogin.jp" }
-
% aws sso logoutを実行し、セッションからログアウトします
ターミナルソフトからAWS IAM Identity Centerにログインする手順は以上です。