Skip to main content

 

 

 

 
Language:
 
従来のWebアプリとリアクティブWebアプリにのみ適用されます
Service Studioバージョン :
 
 
OutSystems

SAML 2.0認証を構成する

Platform Server Release Jul.2019 CP2(11.0.542.0)以降が必要です。

SAML 2.0プロトコルを使用してOutSystemsをフェデレーション認証システムに連携し、外部IDプロバイダ(IdP)に接続することで、シングルサインオン(SSO)操作やシングルログアウト操作を実現することができます。

一般的な認証ワークフローは以下のとおりです。

  1. ログインしていないユーザーがOutSystemsアプリケーション(SAMLのサービスプロバイダ(SP))へのアクセスを試みます。

  2. ブラウザによってユーザーがWebページ(エンタープライズのログインマネージャ)にリダイレクトされます。ここでユーザーはエンタープライズのユーザー名とパスワードを入力する必要があります。

  3. ユーザーのログインが検証されると、ログインしたユーザーの検証済みIDがエンタープライズのIDプロバイダからOutSystemsアプリケーションに通知され、ブラウザによってユーザーが元のポータルWebサイトにリダイレクトされます。

現在の制限

以下に示すとおり、OutSystemsの現在のSAML 2.0実装にはいくつかの制限があります。OutSystemsプラットフォームは継続的に改良されているため、このページで最新の制限の一覧を定期的にご確認ください。

  • Usersモジュールで提供されるSAML 2.0サポートは、従来のWebアプリリアクティブWebアプリにのみ適用されます。モバイルアプリでSAML 2.0を使用するには、このユースケースに対応するIdP ConnectorIdP MobileなどのForgeコンポーネントを利用できます。
    注記: 上記のForgeコンポーネントは、OutSystemsでサポートされていません。Forgeコミュニティで管理されています。
  • シングルログアウトを実装するには、OutSystemsアプリケーションの認証フローを変更する必要がある場合があります。詳細については以下をご覧ください。

  • Usersアプリケーションはマルチテナントですが、SAML 2.0、Azure AD、Oktaの各認証方式を使用する場合、マルチテナントはサポートされません。

ログインごとに実行する必要があるロジックがある場合や、Usersアプリケーションでサポートされていない特定の構成がIdPに含まれる場合は、UsersアプリケーションのUsersモジュールをコピーして拡張し、特定の要件を満たすことを検討してください。

OutSystemsアプリケーションでSAMLを使用する

SAML 2.0エンドユーザー認証を構成するには、以下の手順を実行する必要があります。

  1. UsersアプリケーションでSAML 2.0認証を構成します。

  2. アプリケーションの認証フロー(ログイン/ログアウト)がすでにSAML 2.0をサポートしているかどうかを確認します。サポートしていない場合、示された手順に従ってこれらのフローを変更する必要があります。

  3. リアクティブWebアプリでSAML 2.0認証を使用するには、環境の構成で[Single Sign-On Between App Types]を有効にする必要があります。

UsersアプリケーションでSAML 2.0認証を構成する

UsersアプリケーションでSAML 2.0認証を構成するために必要な情報をIDプロバイダから事前にすべて取得していることを確認します。

以下の手順を実行します。

  1. Usersアプリケーションで、サイドバーにある[Configure Authentication]をクリックします。

  2. Authentication]ドロップダウンリストから[SAML 2.0]を選択します。

  3. 使用するIDプロバイダに応じて、必要な構成値を入力します。

    OutSystems Usersアプリケーションで[Accept Only Signed Login Responses]オプションが有効(デフォルトは有効)になっている場合、対応するIDプロバイダの設定が有効になっていることを確認します。
    Accept Only Signed Login Responses]オプションは、[1. Service Provider Connector Settings]の[Advanced Options]にあります。

    注記: Usersアプリでは、SAMLアサーションが署名済みである必要があります。IDプロバイダのアサーションの署名設定が有効になっていることを確認してください。

    Configure AuthenticationのAccept Only Signed Login Responsesオプション

ヒント: 構成をすばやく行うため、Usersアプリケーションでサービスプロバイダ(SP)のメタデータXMLファイルをエクスポートしてIdPにインポートすることができます(IDプロバイダ(IdP)にこの機能がある場合)。
ヒント: 構成をすばやく行うため、Usersアプリケーションでサービスプロバイダ(SP)のメタデータXMLファイルをエクスポートしてIdPにインポートすることができます(IDプロバイダ(IdP)にこの機能がある場合)。
ヒント: 構成をすばやく行うため、Usersアプリケーションでサービスプロバイダ(SP)のメタデータXMLファイルをエクスポートしてIdPにインポートすることができます(IDプロバイダ(IdP)にこの機能がある場合)。
同様に、IdPサーバー設定が含まれるフェデレーションのメタデータXMLファイルをUsersアプリケーションにインポートすることもできます(IdPにこのメタデータファイルをエクスポートするオプションがある場合)。

OutSystemsアプリケーションの認証フローを確認する

アプリケーションの作成時に開発環境にインストールされていたOutSystems UI Web(従来のWebアプリ)またはOutSystems UI Reactiveテンプレート(リアテクティブWebアプリ)のバージョンに応じて、アプリのログイン/ログアウトフローを更新し、SAML 2.0認証に対応させる必要がある場合があります。

詳細については、アプリケーションのタイプに応じて以下のトピックをご覧ください。

リアクティブWebアプリでSAML 2.0認証を使用するためにSingle Sign-On Between App Typesを有効にする

リアクティブWebアプリでSAML 2.0認証を使用するには、環境の構成で[Single Sign-On Between App Types]を有効にする必要があります。これは、Azure ADやOktaなどのSAMLベースの認証方式にも適用されます。

また、この構成では環境レベルでいくつかの追加のセキュリティ設定を有効にする必要があります。

すべての必要な設定を有効にするには、以下の手順を実行します。

  1. Service Centerを開きます。

  2. Administration > Security]に移動します。

  3. 以下の設定を有効にします。

    – Secure Connections > Enable HTTP Strict Transport Security (HSTS)
    – Cookies > Secure

  4. Save]をクリックします。

  5. Environment Security]のヘッダーの下にある[Applications Authentication]をクリックします。

  6. Single Sign-On Between App Types]を有効にします。

  7. Save and Apply Settings to the Factory]をクリックして、新しいランタイム設定をすべて適用します。

アプリケーションの認証の詳細については、「アプリ認証を構成する」をご覧ください。

IDプロバイダのサーバーグループをOutSystemsグループにマッピングする

Usersアプリケーションの[Configure Authentication]画面でGroupsクレームを構成できます。このクレームに値が含まれるときにユーザーログインが行われると、外部のSAMLベースのIDプロバイダから受け取った各グループ名とプラットフォームで構成されたグループとの照合が試行されます。

一致するものがあった場合、Usersアプリケーションによってユーザーログインが既存のOutSystemsグループに関連付けられます。一致するものがない場合、IDプロバイダのサーバーグループと同じ名前の新しいグループが作成され、そのグループにユーザーが関連付けられます。

既知の制限: Azure ADでは、IDプロバイダサーバーから受け取ったグループ名はグローバル一意識別子(GUID)のみで構成されます。このため、Azure ADグループとOutSystemsグループの間が一致するようにするには、これらのGUID値を使用してOutSystemsグループの名前を付ける必要があります。

SAML認証に関する問題をトラブルシューティングする

メッセージログにアクセスする

SAMLの構成や認証に関する問題をトラブルシューティングする際は、[SAML Message Logs]ページが非常に役立ちます。このページにアクセスするには、右サイドバーの[SAML Message Logs]をクリックします。

SAML Message Logsページ

デフォルトでは、これらのログを7日間参照できます。UsersモジュールのDeleteSAMLLogsOlderThenマルチテナントサイトプロパティを使用して、この保存期間をカスタマイズすることができます。

このサイトプロパティの値をカスタマイズするには、以下の手順を実行します。

  1. Service Centerを開き、[Factory > Modules]に移動してUsersモジュールを開きます。
  2. Tenants]タブを開き、[Users]リンクをクリックしてUsersテナントの詳細ページに移動します。
  3. Site Properties]タブで、リンクをクリックしてDeleteSAMLLogsOlderThenプロパティを編集し、新しいサイトプロパティの値を入力します。

ロックアウトされたときにUsersアプリケーションにアクセスする

認証が適切に構成されておらずSAMLによるログインができない場合も、デフォルトのUsersアプリのログインページに移動し、管理者アカウント(UserManagerロールを持つユーザー)を使用してログインすることができます。この方法によって構成済みの認証方式を回避し、ログインして不適切な設定を修正することができます。

デフォルトのUsersアプリのログインページには、以下のURLを使用してアクセスできます。

https://<サーバー名>/Users/Login.aspx

  • Was this article helpful?