AWS STS (Security Token Service) 主な API
① GetSessionToken
-
用途: 一時的なセッション認証情報を取得する
-
使う場面:
- IAM ユーザーが MFA 認証付きで一時クレデンシャルを発行する場合
-
特徴:
- IAM ユーザー or AWS アカウントルートユーザー が実行可能
- 通常は MFA デバイスを指定して多要素認証付きの一時的クレデンシャルを取得する
② AssumeRole
-
用途: IAM ロールを引き受け、そのロールに紐づいた一時的クレデンシャルを取得する
-
使う場面:
- クロスアカウントアクセス
- EC2 から IAM ロールを利用する場合
-
特徴:
- IAM ユーザーや別のロールから呼び出して、指定したロールに「切り替える」
③ AssumeRoleWithSAML
-
用途: SAML 2.0 IdP(例: ADFS, Okta, Azure AD)を使ってフェデレーションログインし、その結果で IAM ロールを引き受ける
-
使う場面:
- 企業の社内認証基盤(SSO)から AWS にログイン
-
特徴:
- SAML Assertion を入力にして一時的クレデンシャルを取得する
④ GetFederationToken
-
用途: IAM ユーザーが「一時的な認証情報」を発行して、外部ユーザーに渡す
-
使う場面:
- アプリケーションから外部ユーザーに対して、制限付きの AWS リソースアクセス権を一時的に付与する場合
-
特徴:
- IAM ユーザーが API を呼び出す必要あり
- 直接的には「外部認証基盤からのシングルサインオン」には使わない
🔑 まとめ表
| API | 実行者 | 入力 | 主な用途 |
|---|---|---|---|
| GetSessionToken | IAMユーザー/ルートユーザー | MFA情報など | MFA付きセッション取得 |
| AssumeRole | IAMユーザー/ロール | Role ARN | クロスアカウント / 権限切替 |
| AssumeRoleWithSAML | SAML IdP ユーザー | SAML Assertion | SSO / フェデレーション |
| GetFederationToken | IAMユーザー | 任意のポリシー | 外部ユーザーに一時的アクセス付与 |