マネージド ID を使用して連続エクスポート ジョブを実行する
連続エクスポート ジョブは、定期的に実行されるクエリを使用して外部テーブルにデータをエクスポートします。
次のシナリオでは、継続的エクスポート ジョブを マネージド ID で構成する必要があります。
- 外部テーブルが偽装認証を使用する場合。
- クエリが他のデータベースのテーブルを参照する場合。
- クエリが 有効な行レベルのセキュリティ ポリシーを持つテーブルを参照する場合。
マネージド ID で構成された連続エクスポート ジョブは、マネージド ID の代わりに実行されます。
この記事では、システム割り当てマネージド ID またはユーザー割り当てマネージド ID を構成し、その ID を使用して連続エクスポート ジョブを作成する方法について説明します。
前提条件
- クラスターとデータベース。 クラスターとデータベースを作成します。
- すべてのデータベース管理データベースに対するアクセス許可です。
マネージド ID の構成
マネージド ID には、次の 2 種類があります。
システム割り当て: システム割り当て ID はクラスターに接続され、クラスターが削除されると削除されます。 クラスターごとに許可されるシステム割り当て ID は 1 つだけです。
ユーザー割り当て: ユーザー割り当てマネージド ID は、スタンドアロンの Azure リソースです。 クラスターには、複数のユーザー割り当て ID を割り当てることができます。
次のいずれかのタブを選択して、優先するマネージド ID の種類を設定します。
Azure portalで、マネージド ID リソースの左側のメニューで、[プロパティ] を選択します。 次の手順で使用するために、 テナント ID と プリンシパル ID を コピーして保存します。
次の .alter-merge policy managed_identity コマンドを実行し、 を前の手順のマネージド ID オブジェクト ID に置き換えます
<objectId>
。 このコマンドは、継続的エクスポートで マネージド ID を 使用できるようにするマネージド ID ポリシーをクラスターに設定します。.alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "AutomatedFlows" } ]```
注意
特定のデータベースにポリシーを設定するには、 ではなく
cluster
を使用database <DatabaseName>
します。次のコマンドを実行して、外部テーブルを含むデータベースなど、連続エクスポートに使用されるすべてのデータベースに対するアクセス許可をマネージド ID データベース ビューアー に付与します。
.add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
を関連するデータベースに置き換え、
<objectId>
手順 2 のマネージド ID プリンシパル ID に、<tenantId>
手順 2 のMicrosoft Entra ID テナント ID に置き換えます<DatabaseName>
。
外部テーブルを設定する
外部テーブルは、Azure Blob Storage、Azure Data Lake Gen1、Azure Data Lake Gen2、SQL Serverなど、Azure Storage にあるデータを参照します。
次のいずれかのタブを選択して、Azure Storage または外部テーブルSQL Server設定します。
ストレージ 接続文字列 テンプレートに基づいて接続文字列を作成します。 この文字列は、アクセスするリソースとその認証情報を示します。 連続エクスポート フローの場合は、 偽装認証をお勧めします。
.create または .alter 外部テーブルを実行して、テーブルを作成します。 前の手順の接続文字列を storageConnectionString 引数として使用します。
たとえば、次のコマンド
MyExternalTable
では、 内の CSV 形式のデータmycontainer
mystorageaccount
を参照する が作成Azure Blob Storage。 テーブルには 2 つの列があります。1 つは整数x
用、もう 1 つは文字列s
です。 接続文字列は で;impersonate
終わります。これは、偽装認証を使用してデータ ストアにアクセスすることを示します。.create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv ( h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' )
関連する外部データ ストアに対するマネージド ID 書き込みアクセス許可を付与します。 継続的エクスポート ジョブはマネージド ID に代わってデータ ストアにデータをエクスポートするため、マネージド ID には書き込みアクセス許可が必要です。
外部データ ストア 必要なアクセス許可 アクセス許可を付与する Azure Blob Storage ストレージ BLOB データ共同作成者 Azure ロールを割り当てる Data Lake Storage Gen2 ストレージ BLOB データ共同作成者 Azure ロールを割り当てる Data Lake Storage Gen1 共同作成者 Azure ロールを割り当てる
連続エクスポート ジョブを作成する
次のいずれかのタブを選択して、ユーザー割り当てマネージド ID またはシステム割り当てマネージド ID の代わりに実行される連続エクスポート ジョブを作成します。
プロパティをマネージド ID オブジェクト ID に設定してmanagedIdentity
、.create-or-alter continuous-export コマンドを実行します。
たとえば、次のコマンドは、 という名前 MyExport
の連続エクスポート ジョブを作成して、ユーザー割り当てマネージド ID の代わりに データ MyTable
を に MyExternalTable
エクスポートします。 <objectId>
はマネージド ID オブジェクト ID である必要があります。
.create-or-alter continuous-export MyExport over (MyTable) to table MyExternalTable with (managedIdentity=<objectId>, intervalBetweenRuns=5m) <| MyTable
関連コンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示