Amazon Cognito ユーザープールで、OneLogin を SAML ID プロバイダーとして設定する方法について教えてください。

最終更新日: 2021 年 6 月 23 日

Amazon Cognito ユーザープールで、OneLogin を Security Assertion Markup Language 2.0 (SAML 2.0) ID プロバイダー (IdP) として使用することを考えています。設定方法を教えてください。

簡単な説明

Amazon Cognito ユーザープールでは、OneLogin などの SAML IdP を含め、サードパーティー (フェデレーション) を介してサインインすることができます。詳細については、「サードパーティー経由のユーザープールへのサインインの追加」および「ユーザープールへの SAML ID プロバイダーの追加」をご参照ください。

SAML IdP として OneLogin をセットアップするには、Amazon Cognito ユーザープールおよびアプリケーションの置かれた OneLogin のアカウントが必要です。

解決方法

アプリクライアントとドメイン名を使用して Amazon Cognito ユーザープールを作成する

詳細については、これらの記事を参照してください。

注意: ユーザープールを作成する場合、スタンダード属性のメールがデフォルトで選択されます。ユーザープール属性の詳細については、「ユーザープールの属性の設定」をご参照ください。

OneLogin アカウントを作成する

詳細は、OneLogin ウェブサイトを参照して、無料トライアルを開始するを選択してください。

アカウント作成ページの、OneLogin ドメインで、OneLogin で指定されたドメインをメモします。

OneLoginアプリケーションアカウントを作成する

1.    OneLogin ポータルページ(https://your-new-domain.onelogin.com/portal/)で、管理を選択します。

2.    管理ページの最上部で、 アプリを一時停止し、アプリを追加するを選択します。

3.    アプリケーションを見つける下の検索バーで、 samlを入力し、SAML テストコネクター(IdP)を選択してSAML Tテストコネクター(IdP)を追加する ページを開きます。

4.    (オプション) 以下のいずれかを行います:
名前を表示するためには、名前と説明を入力します。例えば、 Cognito セットアップ(IdP)
長方形アイコン および 正方形アイコン用には、 ページの規格の次のサムネイルアイコンをアップロードします。
説明のためには、 簡単な概要説明を入力します。例えば、 Amazon Cognito ユーザープール用

5.    [保存] を選択します。

OneLogin アプリケーション設定を編集する

1.    設定を選択します。

2.    [設定] ページで、次の手順を実行します。
[RelayState] には、https://www.example.com のように有効な URL を入力します。
[対象者] には、 urn:amazon:cognito:sp:yourUserPoolId を入力します。
[受信者] は空白のままにします。
[ACS (Consumer) URL Validator] には、https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse を入力します。
[ACS (Consumer) URL] には、https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse を入力します。
[シングルログアウト URL] は空白のままにします。

注意: 対象者では、yourUserPoolId を Amazon Cognito ユーザープール ID で置き換えます。ユーザープールの管理ページの一般設定タブに表示される Amazon Cognito コンソールで ID を見つけます。

ACS (消費者) URL バリデータ および ACS (消費者) URL用には、yourDomainPrefix および リジョン をユーザープールの値に置き換えます。値は、Amazon Cognito コンソールのユーザープールの管理ページの Domain 名タブで見つけます。

OneLogin アプリケーションのパラメータを編集する

1.    パラメータを選択します。

注意: 一つのパラメータ (NameID (fka Email)) はすでにリストされています—これが予期されます。

2.    パラメータを追加するを選択して、新規のカスタムパラメータを作成します。

3.    フィールド名新規フィールド ダイアログで、http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierと入力します。

4.    フラグは、SAML 表明に含む チェックボックスを選択します。

5.    [保存] を選択します。

6.    は、リストからEmail を選択します。

7.    [保存] を選択します。

OneLogin アプリケーションの IdP メタデータをコピーする

1.    SSOを選択します。

2.    発行者URL下で、 URLをクリップボードにコピーします。

3.    [保存] を選択し、OneLogin アプリケーションへのすべての変更を保存します。

Amazon Cognito で OneLogin を SAML IdP として設定する

詳細については、「ユーザープールの SAML ID プロバイダーの作成と管理 (AWS マネジメントコンソール)」を参照してください。「ユーザープールに SAML 2.0 ID プロバイダーを設定する」の下の指示に従ってください。

SAML IdP を作成する際、メタデータドキュメントには、コピーした 発行者 URL を貼り付けます。

メールアドレスを IdP 属性からユーザープール属性にマッピングする

詳細については、「ユーザープールの ID プロバイダー属性マッピングを指定する」を参照してください。「SAML プロバイダー属性マッピングを指定する」の下の指示に従ってください。

SAML 属性をSAML 属性用にSAML 属性に追加する場合、http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier と入力します。ユーザープール属性については、リストから [Email] を選択します。

Amazon Cognito でアプリクライアントの設定を変更する

注意: これはテスト目的のセットアップ例です。実稼働環境では、アプリクライアント設定に認証コード付与 OAuth フローを使用するのがベストプラクティスとなります。そのフローを使用する場合、リダイレクト URL の認定後、認定コードが届きます。トークンエンドポイントへリクエストして、JSON ウェブトークン (JWTs) の認定コードを交換する必要があります。

1.    Amazon Cognito コンソールのユーザープールの管理ページの [App integration] で、[App client settings] を選択します。次に、以下を実行します。
[有効な ID プロバイダー] で、[すべてを選択する] チェックボックスを選択します。
コールバック URL には、ログイン後にユーザーをリダイレクトする URL を入力します。テストについては、https://www.example.com などの任意の有効な URL を入力できます。
サインアウト URL には、ログアウト後にユーザーをリダイレクトする URL を入力します。テストについては、https://www.example.com などの任意の有効な URL を入力できます。
許可済み OAuth フロー で、少なくとも暗示付与チェックボックスをオンにします。
許可済み OAuth スコープ では、少なくともemailopenidのチェックボックスをオンにします。

2.    [変更を保存] を選択します。

詳細については、「アプリクライアントの設定用語」を参照してください。

ログインエンドポイントをテストする

1.    ブラウザで、https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl を入力してください。

注意: yourDomainPrefixregion をユーザープールの値に置き換えます。値は、Amazon Cognito コンソールのユーザープールの管理ページの [Domain ドメイン名] タブの [Amazon Cognito コンソール<] でそれらが見つけかります。

アプリクライアントの ID で yourClientId を置き換えて、クライアントのコールバック URL で redirectUrl を置き換えます。ユーザープールの管理ページの [ アプリクライアント設定] タブにある [Amazon Cognito コンソール] でそれらが見つかります。

詳細については、「Amazon Cognito のホストされたウェブの UI を設定する方法を教えてください」と「ログインエンドポイント」を参照してください。

2.    [OneLogin] を選択します。

注: アプリクライアントのコールバック URL にリダイレクトされた場合は、ブラウザで OneLogin アカウントにすでにログインしています。すべて正しく設定されています。

3.    OneLogin ページで、 ユーザー名は、アカウントユーザー名を入力します。

4.    続ける を選択します。

5.    パスワードは、OneLogin アカウントパスワードを入力します。

6.    続ける を選択します。

アプリクライアントのコールバック URL にリダイレクトされれば、すべて正しく設定されています。