EC2 にインスタンスプロファイル(IAMロール)を付与してキーレス運用

EC2 インスタンスに IAM ロール(インスタンスプロファイル)を付与し、アクセスキーを一切置かずに S3 へ安全にアクセスする方法を学びます。一時クレデンシャルの仕組みと最小権限ポリシーの作り方、Session Manager によるキーレス接続も確認します。

中級45Azure 実環境

ラボ概要

EC2 インスタンス上のアプリケーションから S3 などの AWS サービスを呼び出すとき、アクセスキーをサーバーに置くのはセキュリティ上の大きなリスクです。本ラボでは IAM ロール(インスタンスプロファイル)を EC2 に付与し、アクセスキーをまったく保存せずに、自動でローテーションされる一時クレデンシャルだけで S3 にアクセスする「キーレス運用」を体験します。接続も SSH キーを使わず、Session Manager 経由のキーレス接続で行います。

学習目標

  • EC2 用の IAM ロールとインスタンスプロファイルの関係を理解する
  • S3 への最小権限ポリシーを作成して IAM ロールに付与する
  • Session Manager で接続するために必要な SSM 権限を理解する
  • 起動済みの EC2 インスタンスにインスタンスプロファイルをアタッチする
  • インスタンスメタデータサービス(IMDSv2)経由で一時クレデンシャルが自動配布される仕組みを確認する
  • アクセスキーを一切置かずに S3 バケットを操作できることを検証する

前提

  • federated console に cloud_user ロールでサインイン済みであること
  • すべての操作を東京リージョン(ap-northeast-1)で行うこと(IAM のみグローバル)

ラボの構成

  1. 1検証用の S3 バケットを作成する
  2. 2EC2 用の IAM ロールを作成する
  3. 3最小権限の S3 ポリシーをロールに付与する
  4. 4EC2 インスタンスを起動する
  5. 5ロールが無い状態を確認する(キーレスの効果を実感する)
  6. 6起動済みインスタンスにインスタンスプロファイルをアタッチする
  7. 7Session Manager で接続し、一時クレデンシャルの自動配布を確認する
  8. 8キーレスで S3 を操作する
  9. 9(任意)最小権限の効果を確認する
  10. 10動作確認
  11. 11完了チェックリスト
  12. 12後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース

参考リンク