🔑 IAM ユーザーとは?
AWSアカウント内で作成される、固定のユーザー名とパスワード(またはアクセスキー)を持つ個人用アカウントです。長期的な認証情報を持ち、特定の人や自動化プロセスに割り当てられます。
- ユーザー名とパスワードでAWSコンソールにログイン
- アクセスキーでCLI/SDKからプログラム的にアクセス
- MFA(多要素認証)でセキュリティを強化可能
- IAMポリシーで細かく権限を制御
AWSを「セキュリティの厳しいオフィスビル」に例えて考えてみましょう
会社から発行された 自分専用の社員証 を持っている人。毎日その社員証でビルに入館し、決められたフロアにアクセスできます。
必要な時だけ受付で借りる 特別な役職バッジ 。「本日は経理部長代理」など、一時的に特定の権限を持てます。使い終わったら返却します。
パートナー企業の社員が 自社のIDカード で入館する仕組み。受付で身元確認後、ゲストバッジが発行されて必要なエリアにアクセスできます。
それぞれの特徴と使いどころを理解しましょう
AWSアカウント内で作成される、固定のユーザー名とパスワード(またはアクセスキー)を持つ個人用アカウントです。長期的な認証情報を持ち、特定の人や自動化プロセスに割り当てられます。
特定のユーザーに紐づかない、一時的に引き受ける(Assume)ことができる権限のセットです。認証情報は自動的に発行・更新・失効するため、セキュリティが高く、現在推奨されるベストプラクティスです。
社内のActive DirectoryやGoogleなどの外部IDプロバイダー(IdP)で認証されたユーザーが、そのIDを使ってAWSにアクセスする仕組みです。既存の認証基盤を活用でき、ユーザー管理が一元化できます。
どのユーザータイプも最終的にAWSリソースにアクセスします
| 比較項目 | 👨💼 IAMユーザー | 🎭 IAMロール | 🤝 フェデレーティッド |
|---|---|---|---|
| 認証情報の種類 | 永続的(パスワード/アクセスキー) | 一時的(STS トークン) | 一時的(外部IdP経由) |
| 認証情報の管理 | 手動で管理・ローテーション | 自動で発行・失効 | 外部IdPが管理 |
| セキュリティ | △ 漏洩リスクあり | ◎ 一時的で安全 | ◎ 一元管理で安全 |
| 適用対象 | 特定の人・プロセス | AWSサービス/人/外部 | 企業ユーザー |
| ユースケース | 個人開発者、CI/CDパイプライン | EC2、Lambda、クロスアカウント | 企業SSO、大規模組織 |
| 管理の手間 | ユーザーごとに管理が必要 | ロール定義のみ | IdPで一元管理 |
日常作業では絶対に使用せず、IAMユーザーまたはロールを使いましょう
可能な限りIAMロールを使用し、長期的な認証情報を避けましょう
IAMユーザーには必ず多要素認証を設定しましょう
大規模組織ではIAM Identity Centerでの一元管理がおすすめです
基本的にはIAMロールの使用が推奨されます。EC2やLambdaなどのAWSサービスにはロールを割り当て、人間のユーザーもIAM Identity Centerなどでロールを使う形が理想的です。IAMユーザーは、どうしても長期的なアクセスキーが必要な場合(一部のCI/CDツールなど)に限定しましょう。
既存のID管理システム(Active Directory、Okta、Google Workspaceなど)をそのまま活用できるため、ユーザーの追加・削除がAWS側で不要になります。退職者のアクセス権削除漏れなどのリスクも軽減できます。また、ユーザーは一つのパスワードで複数のシステムにアクセスできるため利便性も向上します。
たとえ話でいうと「受付で役職バッジを借りる」ことに相当します。技術的には、AWS STSに対して「このロールの権限を一時的に使わせてください」とリクエストし、許可されると一時的なセキュリティ認証情報が発行されます。この認証情報には有効期限があり、期限が切れると自動的に無効になります。
パスワードはAWSマネジメントコンソール(Webブラウザ)へのログインに使用します。一方、アクセスキー(アクセスキーIDとシークレットアクセスキー)はAWS CLIやSDKからプログラム的にAWSを操作する際に使用します。どちらも長期的な認証情報なので、定期的なローテーションとMFAの設定が重要です。
Created by SSuzuki1063
AWS SAP Learning Resources