正解は「IAMロールをインスタンスプロファイルとしてアタッチ」です。IAMロールが正解の理由IAMロールをEC2にアタッチすると、アプリケーションは一時的な認証情報をインスタンスメタデータ経由で自動取得できます。この認証情報は短期間で自動ローテーションされるため、漏洩リスクが大幅に下がり、コードやサーバー内に長期的なシークレットを保存する必要が一切なくなります。AWS SDKはロールの認証情報を自動で探して使うため、コード変更もほぼ不要です。「EC2からAWSサービスへのアクセスにはIAMロール」はSAA-C03最頻出のベストプラクティスです。他の選択肢がダメな理由環境変数に移動: コード直書きよりはマシですが、長期的なアクセスキーが漏洩し得る構造は変わりません。インスタンスに入れる人は誰でも見られます。暗号化してS3に保存: その暗号化キーや取得権限の管理という新たな問題が生まれるだけで、根本解決になりません(卵が先か鶏が先かの状態)。共通IAMユーザー+手動ローテーション: 認証情報の共有は監査で個人を特定できなくなる典型的なアンチパターンです。手動運用はミスも招きます。「アクセスキーをどこに保存するか」という問いが出たら、答えは保存しない(=IAMロールを使う)が原則と覚えましょう。
教科書へ直接移動
読みたい分野を選べます