【AWS】IAMポリシーとIAMグループの活用

2025/01/17に公開

1. IAMポリシーの作成

  1. ポリシーの内容

    • EC2インスタンスの参照、開始、停止のみを許可するポリシーを作成。
    • 新しいインスタンスの作成は許可しない。
  2. 作成手順

    1. 管理者IAMユーザーでログイン
      • AWSマネジメントコンソールにアクセス。
      • 検索バーに「IAM」と入力し、IAMダッシュボードに移動。
    2. ポリシー作成を選択
      • 左メニューから「ポリシー」を選択し、「ポリシーを作成」をクリック。
    3. ポリシージェネレーターを使用
      • AWSポリシージェネレーターを検索し、アクセス。
      • エフェクト: 「Allow」を選択。
      • サービス: Amazon EC2 を選択。
      • アクション:
        • Describe*(参照系の操作)
        • StartInstances(インスタンスの開始)
        • StopInstances(インスタンスの停止)
      • リソース: *(全リソースを対象)。
    4. JSONコードを生成
      • ポリシージェネレーターで生成したJSONをコピー。
      • IAMコンソールのJSONタブに貼り付ける。
      • Describe* を適用するためにリソース部分をワイルドカード(*)に修正。
    5. ポリシー名の設定
      • 名前を「DevPolicy」と設定し、「ポリシーの作成」をクリック。

2. IAMユーザーの作成とポリシーの紐付け

  1. ユーザー作成手順

    1. IAMダッシュボードの「ユーザー」を選択。
    2. 「ユーザーを追加」をクリック。
    3. ユーザー名: 任意(例: DevUser)。
    4. アクセス設定:
      • AWSマネジメントコンソールへのアクセスを許可。
      • カスタムパスワードを設定。
    5. ポリシーの紐付け:
      • 検索バーで「DevPolicy」を検索し選択。
    6. 確認画面で「ユーザーを作成」をクリック。
  2. 動作確認

    • IAMユーザーでログイン。
    • EC2インスタンスの一覧表示、開始、停止ができることを確認。
    • 新規インスタンス作成時に権限不足エラーが発生することを確認。

3. IAMグループの作成と管理

  1. グループ作成手順

    1. IAMダッシュボードで「ユーザーグループ」を選択。
    2. 「グループを作成」をクリック。
    3. グループ名: 任意(例: DevGroup)。
    4. ポリシーの紐付け:
      • 作成済みの「DevPolicy」を選択。
    5. 「グループを作成」をクリック。
  2. グループへのユーザー追加

    • 新規ユーザー作成時に「グループに追加」を選択。
    • 例: DevUser2DevGroupに追加。
  3. 動作確認

    • グループに追加されたユーザーでログイン。
    • DevPolicyの権限が適用されていることを確認(インスタンスの参照、開始、停止は可能だが、作成は不可)。

4. ポイントと活用例

  1. IAMポリシーの活用

    • 独自のポリシーを作成して、必要な権限のみを付与。
    • JSON形式で柔軟に権限を設定可能。
  2. IAMグループの利点

    • 同じ権限を複数ユーザーに一括で適用。
    • ユーザーが増えても管理が簡単。
  3. 具体例

    • ポリシー: サーバーチームは「EC2参照と操作」のみ許可、データチームは「S3参照と操作」のみ許可。
    • グループ: 「開発者チーム」グループを作成し、新メンバーを追加するたびにポリシーを自動適用。

Discussion