Analysis Services と Kerberos の制約付き委任 (KCD) の構成

適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Kerberos の制約付き委任 (KCD) は、環境全体にわたってクライアントの資格情報をサービス間で委任するために Windows 認証で構成できる認証プロトコルです。 KCD には、ドメイン コントローラーなどの追加のインフラストラクチャと環境の追加構成が必要です。 KCD は、SharePoint 2016 でSQL Server Analysis Servicesデータと Power Pivot データを含む一部のシナリオでの要件です。 SharePoint 2016 では、Excel Services が SharePoint ファームの外部にある別の新しいサーバーである Office Online Serverに移動しました。 Office Online Server は独立しているため、一般的な 2 つのホップ シナリオでクライアントの資格情報を委任する方法の必要性が高まります。

概要

KCD により、アカウントは、リソースにアクセスできるようにするために別のアカウントの権限を借用できます。 権限を借用する側のアカウントは、Web アプリケーションに割り当てられたサービス アカウントまたは Web サーバーのコンピューター アカウントであり、権限を借用される側のアカウントは、リソースへのアクセスを必要とするユーザー アカウントです。 KCD はサービス レベルで機能するため、権限を借用する側のアカウントによってサーバー上の選択されたサービスにアクセス権を付与できます。同じサーバー上の他のサービスや他のサーバー上のサービスはアクセスを拒否されます。

このトピックのセクションでは、KCD が必要なSQL Server Analysis Servicesと Power Pivot の一般的なシナリオと、インストールと構成に必要な概要を示すサーバー展開の例について説明します。 ドメイン コントローラーや KCD など、関連するテクノロジの詳細情報へのリンクについては、「 詳細情報とコミュニティ コンテンツ 」をご覧ください。

シナリオ 1: データ ソースとしてのブック (WDS)

「1 Excel ブックを開く」と「2 が別のブックへのデータ接続を検出する」を参照してください。 Office Online Server、Power Pivot リダイレクター サービスに要求を送信します。3 は 3 をして 2 番目のブックを開き、データは 4

このシナリオでは、ユーザー資格情報をOffice Online Serverから SharePoint の SharePoint Power Pivot リダイレクター サービスに委任する必要があります。

データ ソースとしてのブック

Analysis Services テーブル モデルには、Power Pivot モデルを含む Excel ブックへの 1 つのリンクが 1 つ表示されています。 このシナリオでは、SQL Server Analysis Servicesが表形式モデルを読み込むと、ブックへのリンクSQL Server Analysis Services検出されます。 モデルを処理するときに、SQL Server Analysis Servicesはクエリ要求を SharePoint に送信してブックを読み込みます。 このシナリオでは、Analysis Services から SharePoint にクライアントの資格情報を委任する必要は ありません が、クライアント アプリケーションがアウトオブライン バインドでデータ ソース情報を上書きする可能性があります。 行外バインディング要求で現在のユーザーを偽装するように指定されている場合は、ユーザー資格情報を委任する必要があります。これにより、SQL Server Analysis Servicesと SharePoint の間で KCD を構成する必要があります。

Office Online Server

Office Online Server と Analysis Services での KCD の展開例

ここでは、4 台のコンピューターを使用した展開例について説明します。 以下のセクションでは、各コンピューターの主なインストールおよび構成手順を概説します。 展開を開始する前に、オペレーティング システムの修正プログラムを適用して、コンピューターを最新の状態にしておくことをお勧めします。また、一部の構成手順でコンピューター名が必要となるため、各コンピューター名を把握しておいてください。

  • ドメイン コントローラー

  • SQL Server データベース エンジンと Power Pivot モードの Analysis Services。 データベース エンジンのインスタンスは、SharePoint コンテンツ データベースに使用されます。

  • SharePoint Server 2016

  • Office Online Server

ドメイン コントローラー ドメイン

ドメイン コントローラー

ドメイン コントローラー (DC) 用にインストールするものは次のとおりです。

  • 役割: Active Directory Domain Services。

  • 役割: DNS サーバー

  • 機能: .NET Framework 3.5 の機能/.NET Framework 3.5

  • 機能: リモート サーバー管理ツール/役割管理ツール

  • Active Directory を構成して新しいフォレストを作成し、各コンピューターをドメインに参加させます。 他のコンピューターをプライベート ドメインに追加する前に、DC の IP アドレスに対してクライアント コンピューターの DNS を構成する必要があります。 DC コンピューターで ipconfig /all を実行して、次の手順で使用する IPv4 アドレスと IPv6 アドレスを取得します。

  • IPv4 と IPv6 の両方のアドレスを構成することをお勧めします。 これは、Windows コントロール パネルで構成できます。

    1. [ネットワークと共有センター]をクリックします。

    2. イーサネット接続をクリックします。

    3. [プロパティ] をクリックします。

    4. [インターネット プロトコル バージョン 6 (TCP/IPv6)]をクリックします。

    5. [プロパティ] をクリックします。

    6. [次の DNS サーバー アドレスを使用する] をクリックします

    7. ipconfig コマンドで取得した IP アドレスを入力します。

    8. [詳細設定] をクリックし、 [DNS] タブをクリックして DNS サフィックスが正しいことを確認します。

    9. [以下の DNS サフィックスを順に追加する]をクリックします。

    10. IPv4 でこれらの手順を繰り返します。

    注: Windows コントロール パネルの [システム設定] で、コンピューターをドメインに参加させることができます。 詳細については、「 How To Join Windows Server 2012 to a Domain」 (Windows Server 2012 をドメインに参加させる方法) を参照してください。

powerpivot モードの ssas サーバー

2016 SQL Server データベース エンジンと Power Pivot モードの Analysis Services

SQL Server コンピューターにインストールする内容の概要を次に示します。

メモメモSQL Server 2017 セットアップ ウィザードでは、Power Pivot モードのSQL Server Analysis Servicesが機能選択ワークフローの一部としてインストールされます。

  1. SQL Server 2017 セットアップ ウィザードを実行し、機能の選択ページで、データベース エンジン、SQL Server Analysis Services、および管理ツールをクリックします。 セットアップ ウィザードの後のセットアップでは、SQL Server Analysis Servicesの Power Pivot モードを指定できます。

  2. インスタンス構成の場合は、"POWERPIVOT" の名前付きインスタンスを構成します。

  3. [Analysis Services の構成] ページで、 Power Pivot モード用に Analysis Services サーバーを構成し、Office Online Server の コンピューター名 を Analysis Services サーバー管理者の一覧に追加します。 詳細については、「 Install Analysis Services in Power Pivot Mode」を参照してください。

  4. 既定では、"Computer" オブジェクトの種類は検索に含まれません。 クリック オブジェクトをクリックしてコンピューター アカウントの を追加します。

    コンピューター アカウントを ssas 管理者として追加する ssas 管理者

  5. Analysis Services インスタンスのサービス プリンシパル名 (SPN) を作成します。

    便利な SPN コマンドを次に示します。

    • 目的のサービスを実行している特定のアカウント名の SPN を表示する: SetSPN -l <account-name>

    • 目的のサービスを実行しているアカウント名の SPN を設定する: SetSPN -a <SPN> <account-name>

    • 目的のサービスを実行している特定のアカウント名から SPN を削除する: SetSPN -D <SPN> <account-name>

    • 重複する SPN を検索する: SetSPN -X

    PowerPivot インスタンスの SPN は、次の形式になります。

    MSSQLSvc.3/\<Fully Qualified Domain Name (FQDN)>:POWERPIVOT  
    MSSQLSvc.3/<NetBIOS Name>:POWERPIVOT  
    

    FQDN と NetBIOS 名は、インスタンスが存在するコンピューターの名前です。 これらの SPN は、サービス アカウントに使用されているドメイン アカウントに配置されます。 ネットワーク サービス、ローカル システム、またはサービス ID を使用している場合は、ドメイン コンピューター アカウントに SPN を配置できます。 ドメイン ユーザー アカウントを使用している場合は、そのアカウントに SPN を配置します。

  6. Analysis Services コンピューターで SQL Browser サービスの SPN を作成します。

    詳細情報

  7. SQL Server や Excel ファイルなど、更新元となる外部ソースに対して、Analysis Services サービス アカウントで制約付き委任設定を構成 します。 Analysis Services サービス アカウントで、次のオプションが設定されていることを確認します。

    注: Active Directory ユーザーとコンピューターでアカウントの委任タブが表示されていない場合、これはそのアカウントに SPN がないためです。 my/spnのような仮の SPN を追加することで、委任タブを表示できます。

    [指定されたサービスへの委任でのみこのユーザーを信頼する][任意の認証プロトコルを使う]

    これは制約付き委任と呼ばれます。Windows トークンは、プロトコル遷移で制約付き委任を必要とする Claims to Windows Token Service (C2WTS) によって生成されるため、これが必要となります。

    Analysis Services - 制約付き委任

    委任先のサービスも追加する必要があります。 これは環境によって異なります。

Office Online Server

  1. Office Online Server をインストールする

  2. SQL Server Analysis Services サーバーに接続するようにOffice Online Serverを構成します。 Office Online Server コンピューター アカウントは、SQL Server Analysis Services サーバーの管理者である必要があることに注意してください。 これは、このトピックの前のセクションで完了し、SQL Server Analysis Services サーバーをインストールしました。

    1. Office Online Server で、PowerShell ウィンドウを管理者特権で開き、次のコマンドを実行します。

    2. New-OfficeWebAppsExcelBIServer -ServerId <AS instance name>

    3. サンプル: New-OfficeWebAppsExcelBIServer -ServerId "MTGQLSERVER-13\POWERPIVOT"

  3. Office Online Server コンピューター アカウントが SharePoint サービス アカウントに対してユーザーの権限を借用することを許可するようにActive Directory を構成 します。 そのために、Office Online Server で、SharePoint Web サービスのアプリケーション プールを実行するプリンシパルの委任プロパティを設定します。このセクションの PowerShell コマンドには、Active Directory (AD) PowerShell オブジェクトが必要です。

    1. Office Online Server の Active Directory ID を取得します。

      $computer1 = Get-ADComputer -Identity [ComputerName]  
      

      このプリンシパル名を見つけるには、タスク マネージャーの [詳細] で w3wp.exe のユーザー名を調べます たとえば、"svcSharePoint"

      Set-ADUser svcSharePoint -PrincipalsAllowedToDelegateToAccount $computer1  
      
      
    2. プロパティが正しく設定されていることを確認します。

    3. Get-ADUser svcSharePoint -Properties PrincipalsAllowedToDelegateToAccount  
      
  4. Office Online Server アカウントで Analysis Services Power Pivot インスタンスに対する制約付き委任設定を構成 します。 これは、Office Online Server が実行されているコンピューター アカウントです。 Office Online Service アカウントで、次のオプションが設定されていることを確認します。

    注: Active Directory ユーザーとコンピューターでアカウントの委任タブが表示されていない場合、これはそのアカウントに SPN がないためです。 my/spnのような仮の SPN を追加することで、委任タブを表示できます。

    [指定されたサービスへの委任でのみこのユーザーを信頼する][任意の認証プロトコルを使う]

    これは制約付き委任と呼ばれます。Windows トークンは、プロトコル遷移で制約付き委任を必要とする Claims to Windows Token Service (C2WTS) によって生成されるため、これが必要となります。 これで、以前に作成した SPN である MSOLAPSvc.3 と MSOLAPDisco.3 への委任が可能になります。

  5. Claims to Windows Token Service (C2WTS) をセットアップします。 これはシナリオ 1 で必要です。 詳細については、「 Claims to Windows Token Service (c2WTS) の概要」をご覧ください。

  6. C2WTS サービス アカウントで制約付き委任設定を構成 します。 この設定は、手順 4. で行った設定と一致する必要があります。

sharepoint server

SharePoint Server 2016

SharePoint Server のインストールの概要を次に示します。

  1. SharePoint 前提条件インストーラーを実行します。

  2. SharePoint インストールを実行し、 [単一サーバー ファーム] セットアップ ロールを選択します。

  3. PowerPivot for SharePoint アドイン (spPowerPivot16.msi) を実行します。 詳細については、「Power Pivot for SharePoint アドインのインストールまたはアンインストール (SharePoint 2016)」を参照してください。

  4. PowerPivot 構成ウィザードを実行します。 「 Power Pivot の構成ツール」をご覧ください。

  5. SharePoint をOffice Online Serverに接続します。 (Configure_xlwac_on_SPO.ps1)

  6. Kerberos 用の SharePoint 認証プロバイダーを構成します。 これはシナリオ 1 で必要です。 詳細については、「 SharePoint 2013 で Kerberos 認証を計画する」を参照してください。

こちらもご覧ください

Microsoft® Kerberos Configuration Manager for SQL Server®