SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server 2022 New Features: Microsoft Purview 統合

leave a comment

SQL Server 2022 CTP 2.0 時点の情報となり、今後の Preview / 一般提供開始時には変更されている可能性もあります。

Microsoft Purview は、データの管理とガバナンスのため統合データガバナンスサービスとなり、サポートされるデータソースとして、以前から SQL Server が含まれています。

SQL Server 2022 ならびに、SQL Database では、新機能として「データポリシー」(アクセスポリシー / データ所有者ポリシー) の機能が追加されており、Purivew で設定したポリシーを SQL Server に反映するということができるようになりました。

Build 2022 のタイミングで、この機能が Public Preview として、提供され、だれでも試せるようになりましたので、本ブログでも触れておきます。

前提条件

Purview で SQL Server に対してデータポリシーを使用するための方法については、冒頭で紹介して次のドキュメントで解説されています。

管理対象の SQL Server の前提条件

SQL Server に対してポリシーを設定する場合、該当の SQL Server に対して、「SQL Server on Azure Arc Enabled Server (Azure Arc Enabled SQL Server)」をセットアップしておく必要があります。

ポリシーの設定対象を Purview から選択する際には、SQL Server on Azure Arc Enabled Server が導入され、Arc にオンボードされている環境が対象となります。

SQL Server on Azure Arc Enabled Server に登録が完了したら、SQL Server 2022 の新機能の一つとなる Azure Active Directory 認証の設定 も実施しておく必要があります。

Purview との統合は SQL Server on Azure Arc Enabled Server の「Azure Active Directory」の設定内で実施する必要があるため、Azure Active Directory 認証の設定が必要となります。(AAD 認証の設定は、後日ブログにまとめようと思います)

image

「Enabled Policy Based Authorization」を有効にして、Purview のエンドポイント (https://<Purview Account>.purview.azure.com) を設定することで、Purview 統合を有効化することができます。

「App registration ID」は、Purview でソースを登録する際に使用するので、値を控えておきます。

Purview 統合の設定については、「コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\PurviewConfig」のレジストリキーとして格納されるようです。

 

Purview の前提条件

現時点では、SQL Server に対してポリシーを適用する場合、Purview は次のリージョンに作成しておく必要があります。

  • East US
  • UK South
  • Australia East

サブスクリプションの管理者 / Purview の管理者としてログインしていたとしても、

  • SQL Server on Azure Arc Enabled Server のリソースの所有者または、共同作成者 + ユーザーアクセス管理者の IAM ロール
  • Purview の Root Collection の Data Source Admins

の権限が付与されていないと、ソースとして登録する際の「Data use management」のトグルを有効化することができない (Not authorized to access account となる) ので、権限の設定には注意しておく必要があります。

注意点としてはこれぐらいになります。

 

設定と動作の確認

設定と動作の確認についても、Provision access by data owner for SQL Server on Azure Arc-enabled servers (preview) の通りで対応することができます。

最初にソースとして、SQL Server on Azure Arc Enabled Server を登録します。登録時の Application ID は Azure Active Directory 認証を設定した際に表示されていた App registration ID を指定します。

image

ポリシー設定については、Arc エージェントと Purview 間の通信となるようで、セルフホスト統合ランタイムを用意する必要はありません。(SHIR を使用するように設定することができません)

 

ソースとして SQL Server on Azure Arc Enabled Server の環境を登録すればポリシーを設定することが可能となります。

「Data policy (preview)」から、アクセスポリシーを作成することができ、「data resources」として登録しているサーバーを指定することが可能となります。アクセスポリシーの設定対象のユーザーとなる「principal」には、「Azure Active Directory ユーザー」を指定することになるようで、AAD 認証のユーザーに対してアクセスポリシーを設定することになるかと思います。(Windows 認証 / SQL 認証のユーザーに対してポリシーを設定することは現時点ではできなさそうです)

image

ポリシーを作成したら Publish をすることで、設定が発行されます。

image

 

発行後は、各サーバーでポリシーがダウンロードされる必要があるのですが、Force policy download を実行することで、発行されているポリシーを即時ダウンロードさせることができます。

正常に Purview 統合ができていれば、Analyze downloaded policy state from SQL に記載されている「SELECT * FROM sys.dm_server_external_policy_role_members」を実行することで、AAD ユーザーに対してのポリシーが設定されていることが確認できます。

image

現在設定できる権限としては、次の 3 種類となります。 (Modify もポリシーで選択することができるのですが、現時点ではサポートされていないということが、ドキュメントに記載されています)

  • Read
  • SQL Performance Monitor
  • SQL Security Auditor

Read については、細かな粒度での指定は現時点ではできないようで Read をつけた場合に DB / テーブルの指定はできず、インスタンス内のデータについて参照権限がついている状態となるようです。

設定される権限については、Policy action mapping が参考になります。

 

Purview 統合を行うことで、このような、Purview で設定したポリシーを SQL Server のアクセス権を管理することが可能となります。

Share

Written by Masayuki.Ozawa

5月 31st, 2022 at 10:35 pm

Leave a Reply