✨
【AWS】IAMポリシーとIAMグループの活用
1. IAMポリシーの作成
-
ポリシーの内容
- EC2インスタンスの参照、開始、停止のみを許可するポリシーを作成。
- 新しいインスタンスの作成は許可しない。
-
作成手順
-
管理者IAMユーザーでログイン
- AWSマネジメントコンソールにアクセス。
- 検索バーに「IAM」と入力し、IAMダッシュボードに移動。
-
ポリシー作成を選択
- 左メニューから「ポリシー」を選択し、「ポリシーを作成」をクリック。
-
ポリシージェネレーターを使用
- AWSポリシージェネレーターを検索し、アクセス。
- エフェクト: 「Allow」を選択。
- サービス: Amazon EC2 を選択。
-
アクション:
-
Describe*
(参照系の操作) -
StartInstances
(インスタンスの開始) -
StopInstances
(インスタンスの停止)
-
-
リソース:
*
(全リソースを対象)。
-
JSONコードを生成
- ポリシージェネレーターで生成したJSONをコピー。
- IAMコンソールのJSONタブに貼り付ける。
-
Describe*
を適用するためにリソース部分をワイルドカード(*
)に修正。
-
ポリシー名の設定
- 名前を「DevPolicy」と設定し、「ポリシーの作成」をクリック。
-
管理者IAMユーザーでログイン
2. IAMユーザーの作成とポリシーの紐付け
-
ユーザー作成手順
- IAMダッシュボードの「ユーザー」を選択。
- 「ユーザーを追加」をクリック。
-
ユーザー名: 任意(例:
DevUser
)。 -
アクセス設定:
- AWSマネジメントコンソールへのアクセスを許可。
- カスタムパスワードを設定。
-
ポリシーの紐付け:
- 検索バーで「DevPolicy」を検索し選択。
- 確認画面で「ユーザーを作成」をクリック。
-
動作確認
- IAMユーザーでログイン。
- EC2インスタンスの一覧表示、開始、停止ができることを確認。
- 新規インスタンス作成時に権限不足エラーが発生することを確認。
3. IAMグループの作成と管理
-
グループ作成手順
- IAMダッシュボードで「ユーザーグループ」を選択。
- 「グループを作成」をクリック。
-
グループ名: 任意(例:
DevGroup
)。 -
ポリシーの紐付け:
- 作成済みの「DevPolicy」を選択。
- 「グループを作成」をクリック。
-
グループへのユーザー追加
- 新規ユーザー作成時に「グループに追加」を選択。
- 例:
DevUser2
をDevGroup
に追加。
-
動作確認
- グループに追加されたユーザーでログイン。
-
DevPolicy
の権限が適用されていることを確認(インスタンスの参照、開始、停止は可能だが、作成は不可)。
4. ポイントと活用例
-
IAMポリシーの活用
- 独自のポリシーを作成して、必要な権限のみを付与。
- JSON形式で柔軟に権限を設定可能。
-
IAMグループの利点
- 同じ権限を複数ユーザーに一括で適用。
- ユーザーが増えても管理が簡単。
-
具体例
- ポリシー: サーバーチームは「EC2参照と操作」のみ許可、データチームは「S3参照と操作」のみ許可。
- グループ: 「開発者チーム」グループを作成し、新メンバーを追加するたびにポリシーを自動適用。
Discussion