MENU

IAMロールは「必要な時だけ借りる役割」。STSの一時的な認証情報を整理した

サウナメッツァ大井町トラックスと、Smart Stay SHIZUKU。気になる大井町のサウナを調べたことエオ説明する画像

おはようございます、YASUです。

DVAの勉強で、「IAMロールを引き受ける」「一時的な認証情報」という言葉が何度も出てきます。意味をはっきりさせたかったので、シンプルに整理しました。

目次

結論

IAMロールは、必要な時だけ借りる「役割」です。ロールを引き受けると、STS(Security Token Service)が、期限付きの一時的な認証情報を発行してくれます。

IAMユーザーとIAMロールの違い

  • IAMユーザー:パスワードやアクセスキーのような、長期的な認証情報を持つ
  • IAMロール:自分の認証情報を持たない。必要な時に、引き受けて使う

自分なりのイメージでは、ユーザーは「自分の社員証」、ロールは「受付で、必要な間だけ借りる入館証」です。

ロールの2つのポリシー

  • 許可ポリシー:このロールで、何ができるか
  • 信頼ポリシー:誰が、このロールを引き受けられるか

前に整理したリソースベースのポリシーの1つが、この信頼ポリシーです。

引き受けると、一時的な認証情報が発行される

ロールを引き受けることを、AssumeRoleと呼びます。AssumeRoleを実行すると、STSが、次の3つの組み合わせを発行します。

  • アクセスキーID
  • シークレットアクセスキー
  • セッショントークン

この認証情報には、期限があります。AssumeRoleの場合、デフォルトは1時間で、最短は15分、最長はロールに設定した最大セッション期間までです。期限が切れたら、もう一度引き受け直します。

誰がロールを引き受けるのか

  • IAMユーザー(別のアカウントのユーザーも含む)
  • LambdaやEC2などの、AWSサービス

Lambdaの実行ロールも、Lambdaがロールを引き受けて、その権限で動く仕組みです。前に書いたCognitoのIDプールが、ユーザーに渡す一時的な認証情報も、STSが発行しています。

まとめ

  • IAMロールは、自分の認証情報を持たず、必要な時に引き受けて使う
  • ロールには、何ができるかを決める許可ポリシーと、誰が引き受けられるかを決める信頼ポリシーがある
  • AssumeRoleで、STSが期限付きの一時的な認証情報(アクセスキーID、シークレットアクセスキー、セッショントークン)を発行する
  • 期限は、デフォルト1時間、最短15分、最長はロールの最大セッション期間

「長期の鍵を持ち歩くより、一時的な鍵を借りる」という考え方を押さえると、IAMロールの意味がすっきりしました。それでは、また明日!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次