AWS

AWSume(オースム)とは?AWS認証情報とIAMロール切替を効率化するCLIツール

AWSume(オースム)とは?AWS認証情報とIAMロール切替を効率化するCLIツール

AWSume(オースム)は、AWSの複数アカウント・複数IAMロールをコマンド一つで切り替えるためのCLIツールです。名前は「AWS Assume Made Awesome(ロール引き受けを快適に)」に由来し、AWSコンサルティング企業のTrek10がオープンソースで公開しています。aws sts assume-roleの一時認証情報の取得やMFA認証を肩代わりし、取得したクレデンシャルを実行中のシェルの環境変数へ直接反映するのが最大の特徴です。この記事では、AWSumeの仕組み・インストール・プロファイル切替とMFA運用、そしてaws-vaultなど類似ツールとの違いと採用判断までを整理します。

まとめ:AWSumeの要点

  • 正体:AWSのIAMロール引き受け(AssumeRole)とMFA認証をラップし、一時認証情報を現在のシェルの環境変数へ書き込むCLIツール(開発元Trek10、公式サイトawsu.me)。
  • 仕組み:サブシェルを起動せず、実行中のシェルにAWS_ACCESS_KEY_IDなどをexportする。この方式のため、Unix系ではドットソースするエイリアス設定が必須。
  • 導入:Python 3.5以上が前提。pipx install awsume(推奨)またはpip install awsumeでインストールし、エイリアスをログインスクリプトに設定する。
  • MFA:MFA認証済みクレデンシャルを最大12時間キャッシュし、ロール認証情報の失効時に再入力なしで更新できる。MFAはTOTPコード方式が前提で、FIDO/U2Fのセキュリティキーはコマンドライン認証では使えない。
  • 使い分け:頻繁なロール切替とMFA運用がある開発者向け。単発利用は標準のaws --profileで足り、秘匿性重視ならaws-vaultが候補になる。

AWSumeの仕組みと解決する課題

複数アカウント・ロール切替の煩雑さを解消する

AWSを本番・検証・開発などで複数アカウント運用したり、監査・管理用のIAMロールを引き受けて作業する構成では、都度aws sts assume-roleで一時認証情報を取得し、返ってきたアクセスキー・シークレット・セッショントークンを環境変数へ手作業でexportする必要があります。MFAが必須のロールではトークン入力も加わり、手順が長くなります。AWSumeはこの一連の流れをawsume <プロファイル名>の一行に集約します。

実行中のシェルへ環境変数を反映する方式

AWSumeは取得した一時認証情報を、実行中のシェルに次の環境変数として書き込みます。以降のAWS CLIやSDKは--profileを付けなくてもこの認証情報で動作します。

環境変数 内容
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY 一時認証情報のキー
AWS_SESSION_TOKEN セッショントークン
AWS_REGION / AWS_DEFAULT_REGION 対象リージョン
AWSUME_PROFILE / AWSUME_EXPIRATION 現在のプロファイル名と失効時刻

環境変数を「今のシェル」に焼き込むため、別プロセスとして子シェルを立ち上げるaws-vault execとは設計が異なります。この違いがそのままエイリアス必須の理由になります。

AWSumeのインストール(pipx導入とエイリアス設定)

pipx/pipでの導入手順

AWSumeはPython製で、Python 3.5以上が必要です。コマンドライン専用ツールを独立環境へ入れられるpipxが公式の推奨です。

# 推奨:pipx(ツールを隔離環境に導入)
pipx install awsume

# もしくは pip
pip install awsume

pipがバイナリを配置する場所がPATHに含まれている必要があります。インストール時、AWSumeは~/.bash_profileや~/.bashrcなどのログインスクリプトへエイリアスの自動追記を試みます。

エイリアス設定と対応シェル

Unix系シェルでは、現在のシェルに環境変数を反映させるためドットソース(.)で呼び出すエイリアスが必須です。

alias awsume=". awsume"

自動追記が行われた場合も、反映にはターミナルの再起動かログインスクリプトの再読み込みが必要です。対応シェルはBash・Zsh・Fish・PowerShell・Windowsコマンドプロンプトで、Windowsでも利用できます(シェルごとにエイリアス相当の設定方法が異なります)。

AWSumeの基本的な使い方

プロファイルの準備と切り替え

AWSumeは~/.aws/configと~/.aws/credentialsのプロファイルをそのまま使います。ロールを引き受けるプロファイルはsource_profileとrole_arnを指定します。

# ~/.aws/config
[profile dev]
source_profile = default
role_arn = arn:aws:iam::123456789012:role/DevRole
region = ap-northeast-1

この設定に対し、次のように実行するとdevプロファイルの一時認証情報が現在のシェルに設定されます。

awsume dev

環境変数の確認と解除

設定済みのプロファイルはecho $AWSUME_PROFILEで確認できます。作業を終えて認証情報をクリアするには--unsetを使います。別プロファイルへ切り替えたいときも、混在を避けるため一度解除してから再実行すると安全です。

awsume --unset

MFAとロール認証情報のキャッシュ

MFA付きプロファイルでの利用

プロファイルにmfa_serial(MFAデバイスのARN)を設定しておくと、AWSume実行時にMFAトークンの入力を求められます。スクリプトなどで対話入力を避けたい場合は--mfa-tokenでコードを直接渡せます。MFAはTOTPコードを生成するデバイスが前提で(公式ドキュメントは仮想MFAデバイスでの利用を案内)、FIDO/U2Fのセキュリティキーはコマンドライン認証では利用できません。

awsume dev --mfa-token 123456

キャッシュと自動更新(autoawsume)

AWSumeはMFA認証済みのクレデンシャルを最大12時間キャッシュします。ロールの一時認証情報が失効しても、AWSumeを再実行すればキャッシュ済みのMFA認証情報を使ってMFA再入力なしで新しいロール認証情報を取得できます。-a(--auto-refresh)を付けると、バックグラウンドでautoawsumeが起動し、認証情報を自動更新し続けます。長時間の作業で認証切れを避けたいときに有効です。

便利なオプションとプラグイン

コンソール表示や一覧などの主なオプション

オプション 用途
-l / –list-profiles 利用可能なプロファイルの一覧表示
-c / –console 現在の認証情報でマネジメントコンソールをブラウザで開く(別途 awsume-console-plugin の導入が必要)
-a / –auto-refresh autoawsumeによる認証情報の自動更新
–unset シェルのAWS環境変数をクリア
–mfa-token MFAコードを非対話で指定

プラグインはpipで追加でき、CLIの認証情報からそのままWebコンソールへ入れるconsoleプラグインなどがあります。SAML連携やプロファイルのあいまい一致(fuzzy matching)といった拡張も用意されています。

AWSumeの採用を見送るべきケースと注意点

AWSumeは万能ではありません。次の条件では、標準機能や別ツールの方が素直です。

  • CI/CDや共有サーバーなど非対話環境:エイリアスとログインスクリプトへの設定を前提とするため、パイプライン内ではaws sts assume-roleやGitHub ActionsのOIDC連携で直接ロールを引き受ける方が管理しやすい。
  • FIDO/U2Fのセキュリティキー運用:MFAはTOTPコード方式が前提で、FIDO/U2Fのセキュリティキーを必須とする組織のコマンドライン認証には合わない。
  • 単一プロファイルの単発利用:ロール切替やMFAが絡まないなら、標準のaws --profile 名前やAWS_PROFILE環境変数で十分。AWSumeが効くのは切替頻度が高い運用に限られる。
  • クレデンシャルの秘匿性を重視する場合:AWSumeは~/.awsの平文クレデンシャルを起点にする。長期キーをOSのキーチェーンに保管したいならaws-vaultが候補になる。

また、環境変数を現在のシェルへ焼き込む方式ゆえ、同じシェルで複数プロファイルを続けて使うと設定が残り事故につながります。切り替え時は--unsetを挟むか、別のシェルセッションで作業を分けてください。IAMやロール切替の前提整理には、Amazon Cognito(コグニート)とは?料金・できること・使い方のIAM・IAM Identity Centerとの違いの解説もあわせて参考になります。

よくある質問(FAQ)

AWSumeの意味・読み方は?

「AWS Assume Made Awesome」を縮めた造語で、一般に「オースム(awesome)」と読まれます。AssumeRole(ロールの引き受け)を快適にする、という意図が込められています。

AWSumeのインストール方法は?

Python 3.5以上を用意し、pipx install awsume(推奨)またはpip install awsumeで導入します。Unix系ではドットソースするエイリアスの設定が必要です。

aws-vaultとの違いは?

AWSumeは一時認証情報を現在のシェルの環境変数へ書き込む方式で、aws-vaultは認証情報をOSのキーチェーンに秘匿し、サブプロセスとして隔離実行する方式です。切替の手軽さを取るならAWSume、長期キーの保護を重視するならaws-vaultが向きます。

WindowsやPowerShellでも使えますか?

使えます。対応シェルはBash・Zsh・Fish・PowerShell・Windowsコマンドプロンプトです。シェルごとにエイリアス相当の設定が異なる点だけ注意してください。

AWSumeのGitHubリポジトリはどこですか?

開発元Trek10のリポジトリ(trek10inc/awsume)で公開されており、ドキュメントは公式サイトawsu.meにまとまっています。オプションやプラグインの最新仕様は公式ドキュメントで確認してください。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.15 テックブログ リゾートトラスト不正アクセス:会員2.6万件・カハラ横浜3.6万件の対象確認と窓口
  2. 2026.10.16 テックブログ バーガーキング不正アクセスで約1,118万件の情報漏洩|対象確認・案内メールの真偽と運営側のログ点検
  3. 2026.10.16 テックブログ ソースネクスト不正アクセスで最大2,252万件流出|ログインできない理由・パスワード再設定と会員APIの点検
  4. 2026.10.15 テックブログ 銀のさら不正アクセス:最大650万件の対象確認と窓口、パスワード変更の手順
  5. 2026.10.16 テックブログ ワラウ不正アクセスで連携トークン流出|Yahoo! JAPAN ID再連携と対象確認

RELATED POSTS 関連記事

目次