Microsoft Purview MSI のデータ ソースへのアクセスを大規模に構成する

重要

Microsoft Purview 統合カタログと従来の Microsoft Purview データ ガバナンス機能 (旧称 Azure Purview) は廃止されます。 Microsoft は、Microsoft Fabric のデータ ガバナンス機能を統合しています。 新しいアカウントは作成できなくなり、既存の機能は 2027 年 11 月 12 日までメンテナンス モードのままになります。 廃止のタイムライン、移行ガイダンス、推奨される次の手順については、 Microsoft Purview データ ガバナンスの廃止のお知らせを参照してください。

Microsoft Purview は、データ ソースをスキャンするために、それらへのアクセス権を必要とします。 このチュートリアルは、Azure サブスクリプション所有者と Microsoft Purview データ ソース管理者を対象としています。 これは、必要なアクセスを特定し、Azure データ ソース全体で Microsoft Purview に必要な認証とネットワーク ルールを設定するのに役立ちます。

このチュートリアル シリーズのパート 2 では、次の内容を行います。

  • データ ソースを見つけ、データ ソース サブスクリプションの一覧を準備します。
  • スクリプトを実行して、不足しているロールベースのアクセス制御 (RBAC) や、Azure のデータ ソース全体で必要なネットワーク構成を構成します。
  • 出力レポートを確認します。

前提条件

注:

Microsoft Purview MSI 構成スクリプトは、Windows でのみ使用できます。 このスクリプトは現在、Microsoft Purview マネージド ID (MSI) でサポートされています。

重要

スクリプトを運用環境にデプロイする前に、スクリプトが Azure 環境で実行するすべての変更をテストして検証することを強くお勧めします。

データ ソースの Azure サブスクリプション リストを準備する

スクリプトを実行する前に、次の 4 つの列を持つ .csv ファイル (たとえば、"C:\temp\Subscriptions.csv" など) を作成します。

列名 説明 例
SubscriptionId データ ソースの Azure サブスクリプション ID。 aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
KeyVaultName データ ソース サブスクリプションにデプロイされている既存のキー コンテナーの名前。 ContosoDevKeyVault
SecretNameSQLUserName Microsoft Entraを使用してAzure Synapse、Azure SQLデータベース、またはAzure SQL Managed InstanceにサインインできるMicrosoft Entraユーザー名を含む既存のAzure Key Vaultシークレットの名前認証できます。 ContosoDevSQLAdmin
SecretNameSQLPassword 以下を使用して Azure Synapse、Azure SQL Database、または Azure SQL Managed Instance にサインインできるMicrosoft Entraユーザー パスワードを含む既存のAzure Key Vault シークレットの名前Microsoft Entra 認証。 ContosoDevSQLPassword

サンプル .csv ファイル:

サンプルのサブスクリプション リストを示すスクリーンショット。

注:

必要に応じて、コード内のファイル名とパスを更新できます。

スクリプトを実行し、必要な PowerShell モジュールをインストールします

Windows コンピューターからスクリプトを実行するには、次の手順に従います。

  1. Microsoft Purview MSI 構成 スクリプトを任意の場所にダウンロードします。

  2. お使いのコンピューターで、Windows タスク バーの検索ボックスに「 PowerShell 」と入力します。 検索ボックスの一覧で、[Windows PowerShell] を長押し (または右クリック) して、[管理者として実行] を選択します。

  3. [PowerShell] ウィンドウで、次のコマンドを入力します。 ( <path-to-script> を抽出したスクリプト ファイルのフォルダー パスに置き換えます)。

    dir -Path <path-to-script> | Unblock-File
    
  4. 次のコマンドを入力して、Azure コマンドレットをインストールします。

    Install-Module -Name Az -AllowClobber -Scope CurrentUser
    
  5. 続 行するには NuGet プロバイダーが必要ですというプロンプトが表示されたら、「 Y」と入力し、 Enter キーを押します。

  6. [ 信頼できないリポジトリ] プロンプトが表示されたら、「 A」と入力し、[ Enter] を選択します。

  7. 前の手順を繰り返して、 Az.Synapse モジュールと AzureAD モジュールをインストールします。

PowerShell が必要なモジュールのインストールには、最大で 1 分かかる場合があります。

スクリプトの実行に必要なその他のデータを収集します

PowerShell スクリプトを実行してデータ ソース サブスクリプションの準備が整っていることを確認する前に、スクリプトで使用する次の引数の値を取得します。

  • AzureDataType: データ ソースの種類として、次のいずれかのオプションを選択して、サブスクリプション全体のデータの種類に対する準備状態をチェックします。

    • BlobStorage

    • AzureSQLMI

    • AzureSQLDB

    • ADLSGen2

    • ADLSGen1

    • Synapse

    • All

  • PurviewAccount: 既存の Microsoft Purview アカウントのリソース名。

  • PurviewSub: Microsoft Purview アカウントが展開されているサブスクリプション ID。

アクセス許可を確認する

ユーザーに次のロールとアクセス許可があることを確認します。

Azure 環境でスクリプトを実行するには、少なくとも次のアクセス許可が必要です。

役割 範囲 なぜ必要なのですか?
グローバル閲覧者 Microsoft Entra テナント Azure SQL 管理ユーザー グループ メンバーシップと Microsoft Purview MSI を読むには
アプリケーション管理者 Microsoft Entra テナント ディレクトリ閲覧者ロールを Azure SQL マネージド インスタンスに割り当てるには
共同作成者 Microsoft Purview アカウントが作成されているサブスクリプションまたはリソース グループ Microsoft Purview アカウント リソースを読み取り、Key Vault リソースとシークレットを作成するには
所有者またはユーザー アクセス管理者 Azure データ ソースが配置されている管理グループまたはサブスクリプション RBAC を割り当てるには
共同作成者 Azure データ ソースが配置されている管理グループまたはサブスクリプション ネットワーク構成を設定するには
SQL 管理 (Microsoft Entra 認証) Azure SQL Server インスタンスまたは Azure SQL マネージド インスタンス Microsoft Purview に db_datareader ロールを割り当てるには
Azure キー コンテナーへのアクセス Azure SQL Database、Azure SQL Managed Instance、または Azure Synapse 認証の Key Vault シークレットを取得/一覧表示するためのアクセス

クライアント側準備スクリプトを実行する

次の手順を実行してスクリプトを実行します。

  1. 次のコマンドを使用して、スクリプトのフォルダーに移動します。 <path-to-script>を抽出されたファイルのフォルダー パスに置き換えます。

    cd <path-to-script>
    
  2. 次のコマンドを実行して、ローカル コンピューターの実行ポリシーを設定します。 実行ポリシーを変更するように求められたら、[はい] から [すべて] に A を入力します。

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted
    
  3. 次のパラメーターを使用してスクリプトを実行します。 DataType、PurviewName、SubscriptionID のプレースホルダーを置き換えます。

    .\purview-msi-configuration.ps1 -AzureDataType <DataType> -PurviewAccount <PurviewName> -PurviewSub <SubscriptionID>
    

    コマンドを実行すると、Azure Entra 資格情報を使用して Azure と Microsoft Entra ID にサインインするように求めるポップアップ ウィンドウが 2 回表示される場合があります。

環境内の Azure サブスクリプションとリソースの数によっては、レポートの作成に数分かかることがあります。

キー コンテナー内の資格情報が一致しない場合、Azure SQL Server インスタンスにサインインするように求められることがあります。 資格情報を指定するか、 Enter キーを押して特定のサーバーをスキップします。

プロセスが完了したら、出力レポートを表示して変更を確認します。

詳細情報

スクリプトはどのようなデータ ソースをサポートしていますか?

現在、スクリプトは次のデータ ソースをサポートしています。

  • Azure Blob Storage (BlobStorage)
  • Azure Data Lake Storage Gen2 (ADLSGen2)
  • Azure Data Lake Storage Gen1 (ADLSGen1)
  • Azure SQL Database (AzureSQLDB)
  • Azure SQL Managed Instance (AzureSQLMI)
  • Azure Synapse (Synapse) 専用プール

スクリプトを実行するときに、これらのデータ ソースのすべてまたは一部を入力パラメーターとして選択できます。

スクリプトにはどのような構成が含まれていますか?

このスクリプトは、次のタスクを自動的に完了するのに役立ちます。

Azure Blob Storage (BlobStorage)

  • RBAC です。 選択したスコープの Microsoft Purview MSI に Azure RBAC 閲覧者ロールを割り当てます。 割り当てを確認します。
  • RBAC です。 選択したスコープの下にある各サブスクリプションで、Azure RBAC ストレージ BLOB データ閲覧者ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。
  • ネットワーク。 プライベート エンドポイントがストレージ用に作成され、BLOB ストレージに対して有効になっているかどうかを報告します。
  • サービス エンドポイント。 プライベート エンドポイントがオフの場合は、サービス エンドポイントがオンかどうかチェックし、[信頼された Microsoft サービスがこのストレージ アカウントにアクセスすることを許可する] を有効にします。

Azure Data Lake Storage Gen2 (ADLSGen2)

  • RBAC です。 選択したスコープの Microsoft Purview MSI に Azure RBAC 閲覧者ロールを割り当てます。 割り当てを確認します。
  • RBAC です。 選択したスコープの下にある各サブスクリプションで、Azure RBAC ストレージ BLOB データ閲覧者ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。
  • ネットワーク。 プライベート エンドポイントがストレージ用に作成され、BLOB ストレージに対して有効になっているかどうかを報告します。
  • サービス エンドポイント。 プライベート エンドポイントがオフの場合は、サービス エンドポイントがオンかどうかチェックし、[信頼された Microsoft サービスがこのストレージ アカウントにアクセスすることを許可する] を有効にします。

Azure Data Lake Storage Gen1 (ADLSGen1)

  • ネットワーク。 サービス エンドポイントがオンになっていることを確認し、すべての Azure サービスが Data Lake Storage のこの Data Lake Storage Gen1 アカウントにアクセスすることを許可します。
  • アクセス許可。 Microsoft Purview MSI への読み取り/実行アクセス権を割り当てます。 アクセスを確認します。

Azure SQL Database (AzureSQLDB)

  • SQL Server インスタンス:

    • できます。 パブリック エンドポイントとプライベート エンドポイントのどちらが有効かを報告します。
    • ファイアウォール。 プライベート エンドポイントがオフの場合は、ファイアウォール規則を確認し、[Azure サービスとリソースにこのサーバーへのアクセスを許可する] を有効にします。
    • Microsoft Entra 管理。 Azure SQL Database の Microsoft Entra 認証を有効にします。
  • SQL データベース:

    • SQL ロール。 db_datareader ロールを Microsoft Purview MSI に割り当てます。

Azure SQL Managed Instance (AzureSQLMI)

  • SQL Managed Instance サーバー:

    • できます。 パブリック エンドポイントまたはプライベート エンドポイントがオンになっていることを確認します。 パブリック エンドポイントがオフの場合は報告します。

    • ProxyOverride。 Azure SQL Managed Instance がプロキシまたはリダイレクトとして構成されていることを確認します。

    • ネットワーク。 NSG 規則を更新して、必要なポート経由で Azure Cloud の SQL Server インスタンスへの受信アクセスを許可します。

      • リダイレクト: 1433 および 11000-11999

      または

      • Proxy: 3342

      このアクセスを検証します。

    • Microsoft Entra 管理。 Azure SQL Managed Instance の Microsoft Entra 認証を有効にします。

  • SQL データベース:

    • SQL ロール。 db_datareader ロールを Microsoft Purview MSI に割り当てます。

Azure Synapse (Synapse) 専用プール

  • RBAC です。 選択したスコープの Microsoft Purview MSI に Azure RBAC 閲覧者ロールを割り当てます。 割り当てを確認します。

  • RBAC です。 選択したスコープの下にある各サブスクリプションで、Azure RBAC ストレージ BLOB データ閲覧者ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。

  • SQL Server インスタンス (専用プール):

    • できます。 パブリック エンドポイントとプライベート エンドポイントのどちらがオンになっているかを報告します。
    • ファイアウォール。 プライベート エンドポイントがオフの場合は、ファイアウォール規則を確認し、[Azure サービスとリソースにこのサーバーへのアクセスを許可する] を有効にします。
    • Microsoft Entra 管理。 Azure SQL Database の Microsoft Entra 認証を有効にします。
  • SQL データベース:

    • SQL ロール。 db_datareader ロールを Microsoft Purview MSI に割り当てます。

次の手順

このチュートリアルでは、次の方法について説明しました。

  • 必要なアクセスを特定し、Azure データ ソース全体で Microsoft Purview に必要な認証とネットワーク ルールを設定します。

次のチュートリアルに進み、 Microsoft Purview で複数のソースを登録してスキャンする方法について説明します。