Auth0 と を使用して Amazon WorkSpaces の SAML 2.0 認証を実装する Auth0 AWS Managed Microsoft AD - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Auth0 と を使用して Amazon WorkSpaces の SAML 2.0 認証を実装する Auth0 AWS Managed Microsoft AD

Siva Vinnakota と Shantanu Padhye、Amazon Web Services

概要

このパターンでは、Auth0 を と統合 AWS Directory Service for Microsoft Active Directory して、Amazon WorkSpaces 環境用の堅牢な SAML 2.0 認証ソリューションを作成する方法について説明します。これら間のフェデレーションを確立 AWS のサービス して、シームレスなデスクトップアクセスを維持しながら、多要素認証 (MFA) やカスタムログインフローなどの高度な機能を有効にする方法について説明します AWS Managed Microsoft AD。この統合により、数人のユーザーのみを管理する場合でも数千人を管理する場合でも、組織に柔軟性とセキュリティを提供できます。このパターンでは、このソリューションを独自の環境に実装できるように、セットアッププロセスの手順を示します。

前提条件と制限

前提条件

  • アクティブな AWS アカウント

  • AWS Managed Microsoft AD

  • に関連付けられている Amazon WorkSpaces Personal のプロビジョニングされたデスクトップ AWS Managed Microsoft AD

  • Amazon Elastic Compute Cloud (Amazon EC2) インスタンス

  • Auth0 アカウント

制約事項

一部の AWS のサービス は、すべてで利用できるわけではありません AWS リージョン。リージョンの可用性については、AWS のサービス 「リージョン別」を参照してください。特定のエンドポイントについては、「サービスエンドポイントとクォータ」ページを参照して、サービスのリンクを選択します。

アーキテクチャ

WorkSpaces クライアントアプリケーションの SAML 2.0 認証プロセスは、次の図に示す 5 つのステップで構成されます。これらのステップは、ログインの一般的なワークフローを表します。このパターンの指示に従った後、この分散型の認証アプローチを使用して、ユーザーアクセスのための構造化された安全な方法を提供できます。

WorkSpaces クライアントアプリケーションの SAML 2.0 認証プロセスのワークフロー。

ワークフロー:

  1. 登録。ユーザーは WorkSpaces のクライアントアプリケーションを起動し、SAML 対応 WorkSpaces ディレクトリの WorkSpaces 登録コードを入力します。WorkSpaces は、クライアントアプリケーションに Auth0 ID プロバイダー (IdP) URL を返します。

  2. ログインします。 WorkSpaces クライアントは、Auth0 URL を使用してユーザーのウェブブラウザにリダイレクトします。 ユーザーはユーザー名とパスワードを使用して認証します。Auth0 は SAML アサーションをクライアントブラウザに返します。SAML アサーションは、ユーザーの ID をアサートする暗号化されたトークンです。

  3. 認証します。クライアントブラウザは SAML アサーションを AWS サインイン エンドポイントに投稿して検証します。 は、発信者が AWS Identity and Access Management (IAM) ロールを引き受けること AWS サインイン を許可します。これにより、IAM ロールの一時的な認証情報を含むトークンが返されます。

  4. WorkSpaces ログイン。WorkSpaces クライアントは、WorkSpaces サービスエンドポイントにトークンを提示します。WorkSpaces はトークンをセッショントークンと交換し、ログイン URL を使用してセッショントークンを WorkSpaces クライアントに返します。WorkSpaces クライアントがログインページを読み込むと、ユーザー名の値は SAML レスポンスで渡されたNameId値によって入力されます。

  5. ストリーミング。ユーザーはパスワードを入力し、WorkSpaces ディレクトリに対して認証します。認証後、WorkSpaces はクライアントにトークンを返します。クライアントは WorkSpaces サービスにリダイレクトし、トークンを表示します。これにより、WorkSpaces クライアントと WorkSpace の間のストリーミングセッションがブローカーされます。

注記

パスワードプロンプトを必要としないシームレスなシングルサインオンエクスペリエンスを設定するには、WorkSpaces ドキュメントの「証明書ベースの認証」と「WorkSpaces Personal」を参照してください。 WorkSpaces

ツール

AWS のサービス

  • Amazon WorkSpaces は、ハードウェアを調達してデプロイしたり、複雑なソフトウェアをインストールしたりすることなく、クラウドベースのデスクトップをユーザーに提供するフルマネージド仮想デスクトップインフラストラクチャ (VDI) サービスです。

  • AWS Directory Service for Microsoft Active Directory では、ディレクトリ対応のワークロードと AWS リソースが で Microsoft Active Directory を使用できます AWS クラウド。

その他のツール

  • Auth0 は、アプリケーションへのアクセスを管理するのに役立つ認証および認可プラットフォームです。

エピック

タスク説明必要なスキル

を使用して Active Directory LDAP コネクタを Auth0 にインストールします AWS Managed Microsoft AD。

  1. Auth0 ダッシュボードにログインし、認証エンタープライズActive Directory/LDAP を選択します。接続の作成 を選択します。

  2. Active Directory 接続の名前を指定し、作成を選択します。

  3. Setup タブで、オペレーティングシステムのエージェントをダウンロードします。

    インストールが完了すると、デフォルトのブラウザにチケット URL のプロンプトが表示されます。

  4. プロビジョニングチケット URL を入力します。これは接続文字列に一意である必要があり、続行を選択します。

  5. AD LDAP 設定ダイアログボックスで、ユーザー名とパスワードに管理者認証情報を入力し、保存を選択します。

    Auth0 への接続が確立されると、すべてのチェックのレポートステータスが OK で設定ログが表示されます。

クラウド管理者、クラウドアーキテクト

Auth0 でアプリケーションを作成して、SAML メタデータマニフェストファイルを生成します。

  1. Auth0 ダッシュボードにログインし、Auth0 ドキュメントの指示に従って新しいアプリケーションを作成します。

  2. Auth0 ダッシュボードで、アプリケーション名を選択して設定にアクセスします。AddOns タブで、SAML2 ウェブアプリを選択します。

  3. アドオンの設定タブで、アプリケーションコールバック URLhttps://signin.aws.amazon.com/saml と入力します。これは、SAML トークンがPOSTリクエストを送信する場所です。

  4. 設定タブの設定ボックスに、次の SAML 設定コードを JSON 形式で貼り付けます。

    { "audience": "https://signin.aws.amazon.com/saml", "mappings": { "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sAMAccountName", "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" }, "createUpnClaim": false, "passthroughClaimsWithNoMapping": false, "mapUnknownClaimsAsIs": false, "mapIdentities": false, "nameIdentifierFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "nameIdentifierProbes": [ "http://schemas.auth0.com/sAMAccountName" ] }
  5. 保存し、有効化を選択します。

  6. 使用状況タブを選択し、ID プロバイダーのメタデータマニフェストファイルをダウンロードします。この情報は次のステップで必要です。

  7. SAML2 ウェブアプリウィンドウを閉じます。

  8. アプリケーション画面で、接続を選択します。Enterprise で、正しい Active Directory/LDAP コネクタを選択し、有効にします。

クラウド管理者、クラウドアーキテクト
タスク説明必要なスキル

IAM で SAML 2.0 IdP を作成します。

SAML 2.0 を IdP として設定するには、IAM ドキュメントの「IAM で SAML ID プロバイダーを作成する」で説明されているステップに従います。

クラウド管理者

SAML 2.0 フェデレーション用の IAM ロールとポリシーを作成します。

  1. SAML 2.0 フェデレーション用の IAM ロールを作成します。手順については、WorkSpaces ドキュメントの WorkSpaces Personal に SAML 2.0 WorkSpaces を設定する手順のステップ 2 を参照してください。

  2. IAM ポリシーを作成し、前のステップで作成したロールに関連付けます。手順については、WorkSpaces ドキュメントの WorkSpaces Personal に SAML 2.0 を設定する手順のステップ 3 WorkSpaces を参照してください。

クラウド管理者
タスク説明必要なスキル

Auth0 および SAML アサーションを設定します。

Auth0 アクションを使用して、SAML 2.0 レスポンスでアサーションを設定できます。SAML アサーションは、ユーザーの ID をアサートする暗号化されたトークンです。

  1. Auth0 ダッシュボードにサインインします。アクションライブラリアクションの作成ビルドを最初から選択します。

  2. 次の値を指定し、作成を選択します。

    名前: アクションの名前を指定する

    トリガー: ログイン/ログイン後を選択する

    ランタイム: ノード 18 を選択する

  3. 次の画面で、次のコードを入力します。

    exports.onExecutePostLogin = async (event, api) => { if (event.client.name === "Workspace_Saml") { const awsRole = 'arn:aws:iam::030784294031:role/Workspace_Auth0,arn:aws:iam::030784294031:saml-provider/Auth0'; const awsRoleSession = event.user.sAMAccountName; const email = event.user.emails[0]; api.samlResponse.setDestination('https://signin.aws.amazon.com/saml'); api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/Role', awsRole) api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/RoleSessionName', awsRoleSession) api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email', email) } return; };
  4. [デプロイ] を選択します。

これで、WorkSpaces Personal デスクトップの SAML 2.0 認証の設定は完了です。アーキテクチャセクションは、セットアップ後の認証プロセスを示しています。

クラウド管理者

トラブルシューティング

問題ソリューション

WorkSpaces での SAML 2.0 認証の問題

WorkSpaces Personal に SAML 2.0 認証を実装するときに問題が発生した場合は、SAML 2.0 認証のトラブルシューティングに関する AWS re:Post 記事に記載されている手順とリンクに従ってください。

WorkSpaces へのアクセス中の SAML 2.0 エラーの調査の詳細については、以下を参照してください。

関連リソース