IAMロールとサービスロールの違いが、わかりにくかったので、整理してみました。
違いを理解することで、適切なセキュリティ設計を行う事が出来るでしょう。
ポイント
最小権限の原則の適用
IAMロール は、 特定のユーザーやアプリケーションに一時的な権限を与えるため、必要最小限の権限を付与できる。「最小権限の原則」を実現し、セキュリティを向上させる。
サービスロール は、信頼ポリシーが設定されており、必要なアクセス権のみを持つため、不要な権限を削減できる。
セキュリティの向上
IAMロール は、ユーザーやアプリケーションに対するアクセスを一時的に制御するため、不要な権限が永続的に残るリスクを軽減する。
サービスロール は、AWSサービスが他のサービスへのアクセスに使用するための信頼性が確保された一意の資格情報が使用される。
IAMロールとサービスロールの違い
項目 | IAM ロール | サービスロール |
---|---|---|
用途 | AWS リソースへのアクセス権を付与するためのロール | AWS サービス(EC2、Lambda など)が他のサービスにアクセスするためのロール |
主体 | ユーザーアカウント、他のロール、AWS サービス | AWS サービス自体 |
割り当て先 | ユーザーまたはグループ | サービス |
アクセス許可ポリシー | 一般的なアクセス許可ポリシー、カスタムポリシーなど | サービスによって事前に定義されたポリシーを使用 |
外部から信頼されるエンティティ | 他の AWS アカウントや外部 ID を信頼することができる | 信頼されるエンティティは AWS サービスのみ |
セッションの期間 | 一時的なセッションが可能 | 固定された期間または無期限 |
フェデレーション | クロスアカウントへのアクセス、一時的なセッションに使用可能 | サービスが他のサービスへのアクセスに使用 |