type
status
date
slug
summary
tags
category
icon
password
理論
1. AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD)
- AWS Directory Service for Microsoft Active Directory(AWS Managed Microsoft AD)は、AWS クラウドで Active Directory(AD)をホストできるサービスです。これにより、既存の Active Directory 環境をクラウドに移行し、Microsoft AD のドメインと同じように管理できます。
- 企業が既存の Active Directory をクラウドで使用している場合、ユーザー認証やアクセス管理をクラウド内で行えるため、オンプレミスの Active Directory 環境と統合して一貫した管理が可能です。
2. Application Load Balancer (ALB) の認証機能
- ALB は、HTTP および HTTPS ベースのアプリケーションのトラフィックを管理するロードバランサーです。ALB は、特に Web アプリケーションのトラフィックを処理し、リクエストのルーティングを効率的に行います。
- ALB には、認証機能が組み込まれており、OIDC (OpenID Connect) や Cognito などを使ってユーザー認証を行うことができます。これにより、ALB がアプリケーションの前段階でユーザー認証を担当し、セキュリティを強化できます。
3. OIDC(OpenID Connect)認証
- OIDC は、OAuth 2.0 の拡張で、ID プロバイダーと Web アプリケーション間でユーザー認証を行うためのプロトコルです。OIDC は、アプリケーションがユーザーの身元を確認するための標準的な方法を提供します。
- ALB では、OIDC プロバイダーを設定することができ、これにより Active Directory やその他の ID プロバイダーを使ってアプリケーションのユーザーを認証できます。
4. Cognito と AWS Directory Service の違い
- Amazon Cognito は、ユーザー管理や認証、認可をクラウドベースで提供するサービスです。Cognito は主にウェブアプリケーションやモバイルアプリケーション向けのユーザー認証に使われますが、AWS Directory Service はオンプレミスの Active Directory 環境のクラウド版であり、既存の企業ディレクトリとの統合に強みがあります。
- Cognito と AWS Directory Service は異なるユースケースに対応しており、ALB で使用する場合、それぞれに適した認証アクションを選択する必要があります。
5. IAM ロールと SAML 2.0
- IAM ロール は、AWS のリソースにアクセスするためのアクセス許可を定義するために使われます。SAML 2.0 は、シングルサインオン (SSO) のための標準的な認証フレームワークです。SAML は、特に外部 IdP(例:Active Directory)との連携をサポートし、AWS IAM で設定したロールを通じてアクセス管理を行います。
- ALB の認証機能では、OIDC や Cognito など、他の認証フレームワークと組み合わせて使用することが一般的ですが、IAM と SAML 2.0 の組み合わせは、AWS のリソースへのアクセスを管理するための別の手法です。
6. ALB の認証アクション
- ALB のリスナーで設定する認証アクションには、
authenticate-cognito
とauthenticate-oidc
の2つがあります。authenticate-cognito
は Amazon Cognito と連携するために使用し、authenticate-oidc
は OpenID Connect を利用した認証を行うために使用します。問題のシナリオでは、AWS Directory Service for Microsoft Active Directory を OIDC プロバイダーとして利用し、ALB のリスナールールにauthenticate-oidc
を使用することが求められています。
まとめ:
- AWS Directory Service for Microsoft Active Directory を使用し、ALB の
authenticate-oidc
アクションで認証を行うことで、Active Directory アカウントを持つすべてのユーザーがシームレスにアプリケーションにアクセスできるようになります。
- Cognito や IAM との統合は、AWS Directory Service の利用には適していません。
実践
略
一問道場
問題 #371
ある企業が、Amazon EC2 インスタンスでホストされているイントラネット Web アプリケーションを、アプリケーションロードバランサー (ALB) の背後に配置しています。現在、ユーザーは内部のユーザーデータベースを使用してアプリケーションに認証しています。
この企業は、既存の AWS Directory Service for Microsoft Active Directory ディレクトリを使用して、ユーザーをアプリケーションに認証させる必要があります。ディレクトリにアカウントを持つすべてのユーザーがアプリケーションにアクセスできるようにしなければなりません。
どのソリューションがこの要件を満たしますか?
A. ディレクトリに新しいアプリクライアントを作成します。ALB のリスナールールを作成し、リスナールールに authenticate-oidc アクションを指定します。リスナールールを適切な発行者、クライアント ID とシークレット、エンドポイントの詳細で構成します。新しいアプリクライアントを ALB が提供するコールバック URL で構成します。
B. Amazon Cognito ユーザープールを構成します。ユーザープールをディレクトリからのメタデータを持つフェデレート型アイデンティティプロバイダー (IdP) で構成します。アプリクライアントを作成します。アプリクライアントをユーザープールと関連付けます。ALB のリスナールールを作成し、authenticate-cognito アクションを指定します。リスナールールをユーザープールとアプリクライアントで構成します。
C. ディレクトリを新しい IAM アイデンティティプロバイダー (IdP) として追加します。SAML 2.0 フェデレーションのエンティティタイプを持つ新しい IAM ロールを作成します。ALB へのアクセスを許可するロールポリシーを構成します。新しいロールを IdP のデフォルト認証済みユーザーロールとして構成します。ALB のリスナールールを作成し、authenticate-oidc アクションを指定します。
D. AWS IAM Identity Center (AWS Single Sign-On) を有効にします。ディレクトリを SAML を使用した外部アイデンティティプロバイダー (IdP) として構成します。自動プロビジョニング方法を使用します。SAML 2.0 フェデレーションのエンティティタイプを持つ新しい IAM ロールを作成します。ALB へのアクセスを許可するロールポリシーを構成します。新しいロールをすべてのグループに添付します。ALB のリスナールールを作成し、authenticate-cognito アクションを指定します。
解説
この問題の解説は以下の通りです。
問題の要点
- 会社は現在、内部ユーザーデータベースを使用してアプリケーションへの認証を行っています。
- 会社は、AWS Directory Service for Microsoft Active Directory を使用してユーザー認証を行いたいと考えています。
- 要求として、すべてのユーザーがアプリケーションにアクセスできるようにし、既存のディレクトリを利用して認証を行うことです。
解答の考察
選択肢 A は正解です。
authenticate-oidc
アクションを ALB のリスナーで使用し、AWS Directory Service for Microsoft Active Directory を OpenID Connect (OIDC) プロバイダーとして設定します。
- ALB では、OIDC プロバイダーを使って認証を行い、ユーザーが Active Directory のアカウントで認証されるようにします。
- これにより、ユーザーは既存のディレクトリアカウントを利用してアプリケーションにアクセスできます。
- OIDC は、AWS Directory Service for Microsoft Active Directory と直接統合できるため、最適な方法です。
- App client の設定で、ALB のコールバック URL を指定し、ALB からのリダイレクトを処理します。
選択肢 B は不正解です。
- Amazon Cognito は AWS の独立したユーザー管理サービスであり、AWS Directory Service for Microsoft Active Directory と統合することはできません。
- 質問では既存のディレクトリを使用するよう求められており、Cognito に移行する必要はありません。
選択肢 C は不正解です。
- IAM は SAML 2.0 の連携をサポートしますが、AWS Directory Service for Microsoft Active Directory と直接統合するための方法としては適していません。
- SAML 2.0 と IAM は、特にウェブアイデンティティ連携を利用する場合に使用されるものであり、Active Directory との統合には OIDC の方が適しています。
選択肢 D は不正解です。
- AWS IAM Identity Center (AWS SSO) は、シングルサインオン (SSO) を管理するサービスであり、通常複数の AWS アカウントに対するアクセスを管理するために使います。
- しかし、質問のシナリオでは、単一の社内アプリケーションのアクセス制御について話しており、AWS IAM Identity Center は必要ありません。
- また、
authenticate-cognito
アクションは、Cognito ユーザープールと連携するために使用され、外部 IdP(この場合は AWS Directory Service)とは互換性がありません。
結論
最も適切な解決策は 選択肢 A です。AWS Directory Service for Microsoft Active Directory を OIDC プロバイダーとして設定し、ALB のリスナーで
authenticate-oidc
アクションを使用することによって、既存のディレクトリアカウントでの認証をシームレスに実現できます。他の選択肢は必要以上の手順や不適切なサービスの使用を含んでいるため、適していません。- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/178d7ae8-88e2-8099-a33a-cf33f0ec4117
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章