目次
IAM RoleとAssumeRoleの違いのまとめ
| 種別 | 目的 | 使用者 | |
|---|---|---|---|
| IAM Role | AWSリソース(モノ) | 権限の定義・管理 | EC2, Lambda, 他アカウント, ユーザー等 |
| AssumeRole | API操作(アクション) | ロールを一時的に取得する | ロールを利用したいエンティティ |
AssumeRoleは、必要なときに一時的な鍵でRoleの権限を行使できます。
IAM Roleとは
IAM Roleとは、特定の個人(ユーザー)やサービスに固定されない権限の集まり(器)です。
特徴
- ログイン用のパスワードやアクセスキーを持ちません。
- 許可された人やプログラムであれば、誰でもそのロールの権限を借りることができます。
- 用途として、EC2インスタンスにS3へのアクセスを許可する、別のアカウントのユーザーに自社のリソース操作を許可するといった場合に使われます。
構成要素
| Trust Policy (信頼ポリシー) |
誰がこのロールを引き受けられるか |
| Permission Policy (権限ポリシー) |
このロールで何ができるか |
AssumeRoleとは
AssumeRoleとは、ユーザーやプログラムがIAM Roleの権限を借りるために実行するAPI操作(アクションです。
使われ方
- AssumeRole(ロールを引き受ける)というリクエストを送ります。
- AWSから一時的なセキュリティ認証情報(アクセスキー、シークレットキー、セッショントークン)が発行されます。
- この一時的な鍵は、通常1時間などの短時間で無効になります。
sts:AssumeRoleのstsとは
STS (Security Token Service) は、AWSが提供する一時的な認証情報(クレデンシャル)を発行するサービスです。
通常のIAM Userは長期的な認証情報(アクセスキー)を持ちますが、STSは有効期限付きの一時認証情報を発行します。
STSが返す一時認証情報の3点セット
この3つをセットで使うことで、有効期限内だけAWSリソースにアクセスできます。
| 項目 | 説明 |
|---|---|
| AccessKeyId | アクセスキーID |
| SecretAccessKey | シークレットキー |
| SessionToken | 一時セッションのトークン(これがSTSの特徴) |
関連の記事
