4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

本記事はAWS IAM Identity Center環境におけるAWS CLIの利用方法について記載しています。

AWS IAM Identity Centerを利用している環境でAWS CLIを使用する際は、profileを使い分けて操作するなどの運用が発生すると思います。

本記事ではIAM ロールを利用して、他のアカウントにログインすることなく、コマンドを実行するtipsを記載しています。

CLI + SSO

AWS IAM Identity Center環境におけるAWS CLIの設定については、公式ドキュメントのAWS IAM Identity Center (successor to AWS Single Sign-On) を使用するための AWS CLI の設定より確認できます。

SSOログイン

前提として、ホームディレクトリ以下の~/.aws/configファイルには以下のような設定が必要です。(※アカウントIDは例)

[profile AWSAdministratorAccess-123456789012]
sso_start_url = https://[yourdirectory].awsapps.com/start
sso_region = ap-northeast-1
sso_account_id = 123456789012
sso_role_name = AWSAdministratorAccess

以下のように--profileを指定してSSO ログインを行います。

$ aws sso login --profile AWSAdministratorAccess-123456789012

SSOログイン後、引き続き--profileを指定することでAWS CLIを使用することができます。

以下の例ではGetCallerIdentityのAPIを呼び出して、認証情報が使用されるIAM ユーザーまたはロールに関する詳細が確認できます。

$ aws sts get-caller-identity --profile AWSAdministratorAccess-123456789012

IAMロール

AWSアカウント123456789012から、999999999999のAWSアカウントのロールを切り替えて操作したい場合は、~/.aws/configファイルに以下の設定を追記します。

[profile assume]
source_profile = AWSAdministratorAccess-123456789012
role_arn = arn:aws:iam::999999999999:role/AWSControlTowerExecution

以下のコマンドを実行すると、AWSアカウント999999999999に関する認証情報の結果が確認できます。

aws sts get-caller-identity --profile assume

AWSControlTowerExecutionは、Control Towerで使用されるロールです。

おわりに

AWS IAM Identity Centerを利用している環境で複数のアカウントを管理している方は、知っておくと便利だと思います。

参考

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?