AEM Forms でシングルサインオン(SSO)を有効化するには、HTTP ヘッダーと SPNEGO の 2 つの方法があります。
SSO を使用すると、ユーザーが会社のポータルで既に認証されている場合、AEM Forms ユーザーのログインページは不要になり、ログインページは表示されません。
AEM Forms で前述のいずれの方法を使用してもユーザーが認証されない場合、ユーザーはログインページにリダイレクトされます。
ポータル設定ページを使用して、 アプリケーションと、HTTP ヘッダーを介した ID の送信をサポートするアプリケーションとの間でシングルサインオン(SSO)を有効化できます。SSO を使用すると、ユーザーが会社のポータルで既に認証されている場合、AEM forms ユーザーのログインページは不要になり、ログインページは表示されません。
また、SPNEGO を使用して SSO を有効化することもできます(SPNEGO を使用した SSO の有効化を参照)。
管理コンソールで、設定/User Management/設定/ポータル属性の設定をクリックします。
「はい」を選択して SSO を有効化します。「いいえ」を選択した場合、ページの残りの設定が使用できなくなります。
必要に応じて、ページの残りの設定を調整し、「OK」をクリックします。
SSO の種類:(必須)HTTP ヘッダーを使用して SSO を有効化するには HTTP ヘッダーを選択します。
ユーザーの識別子の HTTP ヘッダー:(必須)ログインしたユーザーの固有な識別子を値に含むヘッダーの名前です。User Management は、この値を使用して User Management データベースからユーザーを検索します。このヘッダーから取得される値は、LDAP ディレクトリから同期されるユーザーの固有な識別子と一致する必要があります(ユーザー設定を参照)。
ユーザー固有の識別子ではなく、ユーザー ID に対して識別子の値をマップします:ユーザー固有の識別子の値をユーザー ID にマップします。このオプションを選択するのは、ユーザー固有の識別子が、HTTP ヘッダーで簡単に伝播できないバイナリ値の場合です(例えば、Active Directory からユーザーを同期する場合は objectGUID)。
ドメインの HTTP ヘッダー:(非必須)ドメイン名を値に含むヘッダー名です。この設定は、ユーザーを一意に識別する単一の HTTP ヘッダーが存在しない場合にのみ使用します。この設定は、複数のドメインが存在し、固有な識別子がそのドメイン内でのみ一意である場合に使用します。この場合、このテキストボックスでヘッダー名を指定し、「ドメインマッピング」ボックスに複数のドメインのドメインマッピングを指定します(既存のドメインの編集と変換を参照)。
ドメインマッピング:(必須)複数のドメインのマッピングは、「header value=domain name」の形式で指定します。
例えば、ドメインの HTTP ヘッダーが domainName で、その値に domain1、domain2 または domain3 を使用できる状況を考えます。この場合は、ドメインマッピングを使用して domainName の値を User Management のドメイン名にマップします。各マッピングは、異なる行で指定する必要があります。
domain1=UMdomain1
domain2=UMdomain2
domain3=UMdomain3
これらの設定の設定方法について詳しくは許可されているリファラーの設定を参照してください。
Windows 環境で LDAP サーバーに Active Directory を使用している場合は、Simple and Protected GSSAPI Negotiation Mechanism(SPNEGO)を使用してシングルサインオン(SSO)を有効化することができます。SSO が有効になっている場合、AEM forms のユーザーログインページは必要とされず、表示されません。
また、HTTP ヘッダーを使用して SSO を有効化することもできます(HTTP ヘッダーの使用による SSO の有効化を参照)。
JEE での AEM Forms は複数の子ドメイン環境で Kerberos/SPNEGO を使用した SSO の設定をサポートしていません。
SSO を有効化するために使用するドメインを決定します。AEM forms サーバーとユーザーは、同じ Windows ドメインまたは信頼されたドメインの一部である必要があります。
Active Directory に、AEM forms サーバーを表すユーザーを作成します。(ユーザーアカウントの作成を参照)。複数のドメインで SPNEGO を使用するように設定している場合、これらの各ユーザーのパスワードが異なっていることを確認してください。パスワードが同じ場合、SPNEGO SSO は機能しません。
サービスプリンシパル名をマップします(サービスプリンシパル名(SPN)のマッピングを参照)。
ドメインコントローラーを設定します(Kerberos 整合性チェックの失敗の回避を参照)。
ドメインの追加または既存のドメインの編集と変換で説明されているとおりに、エンタープライズドメインを追加または編集します。エンタープライズドメインを作成または編集するときは、次のタスクを実行する必要があります。
Active Directory の情報を含むディレクトリを追加または編集します。
認証プロバイダーとして LDAP を追加します。
認証プロバイダーとして Kerberos を追加します。Kerberos の新規認証ページまたは認証を編集ページに、以下の情報を入力します。
ipconfig/all
を実行して確認できます。HTTP/lcserver.um.lc.com
です。UM.LC.COM.
です。password
です。SPNEGO クライアントブラウザー設定を設定します(SPNEGO クライアントブラウザー設定の設定を参照)。
SPNEGO の場合、AEM Forms となるドメインコントローラー上にある Active Directory 内のユーザーとしてサービスを登録します。そのドメインコントローラーで、スタートメニュー/管理ツール/Active Directory ユーザーとコンピューターに移動します。「管理ツール」がスタートメニューにない場合は、コントロールパネルを使用します。
Users フォルダーをクリックして、ユーザーのリストを表示します。
Users フォルダーを右クリックし、新規作成/ユーザーを選択します。
「姓」、「名」および「ユーザーログオン名」を入力し、「次へ」をクリックします。例えば、次の値を設定します。
パスワードを入力します。例えば、「password」というパスワードを設定します。「パスワードを無期限にする」を選択し、それ以外のオプションは選択しません。
「次へ」をクリックし、「完了」をクリックします。
KtPass ユーティリティを入手します。このユーティリティは、SPN を REALM にマップする場合に使用します。KtPass ユーティリティは、Windows Server ツールパックまたはリソースキットの一部として入手できます(「Windows Server 2003 Service Pack 1 のサポートツール」を参照)。
コマンドプロンプトで、次の引数を指定して ktpass
を実行します。
ktpass -princ HTTP/
host @
REALM -mapuser
user
例えば、次のようにテキストを入力します。
ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo
指定する値は、次のとおりです。
host: forms サーバーの完全修飾名または一意の URL です。この例では、lcserver.um.lc.com に設定しています。
REALM:ドメインコントローラーの Active Directory 領域です。この例では、UM.LC.COM に設定しています。領域は大文字で入力してください。Windows 2003 の領域を決めるには、次の手順を実行します。
user:前のタスクで作成したユーザーアカウントのログイン名です。この例では、spnegodemo に設定しています。
次のようなエラーが発生することがあります。
DsCrackNames returned 0x2 in the name entry for spnegodemo.
ktpass:failed getting target domain for specified user.
この場合、次のようにユーザーを spnegodemo@um.lc.com に指定してください。
ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo
spnegodemo
です。password
に設定されています。SPNEGO ベースの認証を機能させるには、ユーザーアカウントを作成しているドメインにクライアントコンピューターが含まれている必要があります。また、SPNEGO ベースの認証を許可するようにクライアントブラウザーを設定する必要があります。さらに、SPNEGO ベースの認証を必要とするサイトを、信頼できるサイトにする必要があります。
https://lcserver:8080 などのコンピューター名を使用してサーバーにアクセスする場合、Internet Explorer での設定は不要です。入力した URL にドット(「.」)が含まれていない場合は、Internet Explorer はそのサイトをローカルなイントラネットサイトとして扱います。サイトに完全修飾名を使用している場合は、サイトを信頼できるサイトとして追加する必要があります。
Internet Explorer 6.x の設定
https://lcserver.um.lc.com
https://lcserver.um.lc.com:8080/um/login?um_no_redirect=true
と入力します。Mozilla Firefox の設定
ブラウザーの URL ボックスに about:config
と入力します。
about:config - Mozilla Firefox ダイアログボックスが表示されます。
「フィルター」ボックスに、negotiate
表示されたリストで、network.negotiate-auth.trusted-uri をダブルクリックし、環境に応じて、次のいずれかのコマンドを入力します。
.um.lc.com
- 末尾が um.lc.com のすべての URL を SPNEGO に対して許可するよう Firefox を設定します。先頭に必ずドット(「.」)を含めてください。
lcserver.um.lc.com
- 特定のサーバーだけに SPNEGO を許可するように Firefox が設定されます。ドット(「.」)から始めないでください。
アプリケーションにアクセスして、設定をテストします。ターゲットアプリケーションのようこそページが表示されます。