🏢

オフィスビルで理解する3つのログイン方法

AWSを「セキュリティの厳しいオフィスビル」に例えて考えてみましょう

👨‍💼
正社員(社員証を持つ人)
= IAM ユーザー

会社から発行された 自分専用の社員証 を持っている人。毎日その社員証でビルに入館し、決められたフロアにアクセスできます。

🎭
役職バッジ(一時的な権限)
= IAM ロール

必要な時だけ受付で借りる 特別な役職バッジ 。「本日は経理部長代理」など、一時的に特定の権限を持てます。使い終わったら返却します。

🤝
外部企業からの訪問者
= フェデレーティッドユーザー

パートナー企業の社員が 自社のIDカード で入館する仕組み。受付で身元確認後、ゲストバッジが発行されて必要なエリアにアクセスできます。

📚 各ログイン方法の詳細

それぞれの特徴と使いどころを理解しましょう

👨‍💼
IAM ユーザー
永続的な認証情報

🔑 IAM ユーザーとは?

AWSアカウント内で作成される、固定のユーザー名とパスワード(またはアクセスキー)を持つ個人用アカウントです。長期的な認証情報を持ち、特定の人や自動化プロセスに割り当てられます。

  • ユーザー名とパスワードでAWSコンソールにログイン
  • アクセスキーでCLI/SDKからプログラム的にアクセス
  • MFA(多要素認証)でセキュリティを強化可能
  • IAMポリシーで細かく権限を制御

💼 主な利用シーン

開発者の個人アカウント 管理者アカウント CI/CD用サービスアカウント
🎭
IAM ロール
一時的な認証情報

🔄 IAM ロールとは?

特定のユーザーに紐づかない、一時的に引き受ける(Assume)ことができる権限のセットです。認証情報は自動的に発行・更新・失効するため、セキュリティが高く、現在推奨されるベストプラクティスです。

  • 一時的なセキュリティ認証情報(STS)を使用
  • EC2インスタンスやLambda関数に権限を付与
  • クロスアカウントアクセスに活用
  • 認証情報の自動ローテーションで安全

💼 主な利用シーン

EC2からS3へのアクセス Lambda関数の実行権限 別AWSアカウントへのアクセス
🤝
フェデレーティッド
外部認証連携

🌐 フェデレーティッドユーザーとは?

社内のActive DirectoryやGoogleなどの外部IDプロバイダー(IdP)で認証されたユーザーが、そのIDを使ってAWSにアクセスする仕組みです。既存の認証基盤を活用でき、ユーザー管理が一元化できます。

  • SAML 2.0やOIDCで外部IdPと連携
  • AWS IAM Identity Center(旧AWS SSO)で統合管理
  • 既存の企業ID管理システムを活用
  • シングルサインオン(SSO)で利便性向上

💼 主な利用シーン

企業のSSO環境 Google/Oktaでのログイン 大規模組織のID管理

🔄 AWSへのログインフロー

どのユーザータイプも最終的にAWSリソースにアクセスします

👤
ユーザー
アクセスを要求
🔐
認証
本人確認を実施
📋
認可
権限をチェック
☁️
AWSリソース
操作を実行

📊 3つのユーザータイプ比較表

比較項目 👨‍💼 IAMユーザー 🎭 IAMロール 🤝 フェデレーティッド
認証情報の種類 永続的(パスワード/アクセスキー) 一時的(STS トークン) 一時的(外部IdP経由)
認証情報の管理 手動で管理・ローテーション 自動で発行・失効 外部IdPが管理
セキュリティ △ 漏洩リスクあり ◎ 一時的で安全 ◎ 一元管理で安全
適用対象 特定の人・プロセス AWSサービス/人/外部 企業ユーザー
ユースケース 個人開発者、CI/CDパイプライン EC2、Lambda、クロスアカウント 企業SSO、大規模組織
管理の手間 ユーザーごとに管理が必要 ロール定義のみ IdPで一元管理

✅ ベストプラクティス

🚫

ルートユーザーは使わない

日常作業では絶対に使用せず、IAMユーザーまたはロールを使いましょう

🔄

ロールを優先的に使用

可能な限りIAMロールを使用し、長期的な認証情報を避けましょう

🔐

MFAを必ず有効化

IAMユーザーには必ず多要素認証を設定しましょう

🏢

企業はフェデレーションを検討

大規模組織ではIAM Identity Centerでの一元管理がおすすめです

❓ よくある質問

IAMユーザーとIAMロールはどちらを使えばいいですか?

基本的にはIAMロールの使用が推奨されます。EC2やLambdaなどのAWSサービスにはロールを割り当て、人間のユーザーもIAM Identity Centerなどでロールを使う形が理想的です。IAMユーザーは、どうしても長期的なアクセスキーが必要な場合(一部のCI/CDツールなど)に限定しましょう。

フェデレーションを使うメリットは何ですか?

既存のID管理システム(Active Directory、Okta、Google Workspaceなど)をそのまま活用できるため、ユーザーの追加・削除がAWS側で不要になります。退職者のアクセス権削除漏れなどのリスクも軽減できます。また、ユーザーは一つのパスワードで複数のシステムにアクセスできるため利便性も向上します。

「ロールを引き受ける(Assume Role)」とはどういう意味ですか?

たとえ話でいうと「受付で役職バッジを借りる」ことに相当します。技術的には、AWS STSに対して「このロールの権限を一時的に使わせてください」とリクエストし、許可されると一時的なセキュリティ認証情報が発行されます。この認証情報には有効期限があり、期限が切れると自動的に無効になります。

アクセスキーとパスワードの違いは何ですか?

パスワードはAWSマネジメントコンソール(Webブラウザ)へのログインに使用します。一方、アクセスキー(アクセスキーIDとシークレットアクセスキー)はAWS CLIやSDKからプログラム的にAWSを操作する際に使用します。どちらも長期的な認証情報なので、定期的なローテーションとMFAの設定が重要です。

Created by SSuzuki1063

AWS SAP Learning Resources