チュートリアル: Microsoft Purview MSI のデータ ソースへのアクセスを大規模に構成する
データ ソースをスキャンするには、Microsoft Purview にアクセスする必要があります。 このチュートリアルは、Azure サブスクリプション所有者と Microsoft Purview データ ソース管理者を対象としています。 これは、必要なアクセスを識別し、Azure データ ソース全体で Microsoft Purview に必要な認証とネットワークルールを設定するのに役立ちます。
このチュートリアル シリーズのパート 2 では、次の作業を行います。
- データ ソースを見つけて、データ ソース サブスクリプションの一覧を準備します。
- スクリプトを実行して、Azure のデータ ソース全体で不足しているロールベースのアクセス制御 (RBAC) または必要なネットワーク構成を構成します。
- 出力レポートを確認します。
前提条件
- データ ソースが配置されている Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始 する前に無料アカウントを作成 してください。
- Microsoft Purview アカウント。
- Azure SQL Database、Azure Synapse Analytics、Azure SQL Managed Instanceなどのデータ ソースを持つ各サブスクリプション内の Azure Key Vault リソース。
- Microsoft Purview MSI 構成スクリプト。
注:
Microsoft Purview MSI 構成スクリプトは、Windows でのみ使用できます。 このスクリプトは現在、Microsoft Purview マネージド ID (MSI) でサポートされています。
重要
運用環境にデプロイする前に、スクリプトが Azure 環境で実行するすべての変更をテストして確認することを強くお勧めします。
データ ソースの 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 コンピューターからスクリプトを実行するには、次の手順に従います。
Microsoft Purview MSI 構成 スクリプトを任意の場所にダウンロードします。
コンピューターで、Windows タスク バーの検索ボックスに 「PowerShell 」と入力します。 検索リストで、Windows PowerShellを長押し (または右クリック) し、[管理者として実行] を選択します。
[PowerShell] ウィンドウで、次のコマンドを入力します。 (を、抽出したスクリプト ファイルのフォルダー パスに置き換えます
<path-to-script>
)。dir -Path <path-to-script> | Unblock-File
次のコマンドを入力して、Azure コマンドレットをインストールします。
Install-Module -Name Az -AllowClobber -Scope CurrentUser
続行する必要がある NuGet プロバイダーのプロンプトが表示されたら、「Y」と入力し、[Enter] を選択します。
[ 信頼されていないリポジトリ] というプロンプトが表示されたら、「 A」と入力し、[Enter] を選択 します。
前の手順を繰り返して、 モジュールと
AzureAD
モジュールをAz.Synapse
インストールします。
PowerShell が必要なモジュールをインストールするには、最大で 1 分かかる場合があります。
スクリプトを実行するために必要な他のデータを収集する
PowerShell スクリプトを実行してデータ ソース サブスクリプションの準備ができているかどうかを確認する前に、スクリプトで使用する次の引数の値を取得します。
AzureDataType
: データ ソースの種類として次のいずれかのオプションを選択して、サブスクリプション全体でデータ型の準備をチェックします。BlobStorage
AzureSQLMI
AzureSQLDB
ADLSGen2
ADLSGen1
Synapse
All
PurviewAccount
: 既存の Microsoft Purview アカウント リソース名。PurviewSub
: Microsoft Purview アカウントがデプロイされているサブスクリプション ID。
アクセス許可を確認する
ユーザーが次のロールとアクセス許可を持っていることを確認します。
少なくとも、Azure 環境でスクリプトを実行するには、次のアクセス許可が必要です。
役割 | 範囲 | なぜそれが必要なのですか? |
---|---|---|
グローバル リーダー | Azure AD テナント | ユーザー グループ メンバーシップと Microsoft Purview MSI Azure SQL 管理読み取りするには |
グローバル管理者 | Azure AD テナント | マネージド インスタンスにディレクトリ閲覧者ロールを割り当てるにはAzure SQL |
共同作成者 | Microsoft Purview アカウントが作成されるサブスクリプションまたはリソース グループ | Microsoft Purview アカウント リソースを読み取り、Key Vault リソースとシークレットを作成するには |
所有者またはユーザー アクセス管理者 | Azure データ ソースが配置されている管理グループまたはサブスクリプション | RBAC を割り当てるには |
共同作成者 | Azure データ ソースが配置されている管理グループまたはサブスクリプション | ネットワーク構成を設定するには |
SQL 管理 (Azure AD Authentication) | Azure SQL Server インスタンスまたはマネージド インスタンスAzure SQL | db_datareader ロールを Microsoft Purview に割り当てるには |
Azure キー コンテナーへのアクセス | Azure SQL Database、Azure SQL Managed Instance、またはAzure Synapse認証のシークレットKey Vault取得/一覧表示するためのアクセス |
クライアント側の準備スクリプトを実行する
次の手順を実行して、スクリプトを実行します。
スクリプトのフォルダーに移動するには、次のコマンドを使用します。 を、抽出したファイルのフォルダー パスに置き換えます
<path-to-script>
。cd <path-to-script>
次のコマンドを実行して、ローカル コンピューターの実行ポリシーを設定します。 実行ポリシーの変更を求めるメッセージが表示されたら、[はい] に「A」と入力します。
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
次のパラメーターを使用してスクリプトを実行します。
DataType
、PurviewName
、および プレースホルダーをSubscriptionID
置き換えます。.\purview-msi-configuration.ps1 -AzureDataType <DataType> -PurviewAccount <PurviewName> -PurviewSub <SubscriptionID>
コマンドを実行すると、Azure Active Directory 資格情報を使用して Azure と Azure AD にサインインするように求めるポップアップ ウィンドウが 2 回表示されることがあります。
環境内の Azure サブスクリプションとリソースの数によっては、レポートの作成に数分かかることがあります。
キー コンテナー内の資格情報が一致しない場合は、Azure SQL Server インスタンスにサインインするように求められる場合があります。 資格情報を指定するか、Enter キーを 押 して特定のサーバーをスキップできます。
プロセスが完了したら、出力レポートを表示して変更を確認します。
詳細情報
スクリプトでサポートされているデータ ソースは何ですか?
現在、スクリプトでは次のデータ ソースがサポートされています。
- 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。 選択したスコープで Azure RBAC 閲覧者 ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。
- Rbac。 選択したスコープの下の各サブスクリプションで、Azure RBAC Storage Blob Data Reader ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。
- ネットワーク。 ストレージ用にプライベート エンドポイントが作成され、Blob Storage に対して有効になっているかどうかを報告します。
- サービス エンドポイント。 プライベート エンドポイントがオフの場合は、サービス エンドポイントがオンかどうかをチェックし、[信頼された Microsoft サービスにこのストレージ アカウントへのアクセスを許可する] を有効にします。
Azure Data Lake Storage Gen2 (ADLSGen2)
- Rbac。 選択したスコープで Azure RBAC 閲覧者 ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。
- Rbac。 選択したスコープの下の各サブスクリプションで、Azure RBAC Storage Blob Data Reader ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。
- ネットワーク。 ストレージ用にプライベート エンドポイントが作成され、Blob Storage に対して有効になっているかどうかを報告します。
- サービス エンドポイント。 プライベート エンドポイントがオフの場合は、サービス エンドポイントがオンかどうかをチェックし、[信頼された Microsoft サービスにこのストレージ アカウントへのアクセスを許可する] を有効にします。
Azure Data Lake Storage Gen1 (ADLSGen1)
- ネットワーク。 サービス エンドポイントがオンになっていることを確認し、[すべての Azure サービスがData Lake StorageでこのData Lake Storage Gen1 アカウントにアクセスすることを許可する] を有効にします。
- アクセス 許可。 Microsoft Purview MSI に読み取り/実行アクセス権を割り当てます。 アクセス権を確認します。
Azure SQL データベース (AzureSQLDB)
SQL Server インスタンス:
- ネットワーク。 パブリック エンドポイントとプライベート エンドポイントのどちらを有効にするかを報告します。
- ファイアウォール。 プライベート エンドポイントがオフの場合は、ファイアウォール規則を確認し 、[Azure サービスとリソースがこのサーバーにアクセスできるようにする] を有効にします。
- Azure AD 管理。 Azure SQL Database の Azure AD 認証を有効にします。
SQL データベース:
- SQL ロール。 db_datareader ロールを Microsoft Purview MSI に割り当てます。
Azure SQL Managed Instance (AzureSQLMI)
SQL Managed Instance サーバー:
ネットワーク。 パブリック エンドポイントまたはプライベート エンドポイントがオンになっていることを確認します。 パブリック エンドポイントがオフになっているかどうかを報告します。
ProxyOverride。 Azure SQL Managed Instanceがプロキシまたはリダイレクトとして構成されていることを確認します。
ネットワーク。 NSG 規則を更新して、必要なポート経由でSQL Server インスタンスへの AzureCloud 受信アクセスを許可します。
- リダイレクト: 1433 と 11000-11999
または
- プロキシ: 3342
このアクセス権を確認します。
Azure AD 管理。 Azure SQL Managed Instanceの Azure AD 認証を有効にします。
SQL データベース:
- SQL ロール。 db_datareader ロールを Microsoft Purview MSI に割り当てます。
Azure Synapse (Synapse) 専用プール
Rbac。 選択したスコープで Azure RBAC 閲覧者 ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。
Rbac。 選択したスコープの下の各サブスクリプションで、Azure RBAC Storage Blob Data Reader ロールを Microsoft Purview MSI に割り当てます。 割り当てを確認します。
SQL Server インスタンス (専用プール):
- ネットワーク。 パブリック エンドポイントまたはプライベート エンドポイントがオンかどうかを報告します。
- ファイアウォール。 プライベート エンドポイントがオフの場合は、ファイアウォール規則を確認し 、[Azure サービスとリソースがこのサーバーにアクセスできるようにする] を有効にします。
- Azure AD 管理。 Azure SQL Database の Azure AD 認証を有効にします。
SQL データベース:
- SQL ロール。 db_datareader ロールを Microsoft Purview MSI に割り当てます。
次の手順
このチュートリアルでは、次の方法を学習しました。
- 必要なアクセスを特定し、Azure データ ソース全体で Microsoft Purview に必要な認証とネットワークルールを設定します。
次のチュートリアルに進み、 Microsoft Purview で複数のソースを登録してスキャンする方法について説明します。