4.5. Kerberos を使用した web アプリケーションに対する SSO の提供
ここでは、JBoss で Kerberos を使用して web アプリケーションに SSO を提供する方法について説明します。JBoss EAP インスタンス EAP1
は作成済みで、スタンドアロンサーバーとして実行されています。sampleAppA
と sampleAppB
の 2 つの web アプリケーションが EAP1
にデプロイされています。両方のアプリケーションと EAP1
は、Kerberos でデスクトップベースの SSO を使用して認証するよう設定されています。
4.5.1. セキュリティー
JBoss EAP は、SPNEGO
認証を使用した Kerberos での認証を提供します。Kerberos と SPNEGO に特化した情報は、サードパーティーの SSO 実装 を参照してください。JBoss EAP とデプロイされた web アプリケーションが認証に Kerberos を使用するようにするには、kerberos-security-factory
を作成して Kerberos サーバーに接続します。Kerberos サーバーからユーザーにロールを割り当てるために、セキュリティーレルム、ロールマッパー、およびセキュリティードメインも作成されます。kerberos-security-factory
を使用し、認証とロールの割り当てにセキュリティードメインを使用する http-authentication-factory
が作成されます。認証方法は SPNEGO
認証を使用し、exampleSpnegoDomain
として公開されます。また、undertow
サブシステムは、認証に http-authentication-factory
を使用するよう設定されます。
sampleAppA
と sampleAppB
の両方は、認証の実行に exampleSpnegoDomain
を使用するよう設定され、承認にユーザーのロールを取得します。セキュリティートークンをオペレーティングシステムからブラウザーに渡すことができない場合のために、FORM
認証をフォールバック認証として両方のアプリケーションに設定することもできます。FORM
認証がフォールバックとして設定された場合、追加の認証方法とサポートするセキュリティードメインを設定する必要があります。認証方法は Kerberos と SPNEGO
には依存せず、FORM
認証のみをサポートする必要があります。この場合、追加の認証とサポートするセキュリティードメインを FORM
認証に対して設定し、exampleFormDomain
として公開する必要があります。各アプリケーションは exampleFormDomain
を使用し、FORM
認証をフォールバックとして提供するよう、設定されます。また、各アプリケーションはパス /secure/*
をセキュアにするよう設定され、承認の処理に独自のロールリストを提供します。