【AWS】IAMグループとIAMロールの違いを分かりやすく解説します

AWS全般

AWSでユーザを発行するために、IAMユーザを作成したのですが、権限はIAMグループでつけるのでしょうか。IAMロールというものもあり、違いが分かりません。

上記の疑問についてお答えします。私は現役のAWSエンジニアとして、5年近くAWS環境の設計や構築を行っています。また、AWS認定ソリューションアーキテクトアソシエイトの資格保持者です。

IAMグループとIAMロールの違いを分かりやすく解説

IAMグループとIAMロールの違いについて

初心者の方向けの説明となりますが、IAMグループとIAMロールの違いは下記の通りです。

・IAMグループ:IAMユーザに使用する権限グループとなります。
・IAMロール :IAMユーザではなく、AWSリソースに対して権限を付与するロールとなります。

上記より、IAMユーザに権限を付与する場合は、IAMグループを使用します。

IAMまわりの用語説明

・IAMユーザ
AWSを操作する為のユーザです。IAMユーザを発行すると、AWS環境へのログイン情報や認証情報が生成されます。サーバに認証情報を登録することで、AWS CLI等を使用して、サーバからAWSリソースにアクセスできるようになります。

・IAMグループ
IAMユーザの権限を、グループ単位で制御するために使用します。例えば、管理者権限を持つグループを作成し、管理者業務を行うユーザの、IAMユーザを管理者グループに所属させます。IAMグループの権限は、IAMポリシーをアタッチするとで付与できます。

・IAMロール
AWSリソースに対して、他のAWSリソースへの実行権限を付与する場合に使用します。権限はIAMポリシーのアタッチにて付与できます。例えば、EC2サーバからS3のファイルを取得できるようにするためには、S3のファイル取得権限を持つIAMロールを、対象のEC2サーバに割り当てます。

・IAMポリシー
AWSリソースに対する実行権限を記述したポリシーとなります。AWSが用意したポリシーが多々ありますが、利用者自身でカスタマイズすることも可能です。

IAMユーザへの権限追加方法

IAMユーザに対しては、直接IAMポリシーをアタッチすることが可能です。しかし、AWSではIAMユーザにIAMポリシーをアタッチする方法は推奨していません。AWSで推奨している方法は、IAMグループにIAMポリシーをアタッチし、IAMユーザをグループに所属させることです。実際の現場でも、IAMユーザにIAMポリシーを直接割り当てることは少ないです。

セキュリティ上の注意点

IAMユーザやIAMロールを作成するときの原則として、「必要最小限の権限しかアタッチしないこと」というものがあります。例えば、IAMユーザがEC2とS3だけしか操作しないのであれば、RDSやその他リソースを操作できる権限は不要しないということです。AWS環境構築の実業務では、基本的な考え方になります。

その他、IAMユーザについては、ログイン時にMFA(多要素認証)を設定することが可能です。AWSのルートアカウントやIAMユーザは、MFAの設定が推奨されています。セキュアな環境構築や運用が求められる現場では、MFAは必須の設定となっています。

まとめ

IAMグループとIAMロールの違いについて説明しました。IAMはAWSを使う上では必須の知識となります。知識が無いまま使用すると、セキュリティ上の危険が伴いますので、基本的な知識は覚えておきたいところです。

合わせて読みたい

タイトルとURLをコピーしました