IBM
OpenPages® with Watson™ で SAML シングル・サインオンを使用できます。ここに示す手順では Microsoft Active Microsoft Directory Federation Server (ADFS) を ID プロバイダー (IdP) として使用しますが、SAML 2.0 プロトコルをサポートする任意の IdP を使用できます。
始める前に
ご使用の環境が以下の前提条件を満たしている必要があります。
- ADFS サーバーがセットアップされ、稼働している。
- ADFS と OpenPages の両方でユーザー・アカウントがセットアップされている。両方のシステムでユーザー名が同じでなければなりません。
- OpenPages
8.2 以降がインストールされ、OpenPages サーバーが稼働している。
- ブラウザーから OpenPages アプリケーションにログインできる。
手順
- OpenPages でシングル・サインオンを有効にします。
- 管理権限を持つユーザーで OpenPages アプリケーションにログオンします。
- をクリックします。
- をクリックします。「非表示の設定を表示 (Show Hidden Settings)」を true に変更します。
- 以下の設定を更新します。
- を HTTP-User-based に変更します。
- を true に変更します。
- IBM®
WebSphere® Liberty 用の SAML シングル・サインオンをインストールします。
- OpenPages アプリケーション・サーバーにログオンします。
- 以下のコマンドを実行して
samlWeb-2.0
フィーチャーをインストールします。
<WLP_HOME>/bin/installUtility install samlweb-2.0
- WebSphere Liberty でシングル・サインオンを構成します。
- ディレクトリー <WLP_USER_DIR>/servers/<server_name>Server<#>/configDropins/overrides に移動します。
- 新しい .xml ファイルを作成します (例として OP_SSO_SAML_config.xml とします)。
- そのファイルに以下の行を追加します。
<server>
<featureManager>
<feature>samlWeb-2.0</feature>
</featureManager>
<!-- SAML SSO configuration - Single IdP -->
<samlWebSso20 id="<saml_id>"
disableLtpaCookie="false"
allowCustomCacheKey="false"
mapToUserRegistry="User"
idpMetadata="<OP_HOME>/wlp-usr/servers/<server_name>Server<#>/resources/security/FederationMetadata.xml"
enabled="true"
spLogout="false"
nameIDFormat="unspecified">
<authFilter id="samlAuthFilter">
<requestUrl id="openpagesUrl" urlPattern="/grc/api" matchType="notContain"/>
</authFilter>
</samlWebSso20>
</server>
<saml_id> には、SAML 構成の ID (例: defaultSP
) を入力します。
idpMetadata
では、<OP_HOME> および <server_name>Server<#> を、ご使用のアプリケーション・サーバーの値に置き換えてください。FederationMetadata.xml ファイルはステップ 7 で取得します。
<requestUrl>
の
urlPattern="/grc/api"
属性により、この SAML SSO 認証構成から REST API が除外されます。すべての
OpenPages URL を含めるには、以下の例のようなパターンを使用します。
<requestUrl id="openpagesUrl" urlPattern="/" matchType="contains"/>
ファイルを保存して閉じます。
- ADFS サーバーからトークン署名証明書をエクスポートします。
詳しくは、ADFS に付属する資料を参照してください。
- そのトークン署名証明書を OpenPages 鍵ストアにインポートします。
keytool -importcert -v -alias adfs -file adfsSignedCert.cer -keystore <OP_HOME>/wlp-usr/servers/<server_name>Server<#>/resources/security/key.p12 -storetype PKCS12
- ADFS で証明書利用者の信頼をセットアップします。
詳しくは、ADFS の資料を参照してください。
- ブラウザーで以下の URL にアクセスして、WebSphere Liberty から SAML サービス・プロバイダー・メタデータをエクスポートします。
- <op_app_server> および <op_port> を OpenPages アプリケーション・サーバーのホストとポートに置き換えます。
- <saml_id> を、OP_SSO_SAML_config.xml ファイル内の
<samlWebSso20>
要素で指定した id
属性に置き換えます。
https://<op_app_server>:<op_port>/ibm/saml20/<saml_id>/samlmetadata
例:
https://my.app.server:10111/ibm/saml20/defaultSP/samlmetadata
- その SAML サービス・プロバイダー・メタデータを ADFS サーバーにインポートします。ADFS の「Server manager」でをクリックします。
- 以下の 2 つのカスタム要求規則を証明書利用者の信頼に追加します。
要求規則名: GetUpn
カスタム規則:
c:[
Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
Issuer == "AD AUTHORITY"
]
=>
add(
store = "Active Directory",
types = ("UpnHolder"),
query = ";userPrincipalName;{0}",
param = c.Value
);
要求規則名: UpnToNameID
カスタム規則:
c:[
Type == "UpnHolder"
]
=>
issue(
Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
Value = RegexReplace(c.Value, "(?<user>[^@]+)@(?<domain>.+)", "${user}")
);
- ブラウザーで以下の URL にアクセスして、ADFS フェデレーション・メタデータ・ファイルを取得します。
<ADFS_URL> は ADFS サーバーの URL で置き換えてください。
https://<ADFS_URL>/FederationMetadata/2007-06/FederationMetadata.xml
- その ADFS フェデレーション・メタデータ・ファイルの名前を変更して、ステップ 3.c の
idpMetadata
属性で使用した名前に一致させます。アプリケーション・サーバーの、idpMetadata
属性値で指定したディレクトリーにそのファイルを配置します。
idpMetadata="<OP_HOME>/wlp-usr/servers/<server_name>Server<#>/resources/security/FederationMetadata.xml"
- OpenPages サービスを停止してから再始動します。
- 有効期限が切れないようにユーザー・パスワードを設定します。ユーザー・パスワードを無期限にする設定を参照してください。
次のタスク
混合モードを構成する場合は、
混合モード・シングル・サインオンの構成 (SAML および OpenPages)を参照してください。それ以外の場合は、ユーザーのパスワードを
OpenPages でのデフォルトから変更して、ユーザーが
OpenPages の資格情報でログインするのを防止します。以下の例外に注意してください。
- 混合モード SSO を使用する場合は、OpenPages 認証 (ネイティブ 認証とも呼ばれます) を使用してログインするユーザーのパスワードを変更しないでください。
- REST API にアクセスするユーザー・アカウントのパスワードは変更しないでください。
ロード・バランサーまたはプロキシー・サーバーを使用する場合は、追加の構成が必要です。SAML V2.0 のシングル・サインオン用の HTTP Server の構成を参照してください。