次の方法で共有


暗号化の強化

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

SQL Server 2022 Analysis Services (SSAS) CU1 以降のバージョンには、モデル データベース スキーマに対する特定の書き込み操作の暗号化が強化されています。 以前の SSAS バージョンからアップグレードする場合は、最新の暗号化を使用するようにモデル データベースを更新する必要があります。 暗号化がアップグレードされていない場合、特定のデータベース スキーマの書き込み操作がブロックされます。 たとえば、新しいデータ ソースを追加したり、接続文字列を変更したりすることはできません。

注意事項

暗号化が強化された新しい Analysis Services データベースまたはアップグレードされた Analysis Services データベースは、以前のバージョンの SQL Server Analysis Services では読み込めません。

テーブル モデル データベースのアップグレード

1600 以上の互換性レベルの表形式モデル データベースの場合、特定のスキーマ書き込み操作中に次のエラーが返されることがあります。

"新しい表形式データベース '%{DatabaseName/}' は、最新の暗号化スキーマを使用していません。最新の暗号化にアップグレードするには、EnsureProperEncryption オプション (または同じオプションを使用してバックアップ ファイルから DB を復元する) を指定して RemoveDiscontinuedFeatured コマンドを実行してください。"

暗号化をアップグレードするには、データベースをバックアップしてから、SQL Server Management Studio で次の XMLA コマンドを実行して EnsureProperEncryption オプションを有効にして復元します。

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" Transaction="false" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl100="http://schemas.microsoft.com/analysisservices/2008/engine/100">
<Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" xmlns:ddl922="http://schemas.microsoft.com/analysisservices/2022/engine/922">
<File>your_backup_file_pathname</File>
<AllowOverwrite>true</AllowOverwrite>
<ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</Restore>
</Batch>

または、データベースが既に読み込まれている場合は、SQL Server Management Studio で次の XML for Analysis (XMLA) コマンドを実行します。

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

多次元モデル データベースのアップグレード

すべての互換性レベルの多次元モデル データベースの場合、特定のスキーマ書き込み操作中に次のエラーが返されることがあります。

"多次元データベース '%{DatabaseName/}' は、最新の暗号化スキーマを使用していません。バックアップ ファイルを作成し、EnsureProperEncryption オプションを使用してバックアップ ファイルから DB を復元して、最新の暗号化にアップグレードしてください。"

暗号化をアップグレードするには、データベースをバックアップしてから、 EnsureProperEncryption オプションを有効にして復元します。

または、データベースが既に読み込まれている場合は、SQL Server Management Studio で次の XMLA コマンドを実行します。

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

キーのライフサイクル管理

SQL Server Analysis Services では、データベース暗号化キーを使用して、データ ソースの資格情報や接続文字列など、データベースごとに機密データを暗号化します。 SSAS 2025 以降のバージョンでは、DBSCHEMA_CATALOGS スキーマ行セットを使用して、モデル データベースの暗号化レベルとデータベース キーの有効期間を決定できます。 ENCRYPTION_LEVEL列を確認し、レベルが Analysis Services 2022 CU であることを確認します。 CRYPTOKEY_UPDATED列で、データベース暗号化キーの作成日または最終再生成日を確認します。

RemoveDiscontinuedFeatures コマンドを使用して、データベース暗号化キーを再生成できます。 前述のレガシ暗号化からのアップグレードと同様に、RemoveDiscontinuedFeatures コマンドはセキュリティ保護可能なデータの暗号化を解除し、新しいデータベース暗号化キーを生成してから、新しいデータベース暗号化キーを使用してセキュリティ保護可能なデータを再暗号化します。

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

サービス アカウントの変更手順

SQL Server Analysis Services は、サーバー全体の暗号化キーを使用して、各データベース暗号化キーを暗号化します。 SSAS 2022 CU1 以降のバージョンでの拡張暗号化では、データ保護 API (DPAPI) を使用して、現在のサービス アカウントとローカル コンピューター アカウントの情報を使用して、サーバー暗号化キーを安全に保護してアクセスします。 サーバー暗号化キーは、ローカル コンピューター上の同じサービス アカウントを使用してのみ復号化できます。 現在のサービス アカウントに依存しているため、次の手順に従って SQL Server Analysis Services サービス アカウントを変更してください。

多次元インスタンスのサービス アカウントの変更

多次元モードで実行されているサーバー インスタンスのサービス アカウントを変更する必要がある場合は、モデル データベースのバックアップ、サーバーのアンインストールと再インストール、モデル データベースの復元が不可欠です。 この方法により、QueryLogConnectionString や ImpersonationAccount 資格情報など、すべてのセキュリティ保護可能なリソースが適切に暗号化されます。 または、 アタッチ/デタッチのアプローチを使用することもできますが、この方法では既存のデータ フォルダーを保持する必要があります。

  1. SSMS を使用して、各データベースを .abf ファイルにバックアップします。

  2. SSAS サーバー インスタンスをアンインストールします。

  3. 残りのデータ フォルダーや構成ファイルなど、アンインストールされたサーバー インスタンスの残りの部分をすべて削除します。

  4. 新しい SSAS サーバー インスタンスをインストールし、新しいサービス アカウントを割り当てます。

  5. バックアップ .abf ファイルからデータベースを復元します。

これらの手順を実装する場合は、データの損失やセキュリティの脆弱性を回避するために注意してください。 サービス アカウントまたはサーバー構成を大幅に変更する前に、常にデータ バックアップを実行し、システム管理者にガイダンスを求めてください。

表形式インスタンスのサービス アカウントの変更

表形式サーバー インスタンスでは、サーバー全体の QueryLogConnectionString または ImpersonationAccount 資格情報が使用されないため、サーバーの完全な再インストールは必要ありません。 この手順はデータベース バックアップに依存しませんが、サービス アカウントまたはサーバー構成を大幅に変更する前に、常にデータ バックアップを実行し、システム管理者にガイダンスを求める必要があります。

  1. SSMS を使用して各データベースを .abf ファイルにバックアップすることをお勧めしますが、省略可能です。

  2. すべてのモデル データベースをデタッチします。

  3. SSAS サービスを停止します。

  4. SSAS サービス アカウントを変更します。

  5. SSAS サービスを開始します。

  6. すべてのモデル データベースを再アタッチします。

モデル データベースを別のサーバー インスタンスに移動する

サーバー間でモデル データベースを転送する必要がある場合は、バックアップ/復元またはデタッチ/アタッチ方法を使用することが不可欠です。 SSMS、AMO、または XMLA を使用したデタッチ/アタッチアプローチの使用方法の詳細については、 Analysis Services データベースの移動 に関するページを参照してください。

フェールオーバー クラスターのサポート

暗号化が強化された SQL Server 2025 Analysis Services を Windows Server フェールオーバー クラスター (WSFC) にインストールして、高可用性を実現できます。 WSFC 環境では、すべてのサーバー インスタンスでサーバー暗号化キーを復号化できるように、すべてのサーバー インスタンスでサービス アカウントと同じ Active Directory ドメイン ユーザー アカウントを使用する必要があります。 ローカル Windows アカウント、Build-In アカウント、Entra ID アカウントはサポートされていません。

暗号化が強化された SQL Server 2022 Analysis Services CU1 では、フェールオーバー クラスターのサポートは提供されません。 フェールオーバー クラスター環境での暗号化の強化を利用するには、SQL Server 2025 Analysis Services にアップグレードする必要があります。

トラブルシューティング

問題: 上記のバックアップ/復元手順に従っていない場合、SQL Server 2022 Analysis Services サービス アカウントを変更すると、サービスの開始に失敗する可能性があります。

Log\msmdsrv.log ファイルの次のメッセージは、サービス アカウントが変更されたためにサービスを開始できないことを示しています。

"Server Gen2 cryptokey は存在しませんが、サーバー アセンブリ オブジェクト System はサーバー gen2 暗号化キーを使用するように設定されています。サーバーを終了しています。(ソース: \?\C:\Program Files\Microsoft SQL Server\MSAS16。MSSQLSERVER\OLAP\Log\msmdsrv.log,型: 1, カテゴリ: 289, イベント ID: 0x4121005C"

解決: msmdsrv.ini ファイルの ConfigurationSettings>DataDir で、 Data フォルダーの場所を決定します。 次に、[ データ ] フォルダーで、 .asm.xmlを含む名前のファイルと 、拡張子が .asm のすべてのフォルダーを削除します。

ファイルを削除した後、Analysis Services サービスを再起動します。 .asm ファイルが自動的に再作成されます。

次の暗号化されたプロパティは、SQL Server Management Studio (SSMS) を使用して構成する必要があります。

  • Log\QueryLog\QueryLogConnectionString.
  • 各データ ソースの ImpersonationAccount パスワードまたは認証パスワード。

こちらも参照ください

Analysis Services データベースのバックアップと復元
表形式モデルの互換性レベル