セッション管理
最初の認証後、セッション管理機能は、認証されたリクエスターが継続的にシステム(およびそのデータ)へのアクセスリクエストを行えるようにします。 Pega Platform™は、セッションオブジェクトを識別するためにランダムに生成された一意のセッション値を使用して、ユーザーの代わりにセッションオブジェクトを割り当てます。 セッションIDには、衝突攻撃や推測攻撃を防ぐために十分なエントロピー(128ビット以上)があります。 これは、秘密情報を含まず、ユーザーセッションの識別のみに利用されます。 この値の暗号形式は、クライアントに対するHTTP応答にcookie値として含まれ、すべてのリクエストでPega Platformに送信されます。 復号化は、Pega Platformでのみ行われます。 HTTPOnlyセキュリティ設定は、クライアントからのアクセスに対してcookieを保護します。
Pega Platformでは、さまざまなセッション管理ポリシーを定義できます。
- セッションのタイムアウト
- セッションの自動終了
- クロスサイトリクエストフォージェリ(CSRF)
- クロスオリジンリソース共有(CORS)
- 数日間アクティブでない状態が続いた後にオペレーターを無効化
セッションのタイムアウト
Pega Platformでは、ユーザーが一定期間アクティブでない場合、ログイン認証情報の入力による再認証が要求されます。 ログインとパスワードが承認されるまで、ブラウザーセッションを再開することはできません。 再認証を要求することで、悪意のあるユーザーや権限のないユーザーによるブラウザーセッションへのハイジャック攻撃を防止できます。
セッションのタイムアウトがアプリケーションサーバーまたは他の外部施設によって管理されている場合は、組織が認証サービスを使用する際は、タイムアウトチェックボックスをクリアしてください。
セッションのタイムアウトは、組織のセキュリティポリシーに応じて構成できます。
- アクセスグループの「Advanced 」タブ
- Authentication Serviceの「Advanced configuration settings」(「Custom/Anonymous/Kerberos」タイプを除く)で、「Use access group timeout」を有効にする
- Custom/KerberosタイプのAuthentication Serviceの「Custom」タブで、「Use PegaRULES Timeout 」を有効にする
- Portalルールで「pxSessionTimer」セクションを使用する
セッションの自動終了
ユーザーのオンライン時間が、8時間など特定の時間を超えたときにアクティブセッションを終了させたい場合は、pxSessionTimerを使用してカスタムのタイムアウトアクティビティを作成し、ログオフ画面を表示させることが推奨されます。
クロスサイトリクエストフォージェリ
クロスサイトリクエストフォージェリ(CSRF)の設定を行い、CSRF攻撃によりユーザーが誤って変更することを防ぎます。 アクティビティやストリームに対する検証の設定、許可リストへのホスト名の追加、CSRFトークンをチェックするホスト名の指定が可能です。 Pega Platformは、セッショントークンを使用してCSRF攻撃のリスクを軽減しています。 各ユーザーセッションには、1つ以上の一意のトークンが割り当てられます。 これらのトークンはブラウザーで利用でき、すべてのリクエストのURLに含まれます。 各リクエストに対して有効なトークンがあるかどうかが確認されます。トークンがない場合や、無効なトークンが提供された場合は、そのリクエストは拒否されます。
デフォルトの設定を有効または変更するには、Dev Studioのヘッダーで、「Configure > System > Settings > Cross-Site Request Forgery」をクリックします。
クロスオリジンリソース共有
クロスオリジンリソース共有(CORS)ポリシーは、アプリケーションが提供するリソース(APIやサービス)に他のシステムやウェブサイトがアクセスする方法を制御します。 たとえば、Pega Platformは、CORSポリシーを使用して、Pegaアプリケーションに接続できるPegaロボティッククライアントアプリケーションを限定し、Pegaモバイルサービスを呼び出せるモバイルアプリケーションを制限しています。
CORSポリシーを設定するには、2種類の主要なタスクを完了します。
- APIまたはRESTサービスのCORSポリシーを定義し、許可されるオリジン、許可されるヘッダー、公開されるヘッダー、許可されるメソッド、ログイン認証情報の使用、プリフライト有効期限を指定します。 Dev Studioのヘッダーで、「Create > Security > Cross Origin Resource Sharing」をクリックします。
- 保護対象のAPIまたはRESTサービスのエンドポイント(URLまたはパス)にCORSポリシーをマッピングします。 Dev Studioのヘッダーで、「Configure > Integration > Services > Endpoint-CORS Policy Mapping」をクリックします。
数日間アクティブでない状態が続いた後にオペレーターを無効化
アクティブでないオペレーターは、Pega Platformにログインできないようにする必要があります。 各オペレーターIDは、アクティブでないことによって自動的に無効になるまでの日数が定義されています。 ただし、必要であればいつでも手動でオペレーターを無効にできます。 アプリケーションのセキュリティを高めるには、ユーザー認証とセッション管理に関するセキュリティポリシーを有効にします。 有効にすると、ユーザーIDとパスワードの強度、セッションのタイムアウトとオペレーターIDの無効化、ログインイベントの監査、CAPTCHAと多要素認証を管理・設定できます。 Dev Studioのヘッダーで、「Configure > Org & Security > Authentication > Security Policies」をクリックします。
このトピックは、下記のモジュールにも含まれています。
- 認証スキームの定義 v3