AEM Forms でシングルサインオン(SSO)を有効化するには、HTTP ヘッダーの使用と SPNEGO の使用の 2 つの方法があります。
SSO を使用すると、ユーザーが会社のポータルで既に認証されている場合、AEM Forms ユーザーのログインページは不要になり、ログインページは表示されません。
AEM Forms で前述のいずれの方法を使用してもユーザーが認証されない場合、ユーザーはログインページにリダイレクトされます。
ポータル設定ページを使用して、 アプリケーションと、HTTP ヘッダーを介した ID の送信をサポートするアプリケーションとの間でシングルサインオン(SSO)を有効化できます。SSO を使用すると、ユーザーが会社のポータルで既に認証されている場合、AEM Forms ユーザーのログインページは不要になり、ログインページは表示されません。
また、SPNEGO を使用して SSO を有効化することもできます(SPNEGO を使用した SSO の有効化を参照)。
-
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 の有効化を参照)。
-
Active Directory に、AEM Forms サーバーを表すユーザーを作成します。(ユーザーアカウントの作成を参照)。複数のドメインで SPNEGO を使用するように設定している場合、これらの各ユーザーのパスワードが異なっていることを確認してください。パスワードが同じ場合、SPNEGO SSO は機能しません。
-
サービスプリンシパル名をマップします(サービスプリンシパル名(SPN)のマッピングを参照)。
-
ドメインコントローラーを設定します(Kerberos 整合性チェックの失敗の回避を参照)。
-
ドメインの追加または既存のドメインの編集と変換で説明されているとおりに、エンタープライズドメインを追加または編集します。エンタープライズドメインを作成または編集するときは、次のタスクを実行する必要があります。
Active Directory の情報を含むディレクトリを追加または編集します。
認証プロバイダーとして LDAP を追加します。
認証プロバイダーとして Kerberos を追加します。Kerberos の新規認証ページまたは認証を編集ページに、以下の情報を入力します。
認証プロバイダー:Kerberos
DNS IP:AEM Forms を実行しているサーバーの DNS IP アドレス。この IP アドレスは、コマンドラインで ipconfig/all を実行して確認できます。
KDC ホスト:認証に使用する Active Directory サーバーの完全修飾ホスト名または IP アドレス。
サービスユーザー:KtPass ツールに渡されるサービスプリンシパル名(SPN)。前に挙げた例では、サービスパスワードは HTTP/lcserver.um.lc.com です。
サービス領域:Active Directory のドメイン名。前に挙げた例では、サービスパスワードは UM.LC.COM. です。
サービスパスワード:サービスユーザーのパスワード。前に挙げた例では、サービスパスワードは password です。
SPNEGO を有効にする:シングルサインオン(SSO)で SPNEGO を使用できるようにします。このオプションを選択します。
-
SPNEGO クライアントブラウザー設定を設定します(SPNEGO クライアントブラウザー設定の設定を参照)。
-
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.
ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo
SPNEGO ベースの認証を機能させるには、ユーザーアカウントを作成しているドメインにクライアントコンピューターが含まれている必要があります。また、SPNEGO ベースの認証を許可するようにクライアントブラウザーを設定する必要があります。さらに、SPNEGO ベースの認証を必要とするサイトを、信頼できるサイトにする必要があります。
http://lcserver:8080 など、コンピューター名を使用してサーバーにアクセスする場合、Internet Explorer での設定は不要です。入力した URL にドット(「.」)が含まれていない場合は、Internet Explorer はそのサイトをローカルなイントラネットサイトとして扱います。サイトに完全修飾名を使用している場合は、サイトを信頼できるサイトとして追加する必要があります。