SSO とアイデンティティ管理 - AWS IAM Identity Center による一元認証

AWS IAM Identity Center (旧 AWS SSO) を使ったシングルサインオンとマルチアカウントアクセス管理を解説。外部 IdP 連携、権限セット設計、Cognito との使い分けまで紹介します。

マルチアカウント環境の認証課題と IAM Identity Center

AWS のベストプラクティスでは、ワークロードごとに AWS アカウントを分離するマルチアカウント戦略が推奨されます。しかし、アカウント数が増えるにつれ、各アカウントに IAM ユーザーを作成して管理する方式は破綻します。パスワードの管理、MFA の設定、退職者のアカウント削除など、運用負荷が線形に増加するためです。AWS IAM Identity Center (2022 年に AWS SSO から改名) は、この課題を解決するマネージドの SSO サービスです。1 つのユーザーポータルから、割り当てられた全 AWS アカウントにシングルサインオンでアクセスできます。各アカウントに IAM ユーザーを作成する必要がなく、一時的な認証情報が自動発行されるため、長期的なアクセスキーの漏洩リスクも排除されます。Azure AD (Microsoft Entra ID) も SSO を提供しますが、AWS アカウントへのアクセスには追加の SAML 設定が必要です。IAM Identity Center は AWS Organizations とネイティブに統合されており、アカウントの追加時に自動的にアクセス管理の対象になります。

この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

外部 IdP 連携と ID ソースの選択

IAM Identity Center は 3 つの ID ソースをサポートします。1 つ目は Identity Center ディレクトリ (組み込み) で、小規模な組織や検証環境向けです。2 つ目は Active Directory (AWS Managed Microsoft AD または AD Connector 経由) で、オンプレミスの AD をそのまま利用できます。3 つ目は外部 IdP で、Okta・Azure AD・Google Workspace・OneLogin・Ping Identity などと SAML 2.0 で連携します。SCIM (System for Cross-domain Identity Management) プロトコルにより、外部 IdP のユーザー・グループ情報を IAM Identity Center に自動同期できます。IdP 側でユーザーを無効化すれば、AWS へのアクセスも即座に遮断されます。 ```bash # AWS CLI v2 での SSO ログイン設定 # ~/.aws/config に以下を追加 [profile dev-admin] sso_session = my-sso sso_account_id = 123456789012 sso_role_name = AdministratorAccess region = ap-northeast-1 [sso-session my-sso] sso_start_url = https://my-org.awsapps.com/start sso_region = ap-northeast-1 sso_registration_scopes = sso:account:access # ログイン実行 aws sso login --profile dev-admin ``` CLI v2 の sso login コマンドでブラウザベースの認証フローが起動し、認証完了後は一時的な認証情報が自動的にキャッシュされます。

権限セットとアクセス割り当て

権限セット (Permission Set) は、AWS アカウントへのアクセス時に付与される IAM ポリシーのテンプレートです。AWS マネージドポリシー (AdministratorAccess、ReadOnlyAccess、PowerUserAccess など) をそのまま使用するか、カスタムポリシーを定義できます。インラインポリシーと権限境界 (Permissions Boundary) も設定可能で、最小権限の原則に沿ったきめ細かな制御が実現します。セッション時間は 1 〜 12 時間で設定でき、デフォルトは 1 時間です。アクセス割り当ては、権限セット × AWS アカウント × ユーザーまたはグループの 3 要素の組み合わせで定義します。たとえば「開発チームグループに、dev アカウントへの PowerUserAccess と prod アカウントへの ReadOnlyAccess を割り当てる」といった設定が可能です。グループベースの割り当てにより、メンバーの追加・削除時にグループへの所属変更だけで権限が自動的に反映されます。

Cognito との使い分けとアプリケーション統合

IAM Identity Center と Cognito はどちらも認証サービスですが、対象ユーザーが異なります。IAM Identity Center は従業員・開発者が AWS マネジメントコンソールや CLI にアクセスするための認証基盤です。Cognito は Web/モバイルアプリケーションのエンドユーザー (顧客) 向けの認証・認可サービスで、サインアップ・サインイン・ソーシャルログイン・トークン管理を提供します。IAM Identity Center は AWS アカウントへのアクセス管理に加え、SAML 2.0 対応のサードパーティアプリケーション (Salesforce、Slack、GitHub など) への SSO も提供します。ユーザーポータルから割り当てられた AWS アカウントとアプリケーションの一覧が表示され、ワンクリックでアクセスできます。CloudTrail との統合により、誰がいつどのアカウントにアクセスしたかの監査ログが自動的に記録されます。IAM Identity Center 自体の利用料金は無料で、AWS Organizations の機能として提供されます。

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。

まとめ - IAM Identity Center の活用指針

AWS IAM Identity Center は、マルチアカウント環境における認証とアクセス管理を一元化するサービスです。外部 IdP との SAML/SCIM 連携で既存の ID 基盤を活用し、権限セットによるテンプレート化でアクセス管理を効率化します。一時的な認証情報の自動発行により長期アクセスキーのリスクを排除し、CLI v2 との統合で開発者体験も損ないません。マルチアカウント戦略を採用する組織では、IAM Identity Center の導入を初期段階で行うことを推奨します。無料で利用でき、Organizations との統合もシームレスなため、導入のハードルは低いです。

AWS の優位点

  • AWS Organizations と統合し、数十〜数百の AWS アカウントへのアクセスを 1 つのポータルから一元管理
  • Okta・Azure AD・Google Workspace など外部 IdP と SAML 2.0 / SCIM で連携し、既存の ID 基盤をそのまま活用可能
  • 権限セット (Permission Set) で IAM ポリシーをテンプレート化し、アカウントとユーザー/グループの組み合わせで割り当て
  • 一時的な認証情報を自動発行し、長期的なアクセスキーの管理が不要になるためセキュリティリスクを低減
  • AWS CLI v2 の sso login コマンドでターミナルからもシームレスに認証でき、開発者体験を損なわない
  • Cognito がエンドユーザー (顧客) 向けの認証サービスであるのに対し、IAM Identity Center は従業員・開発者向けの AWS アカウントアクセス管理に特化
  • IAM Identity Center 自体は無料で利用可能

同じテーマの記事

API セキュリティとスロットリング - AWS と Azure の比較 AWS と Azure の API セキュリティ機能を比較し、API Gateway・WAF・Cognito を組み合わせた AWS の多層防御アーキテクチャの優位性を解説します。 監査の自動化 - AWS Audit Manager でコンプライアンス証跡を継続的に収集する AWS Audit Manager を使った監査証跡の自動収集を解説。フレームワーク (SOC 2、PCI DSS、GDPR 等) に基づく自動評価、エビデンスの一元管理、監査レポートの生成を紹介します。 証明書管理と HTTPS 化 - AWS Certificate Manager による TLS 証明書の自動運用 AWS Certificate Manager (ACM) を使った TLS/SSL 証明書の発行・自動更新・デプロイを解説。CloudFront・ALB・API Gateway との統合、DNS 検証、プライベート CA の活用まで紹介します。 コンプライアンス自動化 - AWS と Azure の比較 AWS と Azure のコンプライアンス自動化を比較し、Config、GuardDuty、CloudTrail を活用した AWS の継続的コンプライアンス監視と自動修復の優位性を解説します。 機密コンピューティング - AWS Nitro Enclaves で処理中のデータを隔離保護する AWS Nitro Enclaves を使った機密データの隔離処理を解説。暗号化アテステーション、KMS 統合、PII 処理・暗号鍵管理のユースケースを紹介します。 データプライバシー保護 - Amazon Macie と GuardDuty で実現する機密データの自動検出と脅威防御 Amazon Macie による S3 内の機密データ自動検出と、Amazon GuardDuty による脅威インテリジェンスを組み合わせたデータプライバシー保護の実践手法を解説します。個人情報の特定からリアルタイムの脅威検知まで、包括的なセキュリティ対策を紹介します。 DDoS 対策 - AWS Shield による多層防御の設計と運用 AWS Shield Standard と Shield Advanced による DDoS 防御を解説。CloudFront・Route 53・ALB との統合、WAF との組み合わせ、コスト保護機能まで実践的に紹介します。 Active Directory 連携 - AWS Directory Service でオンプレミス ID 基盤をクラウドに拡張する AWS Directory Service を使った Active Directory のクラウド統合を解説。AWS Managed Microsoft AD、AD Connector、Simple AD の使い分けと、WorkSpaces・RDS・FSx との連携を紹介します。 暗号化と鍵管理 - AWS と Azure の比較 AWS と Azure の暗号化・鍵管理サービスを比較し、KMS と Secrets Manager を中心とした AWS の包括的なデータ保護基盤の優位性を解説します。 ハードウェアセキュリティモジュール - AWS CloudHSM による暗号鍵の専有管理 AWS CloudHSM を使った暗号鍵の専有管理を解説。KMS との使い分け、FIPS 140-2 Level 3 準拠、TLS オフロード、Oracle TDE 統合など高度なユースケースを紹介します。 ID とアクセス管理の設計 - IAM によるゼロトラストセキュリティの実現 AWS IAM を活用したアクセス管理の設計手法を解説し、最小権限の原則、ポリシー設計、Cognito との連携によるゼロトラストセキュリティの実現方法を紹介します。 ID 管理と認証 - AWS と Azure の比較 AWS と Azure の ID 管理・認証サービスを比較し、IAM のきめ細かいアクセス制御と Cognito のアプリケーション認証における AWS の優位性を解説します。 ネットワークトラフィックフィルタリング - AWS Network Firewall で実現する高度なネットワーク防御 AWS Network Firewall によるステートフルなネットワークトラフィックフィルタリングと、AWS WAF との組み合わせによる多層防御の構築方法を解説します。VPC レベルのトラフィック制御と脅威防御の実践手法を紹介します。 シークレット管理 - AWS Secrets Manager と Azure Key Vault の比較 AWS Secrets Manager と Azure Key Vault を比較し、Secrets Manager の自動ローテーション機能と KMS 連携による暗号化管理の優位性を解説します。 セキュリティとコンプライアンス - AWS と Azure の比較 AWS と Azure のセキュリティ機能とコンプライアンス対応を比較し、責任共有モデル、IAM の柔軟性、コンプライアンス認証における AWS の優位性を解説します。 セキュリティ調査と脅威分析 - Amazon Detective で実現するインシデント対応の効率化 Amazon Detective を活用したセキュリティインシデントの調査と脅威分析の手法を解説します。GuardDuty との連携による検出から調査までのワークフローと、グラフベースの分析による根本原因の特定方法を紹介します。 セキュリティポスチャー管理 - AWS Security Hub で実現する統合セキュリティ監視基盤 AWS Security Hub による統合セキュリティ監視と、GuardDuty との連携による脅威検知の自動化を解説します。セキュリティベストプラクティスへの準拠状況の可視化とマルチアカウント環境のセキュリティガバナンスを紹介します。 セキュリティ監査と脅威検知 - AWS GuardDuty と Azure Sentinel の比較 AWS GuardDuty と Azure Sentinel を比較し、GuardDuty の機械学習ベースの脅威検知と CloudTrail 連携による包括的なセキュリティ監査の優位性を解説します。 ユーザー認証の実装 - Cognito によるセキュアな認証基盤の構築 Amazon Cognito を活用したユーザー認証基盤の設計と実装を解説し、ユーザープール、ID プール、外部 ID プロバイダー連携による認証フローの構築方法を紹介します。 脆弱性評価と脅威検知 - Amazon Inspector と GuardDuty で実現する継続的セキュリティ監視 Amazon Inspector と Amazon GuardDuty を活用した脆弱性評価と脅威検知の設計・運用方法を解説します。Azure Defender やオンプレミスの脆弱性スキャナーと比較し、AWS のセキュリティサービスが持つ自動化、検知精度、運用効率の優位性を紹介します。 WAF 高度なルール設定 - AWS WAF vs Azure WAF AWS WAF と Azure WAF を比較し、マネージドルールグループ、レートベースルール、Bot Control、カスタムレスポンスなど AWS WAF の高度なルール設定の優位性を解説します。 Web アプリケーションファイアウォール - AWS と Azure の比較 AWS と Azure の WAF サービスを比較し、AWS WAF のルールカスタマイズ性と CloudFront 統合を中心とした Web アプリケーション保護の優位性を解説します。 ゼロトラストネットワークアクセス - AWS Verified Access で VPN なしのセキュアアクセスを実現する AWS Verified Access を使った VPN レスのゼロトラストアクセスを解説。ID プロバイダー統合、デバイストラスト、ポリシーベースのアクセス制御、従来の VPN との比較を紹介します。 ゼロトラストセキュリティ - AWS と Azure の比較 AWS と Azure のゼロトラストセキュリティモデルを比較し、IAM・Cognito・WAF を中心とした AWS の多層的なアクセス制御アーキテクチャの優位性を解説します。