ロールを理解する
ロールを引き受ける流れと、信頼・操作権限・一時的認証情報の関係を学びます。
この単元で学ぶこと
- ロールとセッションの仕組みを説明する
- 信頼と操作権限を区別する
- 一時的認証情報を使う運用を選ぶ
本文解説
1. 引き受けるID ロールは特定の人の固定パスワードを持つIDではありません。許可された主体が引き受け、一定期間のセッションとして活動します。人だけでなく、EC2やLambda等のワークロードもロールを利用します。
2. 認証情報の取得 AssumeRole等でAWS STSから一時的認証情報を得ます。アクセスキーID、シークレットアクセスキー、セッショントークンを組として扱います。トークンを省いて長期キーと同じ二項目だけで利用しようとすると失敗します。
3. 信頼の設定 信頼ポリシーは誰がロールを引き受けるかを定義します。EC2向けなら対応するサービスを信頼します。別アカウントの人が引き受ける設計では、信頼側と呼出し側の許可を確認します。誰でも引き受けてよいという意味ではありません。
4. 操作の設定 ロールの権限ポリシーは、引受け後にS3を読む等の操作を定義します。信頼ポリシーにEC2があるだけで、すべてのS3読取りが許可されるわけではありません。必要なActionとResourceを絞ります。
5. EC2の具体例 ログ処理アプリがS3へ書き込む場合、EC2でロールを使いSDKに一時的認証情報を取得させます。IAMユーザーの長期キーをコードへ埋め込む必要を減らせます。ただしロールへ付ける権限が広ければ被害範囲も広くなるため、書込み先を限定します。
6. セッションの期限 一時的認証情報には有効期限があります。SDK等の適切な取得・更新経路を使い、起動時に取得した値を永久に固定保存しません。期限切れと権限不足は別の障害なので、エラー原因を分けて確認します。
7. AssumeRoleとPassRole AssumeRoleは主体がロールを引き受ける操作です。PassRoleは対応するAWSサービスへロールを渡す際の権限です。自分が別ロールへ切り替わることと、EC2等のサービスへ使うロールを指定することは異なります。
8. 利用状況の確認 ロールを使う操作はそのセッションの権限で評価され、元のユーザー権限を無条件に加算するものではありません。必要な操作の成功と不要な操作の拒否を試し、信頼する主体と付与する権限の両方を定期的に見直します。
図解
重要ポイント
- ロールは引受けにより一時的認証情報を使う。
- 誰が引き受けるかと何をできるかは別ポリシー。
- 期限と更新経路を管理する。
間違えやすい点
- ロールへ長期キーを作ると考える。
- 信頼されれば全APIを操作できると思う。
- PassRoleとAssumeRoleを同一視する。
用語解説
- AWS STS
- 一時的認証情報の取得に使うAWSのサービス。
- 信頼ポリシー
- ロールを引き受けられる主体や条件を定義する文書。
- セッショントークン
- 一時的認証情報に含まれる、セッションを示す値。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
- https://docs.aws.amazon.com/aws-certification/latest/cloud-practitioner-02/cloud-practitioner-02.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html
確認問題の出題・採点や学習履歴の保存にはログインが必要です。