このページでは、Kerberos 委任を構成するための詳しい手法について説明します。構成可能なパラメーター、前提条件、トラブルシューティングの詳細も紹介します。
推奨される手法
Analysis Services (表形式または多次元) に対して実行している場合は、Kerberos 委任を設定する他の方法があります。これらのオプションでは Kerberos 委任を設定する必要がありません。この手法を使用するには、アプリケーション プール ユーザーを使用してサーバー接続を行い、EffectiveUser
接続プロパティを使用して、Analysis Services 自体内で Anaplan XLWeb ユーザーになりすまします。
これを行うには、アプリケーション プールがドメイン アカウントとして実行されており、そのアカウントがサーバー上で管理者アクセス権を持っていることを確認する必要があります。その後、Anaplan XL web.config で次の ApplicationSettings を設定します。
<add key="StopImpersonatingDuringDataAccess" value="true"/> <add key="ForceAnalysisServicesUser" value="true"/>
最初の設定では、データ接続にアプリケーション プール ユーザーが使用されるようにします。2 番目の設定では、EffectiveUser
が AnaplanXLWeb ユーザーに設定されます。
さらに、次のファイルを更新します。
\inetpub\wwwroot\xlcubedweb\bin\xlcubed.data.analysisservices.xml
設定 enforceuseridentity
が false に設定されていることを確認します。
<connections keepopen="False" keepsession="True" usenativecom="True" useconnectionpooling="False" enforceuseridentity="False" />
ネットワークの設定によっては、アプリケーション プールと SQL Server Analysis のサービス ユーザーがログインする必要がある場合があります。これらのユーザーを Windows 認証アクセス グループの組み込みドメイン グループに追加する必要があります。
Kerberos 委任
Anaplan XL Reporting Web がデータベースとは別のサーバーにインストールされている場合は、委任を設定する必要があります。Windows 認証を使用するようにウェブサイトを設定する必要があります。
このタイプのセットアップがあり、委任が構成されていない場合、公開されたレポートにアクセスしようとすると、Analysis Services の場合は「Server is unavailable」、SQL Server の場合は「(null) user」エラーなどのメッセージが表示されます。
ほとんどの企業では委任の標準的な設定が行われており、ドメイン管理者がこれを処理します。こちらは最も単純なケースで委任を構成する方法に関するガイドですが、各ドメインの設定とインフラストラクチャは大きく異なる可能性があるため、決してベスト プラクティス ガイドではありません。
委任がうまく機能するかどうかに影響を与えかねない他の要素も多くあります。これには、ネットワーク、クライアントのセキュリティ設定、ソフトウェアが含まれます。このガイドでは、すべてのクライアントで Internet Explorer を使用することを前提としています。ドメインは一つだけで、すべてが同じネットワーク上にあります。委任リクエストをブロックしかねないファイアウォールやルーターはありません。
準備
開始する前に、AnaplanXLWeb が正常に動作していることを確認してください。これにはレポートの読み込みが含まれます。AnaplanXLWeb が正常に動作していない場合、サーバーが利用できません。
Anaplan XL Website Application プールが NetworkService 又は特別に作成されたドメイン ユーザーとして実行されていること、及びウェブサイトの認証設定で「Windows 認証」と「ASP.net 偽装」のみが有効になっていることを確認します。
サーバーの既存の SPN を確認/クリアします。すでに存在する SPN が無効である場合、構成は機能しません。
必要な情報
委任を設定する前に次の情報を把握しておく必要があります。
情報 | 値 |
ネットワーク ドメイン名は何か (サーバーの完全修飾ドメイン名 (FQDN) を取得するために必要となります) | server.domain. |
Web サーバーの名前と FQDN | Webserver |
Analysis Services の名前と FQDN | ASServer |
SQL Server の名前と FQDN (SQL 接続を許可する場合) | SQLServer |
SQLServer が実行されているポート | SQL 接続を許可する場合 |
Anaplan XL Web のウェブサイトのユーザー ID | WebUser |
Analysis XL サービスを実行しているユーザー ID | ASUser |
SQL Server サービスを実行しているユーザー ID | SQLUser |
ユーザーID の形式
ユーザー ID がドメイン アカウントの場合、必要な形式は domain\user
となります。
サービス又はアプリケーション プールが NetworkService で実行されるように設定されている場合、サーバー名 server
を使用します。
必要なアクセス権
すべての構成手順を実行できるのはドメイン管理者だけです。
ドメイン構成
サーバー委任の有効化
最初のステップは、プロセスに関係するすべてのマシンで委任を有効にすることです。
- WebServer
- ASServer
- SQLServer
こちらはドメインの設定です。Microsoft の管理ツール パックの一部である Active Directory ユーザーとコンピューター ツールを使用して設定できます。通常はドメイン コントローラー上にあります。

ドメイン コントローラーが複数ある場合は、伝播を開始するか、この変更がすべてのドメイン コントローラーに適用されるのを待つ必要があります。
SPN の設定
サービス プリンシパル名 (SPN) はコマンド ライン ツール setspn を使用して設定します。これは、ドメイン管理者権限を持つアカウントを使用して管理者コマンド プロンプトで実行する必要があります。サーバー名と完全修飾ドメイン名の両方に対して実行する必要があります。
ドメイン コントローラーが複数ある場合は、この変更がすべてのサーバーに伝播するまで待つ必要があります。Windows Server 2008 から使用可能な -S スイッチを使用していることに注意してください。以前のバージョンを使用している場合は、ドメインで定義されている重複した SPN を手動で確認した後、-A スイッチを使用します。
ウェブサーバー
setspn –S http/WebServer WebUser setspn –S http/WebServerFQDN WebUser
例:
setspn -S http/webserver domain\appooluser setspn -S http/webserver.domain.com domain\appooluser
Analysis Services
setspn –S MSOLAPSvc.3/ASServer ASUser setspn –S MSOLAPSvc.3/ASServerFQDN ASUser
名前付きインスタンス
InstanceName は例の名前です。
setspn –S MSOLAPSvc.3/ASServer:InstanceName ASUser setspn –S MSOLAPSvc.3/ASServerFQDN:InstanceName ASUser
SQL ブラウザー サービスの SPN の設定が必要になる場合もあります。
SQL Server
setspn –S MSSQLSvc/SQLServer:1433 SQLUser setspn –S MSSQLSvc/SQLServerDQDN:1433 SQLUser
1433 は適切な SQL Server ポート番号に置き換えます。
DNS エイリアス
サーバーにエイリアスがあり、そのエイリアスが ANAME エイリアスである場合は、ユーザーが入力する名前の SPN を追加する必要があります。CNAME エイリアスの場合は、Kerberos チケットを要求するときにブラウザーで使用する可能性があるため、マシン名の SPN も追加する必要があります。
ユーザー アカウントの委任
SPN が設定されたので、サービス アカウントとアプリケーション プール ユーザーの委任を有効にする必要があります。これは Active Directory ユーザーとコンピューターで行います。
Windows 2012 Server
Windows 2012 Server 以降を実行している場合は、PowerShell でもコマンドを実行する必要があります。ドメイン コントローラーのドメイン管理者である必要があります。
$user1 = Get-ADUser -Identity WebUser Set-ADUser ASUser -PrincipalsAllowedToDelegateToAccount $user1 Set-ADUser SQLUser -PrincipalsAllowedToDelegateToAccount $user1
このケースでは、WebUser、SQLUser、又は ASUser のドメインを含めないでください。
IIS 構成
変更を加えて委任セットアップを実行した後、テストの前に IISReset を実行し、クライアント マシンで Internet Explorer を再起動します。
プロバイダーの確認と注文
IIS マネージャーで、認証セクションの下にある [Windows Authentication] を右クリックしてプロバイダーを選択します。[Negotiate] が [NTLM] の前にリストされていることを確認します。ネットワークの設定によっては、Kerberos が必要な場合と、必要ではない場合があります。
高度な設定
[Enable Kernel-mode authentication] の無効化が必要になる場合があります。[Authentication] の下にある [Windows Authentication] を右クリックして [Advanced Settings] を選択します。委任が最初に機能しない場合は、この設定を切り替えてみてください (IISReset を使用)。
[Enable Kernel-mode authentication
] が無効になっていると、Excel クライアントからの公開で問題が発生する可能性があります。その場合は再度有効にしてください。
iOS へのアクセス
Safari か Anaplan XL Mobile 経由で iPhone/iPad にアクセスする必要がある場合は、デバイスのシングル サインオンを有効にする構成プロファイルを追加する必要があります。必要に応じてアプリケーション ID のリストを含めることができます。Anaplan XL Mobile にウェブサイトを登録し、URL を入力して [Requires Logon] をオフのままにしておくと、認証が自動的に処理されます。
SSO を有効にするには、拡張子が .mobileconfig
のテキスト ファイルを作成します。以下をテキスト ファイルにコピーし、必要に応じて変更します。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "
http://www.apple.com/DTDs/PropertyList-1.0.dtd%22
> <plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>PayloadDisplayName</key> <string>SSO Settings</string> <key>PayloadType</key> <string>com.apple.sso</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadUUID</key> <string>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</string> <key>PayloadIdentifier</key> <string>com.YOURCOMPANY.sso</string> <key>Name</key> <string>FluenceXLWeb SSO</string> <key>Kerberos</key> <dict> <key>Realm</key> <string>YOURDOMAIN</string> <key>URLPrefixMatches</key> <array> <string>HTTP://YOURSERVER</string> </array> </dict> </dict> </array> <key>PayloadOrganization</key> <string>YOURCOMPANY</string> <key>PayloadDisplayName</key> <string>Single Sign-On Profile</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadUUID</key> <string>YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY</string> <key>PayloadIdentifier</key> <string>com.YOURCOMPANY.sso.profile</string> <key>PayloadDescription</key> <string>Enables Kerberos Authentication</string> <key>PayloadType</key> <string>Configuration</string> </dict> </plist>
必要に応じて次の値を置き換える必要があります。
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - generate a guid (https://www.guidgenerator.com/online-guid-generator.aspx) YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY - generate another guid YOURCOMPANY - You company name with no spaces or punctuation YOURDOMAIN - your Fully qualified domain name YOURSERVER - The url as entered into the web browser/mobile app
Realm
キーと同じレベルで、必要に応じて以下を追加して、Safari/AnaplanXL Mobile へのアクセスを制限できます。
<key>AppIdentifierMatches</key> <array> <string>com.apple.mobilesafari</string> <string>com.xlcubed.mobile</string> </array>
その後、プロファイルをユーザーにメールで送信すると、ユーザーはプロファイルを開いてインストールできるようになります。インストール プロセス中に、詳細を確認して「レルム」を入力する必要があります。これがユーザー ID になります。空白のままにしておくと、毎回プロンプトが表示されます。
Anaplan XL の構成
Anaplan XL では何もする必要がありません。Anaplan XL Web がユーザー リクエストの処理を開始する前に、ブラウザーとさまざまなサーバーが委任を処理します。
トラブルシューティング
Microsoft Kerberos テスト ツール
Microsoft には、委任が正しく構成されているかどうかをテストするためのツールがあります。
代替テスト ツール
インストールできる Kerberos ウェブサイトもあります。正確な構成をコピーするように設定し、それを使用して構成を確認する必要があります。見つかった問題を修正するためのオプションも用意されています。
IE 以外のブラウザー
Internet Explorer 以外の一部のブラウザーでも Kerberos を使用できます。役立つヒントをいくつか紹介します。うまくいかない場合は Internet Explorer を使用する必要があります。リモート クライアントへのアクセスにデュアル認証を設定することもできます。
Chrome
プロセスに関係するすべてのサーバーを「許可リスト」に追加する必要があります。これは、ブラウザーのショートカットを使用して行います。
"C:\Program Files\Google\Chrome\Application\chrome.exe" --auth-server-whitelist="ASServer,WebServer,SQLServer" --auth-negotiate-delegate-whitelist="ASServer,WebServer,SQLServer"
又はレジストリを更新します。