カスタム エージェントおよびシングル サインオン
目次
casso127jpjp
目次
シングル サインオン環境では、所定のエージェントで正しく認証されたユーザが別のエージェントによって保護されたレルムにアクセスする場合、再認証は不要です。カスタム エージェントがシングル サインオン環境に関与する場合、2 つのエージェントは同じ Cookie ドメイン(たとえば、xxx.domainname.com など)に配置される必要があります。
シングル サインオンは SMSESSION という名前のシングル サインオン Cookie によって可能になります。この Cookie は、
CA Single Sign-on
またはカスタム エージェントによって作成され、ユーザのブラウザに書き込まれます。エージェント API には、標準の
CA Single Sign-on
Web エージェントによるシングル サインオン環境にカスタム エージェントが参加する場合に使用可能な以下の 2 つの関数が含まれています。- Sm_AgentApi_DecodeSSOToken()。カスタム エージェントは、既存の SMSESSION Cookie から Cookie の内容(トークンと呼ばれます)を抽出し、トークンをこの関数に渡します。関数では、トークンを復号し、指定された情報を抽出します。この関数は、トークンの最終アクセスのタイム スタンプを更新するためにも使用できます。
- Sm_AgentApi_CreateSSOToken()。ユーザがカスタム エージェントを介して正常にログインした後、カスタム エージェントは、ユーザに関する情報をこの関数に渡します。関数では、このユーザ情報、およびログイン コールから返されたセッション情報から、暗号化されたトークンを作成します。カスタム エージェントは、トークンを SMSESSION Cookie に書き込みます。
シングル サインオン関数のパラメータをセットアップし、結果を解析するための例については、サンプル カスタム エージェント コードを参照してください。サンプル カスタム エージェント コードは、<install_path>\sdk\samples の smagentapi ディレクトリにあります。
標準エージェント サポート
CA Single Sign-on
SDK v5.5 SPx 以降で作成されたカスタム エージェントは、標準の CA Single Sign-on
Web エージェントによって作成された SMSESSION Cookie を使用できます。ただし、標準エージェントが適切な Agent Quarterly Maintenance Release(QMR)でアップグレードされている場合には、標準
CA Single Sign-on
CA Single Sign-on
Web エージェントはカスタム エージェントによって作成された Cookie しか使用できません。各標準エージェントのバージョンに必要な QMR バージョンの詳細については、付属の SDK リリース ノートを参照してください。また、適切な QMR でアップグレードされた
CA Single Sign-on
エージェントを適切な QMR アップグレードで有効にし、カスタム エージェントによって作成された SMSESSION Cookie を受け入れるようにするには、標準エージェントのエージェント設定ファイル(IIS サーバの場合は LocalConfig.conf、その他のサーバの場合は WebAgent.conf)または中央設定オブジェクト(v5.x 以降)に以下のエントリが含まれる必要があります。AcceptTPCookie="yes"
AcceptTPCookie を以下のとおりに設定します。
- 4.xQMR4 エージェント以上の場合、AcceptTPCookie="yes" を標準エージェントのエージェント設定ファイルに直接追加します。
- 5.xQMR1 エージェント以降の場合、エージェント設定オブジェクトの AllowLocalConfig パラメータが no に設定されている場合は、エントリをエージェント設定オブジェクトに追加します。AllowLocalConfig が yes に設定されている場合には、標準エージェントのエージェント設定ファイルに AcceptTPCookie を設定できます。
カスタム エージェント経由のログイン
ここでは、初期ログインがカスタム エージェントを通して実行される場合のシングル サインオン環境のイベントの典型的なシーケンスを示します。
- ユーザはカスタム エージェント経由でログインします。
- カスタム エージェントは、Sm_AgentApi_Login() をコールしてユーザを認証します。ユーザは認証情報を要求されます。
- カスタム エージェントは Sm_AgentApi_CreateSSOToken() をコールし、これにユーザに関する情報(ユーザ名、ユーザ DN、要求元クライアントの IP アドレス)を渡します。CA Single Sign-onは、ログイン コールから返されたセッション情報と共にトークンにこの情報を追加します。CA Single Sign-onはトークン内の情報の暗号化も実行します。
- カスタム エージェントは、ユーザのブラウザに SMSESSION Cookie を作成し、この Cookie にトークンを書き込みます。
- ユーザは標準的なCA Single Sign-onエージェントによって保護されたリソースを要求します。
- 標準エージェントはログイン操作を実行します。この操作により、シングル サインオン Cookie 内の情報に基づいてユーザが検証されます。ユーザは、認証情報を要求されません。
標準エージェント経由のログイン
ここでは、シングル サインオン環境で、初回ログインが標準の
CA Single Sign-on
Web エージェント経由の場合のイベントの標準的なシーケンスを示します。- ユーザは標準エージェント経由でログインします。
- 標準エージェントは、ログイン コールを通じて認証情報をユーザに要求して、ユーザを認証します。
- CA Single Sign-onは、ユーザのブラウザに SMSESSION Cookie を作成し、セッション情報が含まれる暗号化トークンを挿入します。
- ユーザはカスタム エージェントによって保護されたリソースを要求します。
- カスタム エージェントは、ユーザの要求から SMSESSION Cookie を取得し、トークンを抽出します。
- カスタム エージェントは、トークンを Sm_AgentApi_DecodeSSOToken() 関数に渡します。関数は、トークンをデコードし、トークンの属性のサブセットをカスタム エージェントに返します。
- カスタム エージェントは、セッション仕様をトークンから取得し、このセッション仕様を Sm_AgentApi_Login() に渡します。ログイン コールにより、ユーザへ認証情報を要求することなく、ユーザが検証されます。
- ユーザは標準的なCA Single Sign-onエージェントによって保護されたリソースを要求します。
- 標準エージェントはログイン操作を実行し、SMSESSION Cookie の内容に基づいてユーザを検証します。ユーザは、認証情報を要求されません。