【AWS】IAMロールの基本と活用

2025/01/17に公開

1. IAMロールの概要

  • IAMロールとは:
    • AWSリソース(例: EC2、Lambda)に一時的な権限を付与するための仕組み。
    • 他のリソースへの操作(例: S3バケットの参照、リソースの作成)を許可。
  • 特徴:
    • IAMユーザーとは異なり、AWSリソース自体に権限を割り当てる。
    • 必要な権限のみを付与することで、セキュリティを強化。

2. ハンズオン:IAMロールの作成と活用

ステップ1: IAMロールの作成

  1. 管理者ユーザーでログイン

    • AWSマネジメントコンソールにアクセス。
    • 検索バーに「IAM」と入力し、IAMダッシュボードに移動。
  2. 空のIAMロールを作成

    • 左メニューから「ロール」を選択し、「ロールを作成」をクリック。
    • ユースケース: 「EC2」を選択して「次へ」。
    • ポリシーの選択: ポリシーを選ばずに「次へ」。
    • ロール名: 「EC2Role」と設定し、「ロールを作成」をクリック。

ステップ2: IAMロールをEC2に割り当て

  1. EC2インスタンスにIAMロールを割り当て

    • EC2ダッシュボードでインスタンスを選択。
    • 「アクション」→「セキュリティ」→「IAMロールの変更」をクリック。
    • 作成した「EC2Role」を選択し、「IAMロールの更新」をクリック。
  2. EC2インスタンスに接続

    • EC2インスタンスを選択し、「接続」→「EC2インスタンスコネクト」を選択。
    • コンソールでCLI(コマンドラインインターフェース)にアクセス。
  3. 動作確認

    • aws ec2 describe-instances --region ap-northeast-1 を実行。
    • エラー: 「権限が足りない」ことを確認。

ステップ3: IAMロールに権限を付与

  1. IAMロールにポリシーを追加

    • IAMダッシュボードで「ロール」を選択。
    • 「EC2Role」をクリックし、「許可を追加」→「ポリシーをアタッチ」を選択。
    • 事前に作成した「DevPolicy」を選択し、「許可を追加」をクリック。
  2. 再度動作確認

    • EC2インスタンスに戻り、同じコマンドを実行。
    • 結果: JSON形式でインスタンスの情報が返されることを確認。

3. ポイント

  1. IAMロールの仕組み

    • AWSリソースに権限を付与する「帽子」のような役割。
    • 必要に応じて権限を付与し、セキュリティを向上。
  2. 実用例(オリジナル具体例)

    • バックアップ作業:
      • EC2がS3に定期的にデータをバックアップ。
      • IAMロールでEC2にS3への書き込み権限を付与。
    • ログ管理:
      • LambdaがCloudWatchにログを記録。
      • IAMロールでLambdaにログ書き込み権限を付与。
  3. 最小権限の原則

    • 必要な操作のみ許可するポリシーを作成。
    • 過剰な権限を付与しない。

4. まとめ

  • IAMロールはAWSリソースに権限を付与する便利な仕組み。
  • 権限を持たないリソースはエラーを返すため、適切なポリシーを付与。
  • 最小限の権限設定を心がけてセキュリティを保つ。

修正や追加の希望があれば教えてください!

Discussion