AWS Single Sign-On (SSO) 完全ガイド - 統合認証とアクセス管理

AWS Single Sign-On(現在はAWS IAM Identity Center)は、複数のAWSアカウントやアプリケーションに対して統合認証を提供するマネージドサービスです。従業員が一度認証を行うことで、許可されたすべてのアプリケーションとAWSアカウントにシームレスにアクセスできる環境を構築します。

AWS SSOの基本概念

統合認証(Single Sign-On)とは

統合認証は、ユーザーが一度の認証で複数のアプリケーションやサービスにアクセスできる仕組みです。従来の個別認証と比較して、以下のような利点があります。

AWS SSOの主要コンポーネント

1. アイデンティティソース

ユーザーとグループの情報が格納される場所です。以下の選択肢があります:

アイデンティティソース特徴使用場面
AWS SSO内蔵ストアAWS SSO内でユーザー管理小規模組織、シンプルな管理
Active DirectoryオンプレミスADとの連携既存AD環境の活用
外部IDプロバイダーAzure AD、Okta等との連携既存のクラウドID基盤活用

2. 許可セット(Permission Sets)

AWSアカウント内での権限を定義するテンプレートです。IAMロールの設計図として機能します。

yaml
許可セットの構成例:
  開発者セット:
    - 開発用AWSアカウントのEC2、S3アクセス
    - CloudWatchログ参照権限
    - 本番環境への読み取り専用アクセス
  
  管理者セット:
    - 全AWSアカウントの管理者権限
    - セキュリティ関連設定権限
    - 課金・コスト情報アクセス
  
  監査者セット:
    - 全アカウントの読み取り専用権限
    - ログとメトリクスへのアクセス
    - コンプライアンス関連情報参照

3. AWSアカウント割り当て

ユーザーやグループが特定のAWSアカウントにアクセスできるよう権限を割り当てる機能です。

4. アプリケーション統合

SAML 2.0やOIDCに対応したアプリケーションとの連携機能です。

実装アーキテクチャ

基本的なアーキテクチャ構成

セキュリティとコンプライアンス

AWS SSOは、企業レベルのセキュリティ要件を満たす多層的な保護機能を提供します。

多要素認証(MFA)

AWS SSOは複数のMFA方式をサポートしています:

MFA方式特徴セキュリティレベル
TOTPアプリスマートフォンアプリ使用
SMS/音声電話番号を使用
ハードウェアトークン物理デバイス最高

セッション管理

  • セッション時間の制御
  • アイドルタイムアウト設定
  • 同時セッション数制限
  • デバイス記憶機能の制御

導入・設定手順

AWS SSOの有効化

AWSマネジメントコンソールから以下の手順で設定します:

  1. AWS SSO コンソールへのアクセス

    • AWSコンソールでAWS SSOサービスを検索
    • 「有効化」ボタンをクリック
  2. アイデンティティソースの選択

    • 内蔵ストア、Active Directory、外部IDプロバイダーから選択
    • 組織の既存インフラに応じて最適な選択肢を決定
  3. MFAの設定

    • 組織のセキュリティポリシーに応じてMFA要件を設定
    • ユーザーごと、グループごと、またはグローバルレベルで設定可能

ユーザーとグループの管理

ユーザー作成の考え方

  • 一意のユーザー名とメールアドレスが必要
  • 初期パスワードは一時的なものを設定し、初回ログイン時に変更を強制
  • 適切なグループへの所属により権限管理を簡素化

グループ設計のベストプラクティス

職務や責任範囲に基づいてグループを設計することで、効率的な権限管理が可能になります:

yaml
推奨グループ構造:
  機能別グループ:
    - Developers(開発者)
    - QA-Engineers(品質保証)
    - DevOps-Engineers(運用)
    - Security-Team(セキュリティ)
  
  レベル別グループ:
    - Senior-Staff(上級スタッフ)
    - Junior-Staff(初級スタッフ)
    - Contractors(外部委託)
  
  プロジェクト別グループ:
    - ProjectA-Team
    - ProjectB-Team
    - Internal-Tools

許可セットの設定

許可セットは、AWSアカウント内でユーザーが実行できるアクションを定義します。

基本的な許可セット例

開発者向け許可セット:

  • EC2インスタンスの作成・管理権限
  • S3バケットへのアクセス権限
  • CloudWatchログの参照権限
  • RDSインスタンスの参照権限

管理者向け許可セット:

  • ほぼすべてのAWSサービスへのフルアクセス
  • IAM権限管理(ただし、SSOの管理は除く)
  • 課金情報へのアクセス

アプリケーション統合

SAML 2.0アプリケーション

AWS SSOは標準的なSAML 2.0プロトコルをサポートしており、多くの企業アプリケーションと統合できます。

一般的な統合アプリケーション

  • Microsoft 365: メール、SharePoint、Teamsなど
  • Salesforce: CRM機能全般
  • Atlassian Suite: Jira、Confluence
  • Google Workspace: Gmail、Google Drive
  • Slack: チームコミュニケーション

カスタムアプリケーション統合

独自開発のアプリケーションもSAML 2.0やOIDCに対応することで統合可能です。

監視と管理

ログとメトリクス

AWS SSOの利用状況は以下の方法で監視できます:

CloudTrail ログ

  • ユーザーのログイン・ログアウト記録
  • 許可セットの変更履歴
  • アカウント割り当ての変更記録

CloudWatch メトリクス

  • 成功・失敗したログイン試行回数
  • アクティブセッション数
  • MFA利用状況

セキュリティ監査

定期的なセキュリティ監査項目:

監査項目頻度確認内容
ユーザーアクセスレビュー月次不要なアクセス権限の確認
許可セット最適化四半期過剰な権限の削除
MFA利用状況週次MFA未設定ユーザーの確認
異常ログイン監視日次地理的に異常なアクセスの検出

運用上の考慮事項

パフォーマンスと可用性

AWS SSOはAWSの高可用性インフラストラクチャ上で動作するため、以下の特性を持ちます:

  • 99.9%以上の可用性: AWS SLAに基づく高可用性
  • グローバル分散: 複数のAWSリージョンでの冗長化
  • 自動スケーリング: ユーザー数増加に対する自動対応

コスト最適化

AWS SSOの料金体系と最適化のポイント:

yaml
料金要素:
  基本機能: 無料
  - AWS SSOの基本認証機能
  - 無制限のAWSアカウント統合
  - 内蔵ストアでのユーザー管理
  
  有料機能:
  - 外部IDプロバイダー連携(月額ユーザー単価)
  - 高度な監査ログ機能
  - カスタム属性の拡張

障害時の対応

AWS SSOに障害が発生した場合の代替アクセス方法:

  1. 緊急用IAMユーザー: 事前に設定した緊急アクセス用ユーザー
  2. ルートアカウント: 最終手段としてのルートアカウントアクセス
  3. クロスアカウントロール: 他のAWSアカウントからのAssumeRoleアクセス

まとめ

AWS Single Sign-On(IAM Identity Center)は、企業の認証基盤として多くのメリットを提供します。統合認証により生産性向上とセキュリティ強化を同時に実現でき、管理者にとっても効率的な権限管理が可能になります。

導入時は組織の既存システムとの連携を慎重に検討し、段階的な展開を通じて安定した運用基盤を構築することが重要です。適切な監視と定期的な見直しにより、長期的に安全で効率的な認証環境を維持できます。


参考資料: