チュートリアル: データ ソースの準備状況を大規模に確認する

データ ソースをスキャンするには、Microsoft Purview にアクセスする必要があります。 資格情報を使用してこのアクセスを取得します。 資格情報は、登録されているデータ ソースに対する認証に Microsoft Purview が使用できる認証情報です。 Microsoft Purview の資格情報を設定するには、次のようないくつかの方法があります。

  • Microsoft Purview アカウントに割り当てられたマネージド ID。
  • Azure Key Vaultに格納されているシークレット。
  • サービス プリンシパル。

この 2 部構成のチュートリアル シリーズでは、Azure サブスクリプション全体のさまざまな Azure データ ソースに必要な Azure ロールの割り当てとネットワーク アクセスを大規模に検証して構成するのに役立ちます。 その後、Microsoft Purview で Azure データ ソースを登録してスキャンできます。

Microsoft Purview アカウントをデプロイした後、Azure データ ソースを登録してスキャンする前に、Microsoft Purview データ ソースの準備チェックリスト スクリプトを実行します。

このチュートリアル シリーズのパート 1 では、次の作業を行います。

  • データ ソースを見つけて、データ ソース サブスクリプションの一覧を準備します。
  • 準備チェックリスト スクリプトを実行して、Azure のデータ ソース全体で不足しているロールベースのアクセス制御 (RBAC) またはネットワーク構成を見つけます。
  • 出力レポートで、Microsoft Purview マネージド ID (MSI) で必要なネットワーク構成とロールの割り当てが見つからないか確認します。
  • Azure サブスクリプション所有者が推奨されるアクションを実行できるように、レポートをデータ Azure サブスクリプション所有者と共有します。

前提条件

注:

Microsoft Purview データ ソースの準備チェックリストは、Windows でのみ使用できます。 この準備チェックリスト スクリプトは現在、Microsoft Purview MSI でサポートされています。

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

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

列名 説明
SubscriptionId データ ソースの Azure サブスクリプション ID。 12345678-aaaa-bbbb-cccc-1234567890ab
KeyVaultName データ ソース サブスクリプションにデプロイされている既存のキー コンテナーの名前。 ContosoDevKeyVault
SecretNameSQLUserName Azure AD 認証を使用して、Azure Synapse、Azure SQL Database、またはAzure SQL Managed Instanceにサインインできる Azure Active Directory (Azure AD) ユーザー名を含む既存の Azure Key Vault シークレットの名前。 ContosoDevSQLAdmin
SecretNameSQLPassword Azure AD 認証を使用して、Azure Synapse、Azure SQL Database、またはAzure SQL Managed Instanceにサインインできる Azure AD ユーザー パスワードを含む既存の Azure Key Vault シークレットの名前。 ContosoDevSQLPassword

サンプル .csv ファイル:

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

注:

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

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

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

  1. Microsoft Purview データ ソースの準備チェックリスト スクリプトを任意の場所にダウンロードします。

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

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

スクリプトを実行するために必要な他のデータを収集する

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

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

    • BlobStorage

    • AzureSQLMI

    • AzureSQLDB

    • ADLSGen2

    • ADLSGen1

    • Synapse

    • All

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

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

アクセス許可を確認する

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

ロールまたはアクセス許可 範囲
グローバル リーダー Azure AD テナント
Reader Azure データ ソースが配置されている Azure サブスクリプション
Reader Microsoft Purview アカウントが作成されたサブスクリプション
SQL 管理 (Azure AD Authentication) 専用プール、Azure SQL Database インスタンス、Azure SQL マネージド インスタンスのAzure Synapse
Azure キー コンテナーへのアクセス キー コンテナーのシークレットまたは Azure Key Vault シークレット ユーザーの取得/一覧表示へのアクセス

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

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

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

    cd <path-to-script>
    
  2. 次のコマンドを実行して、ローカル コンピューターの実行ポリシーを設定します。 実行ポリシーの変更を求めるメッセージが表示されたら、[はい]「A」と入力します。

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

    .\purview-data-sources-readiness-checklist.ps1 -AzureDataType <DataType> -PurviewAccount <PurviewName> -PurviewSub <SubscriptionID>
    

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

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

プロセスが完了したら、出力レポートを確認します。これは、Azure サブスクリプションまたはリソースで検出された不足している構成を示しています。 結果は、 PassedNot Passed、または Awareness として表示できます。 organizationで対応するサブスクリプション管理者と結果を共有して、必要な設定を構成できます。

詳細情報

スクリプトでサポートされているデータ ソースは何ですか?

現在、スクリプトでは次のデータ ソースがサポートされています。

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

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

結果に含まれるチェックは何ですか?

Azure Blob Storage (BlobStorage)

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

Azure Data Lake Storage Gen2 (ADLSGen2)

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

Azure Data Lake Storage Gen1 (ADLSGen1)

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

Azure SQL データベース (AzureSQLDB)

  • SQL Server インスタンス:

    • ネットワーク。 パブリック エンドポイントまたはプライベート エンドポイントが有効になっているかどうかを確認します。
    • ファイアウォール。 [Azure サービスとリソースにこのサーバーへのアクセスを許可する] が有効になっているかどうかを確認します。
    • Azure AD 管理。 Azure SQL Server に Azure AD 認証があるかどうかを確認します。
    • Azure AD 管理。 Azure SQL Server Azure AD 管理者ユーザーまたはグループを設定します。
  • SQL データベース:

    • SQL ロール。 Microsoft Purview MSI に db_datareader ロールが割り当てられているかどうかを確認します。

Azure SQL Managed Instance (AzureSQLMI)

  • SQL Managed Instance サーバー:

    • ネットワーク。 パブリック エンドポイントまたはプライベート エンドポイントが有効になっているかどうかを確認します。
    • ProxyOverride。 Azure SQL Managed Instanceがプロキシまたはリダイレクトとして構成されているかどうかを確認します。
    • ネットワーク。 NSG に、必要なポートで AzureCloud を許可する受信規則があるかどうかを確認します。
      • リダイレクト: 1433 と 11000-11999
        または
      • プロキシ: 3342
    • Azure AD 管理。 Azure SQL Server に Azure AD 認証があるかどうかを確認します。
    • Azure AD 管理。 Azure SQL Server Azure AD 管理者ユーザーまたはグループを設定します。
  • SQL データベース:

    • SQL ロール。 Microsoft Purview MSI に db_datareader ロールが割り当てられているかどうかを確認します。

Azure Synapse (Synapse) 専用プール

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

  • Rbac。 選択したスコープで Microsoft Purview MSI に 閲覧者 ロールが割り当てられているかどうかを確認します。

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

    • ネットワーク: パブリック エンドポイントまたはプライベート エンドポイントが有効になっているかどうかを確認します。
    • ファイアウォール: このサーバーへのアクセスを Azure サービスとリソースに許可 するかどうかを確認します。
    • Azure AD 管理: Azure SQL Server に Azure AD 認証があるかどうかを確認します。
    • Azure AD 管理: Azure SQL Server Azure AD 管理者ユーザーまたはグループを設定します。
  • SQL データベース:

    • SQL ロール。 Microsoft Purview MSI に db_datareader ロールが割り当てられているかどうかを確認します。

次の手順

このチュートリアルでは、次の方法を学習しました。

  • Microsoft Purview で登録してスキャンする前に、Microsoft Purview の準備チェックリストを実行して、Azure サブスクリプションに構成がないかどうかを大規模にチェックします。

次のチュートリアルに進み、必要なアクセスを特定し、Azure データ ソース全体で Microsoft Purview に必要な認証とネットワーク規則を設定する方法について説明します。