マネージド ID の概要

Microsoft Entra ID のマネージド ID を使用して、クラスターは他の Microsoft Entra で保護されたリソース (Azure Storage など) にアクセスすることができます。 ID は Azure プラットフォームによって管理され、シークレットをプロビジョニングまたはローテーションする必要はありません。

マネージド ID の種類

Azure Data Explorer クラスターには、次の 2 種類の ID を付与できます。

  • システム割り当て ID: クラスターに関連付けられ、リソースが削除された場合は削除されます。 クラスターは 1 つのシステム割り当て ID しか持つことはできません。

  • ユーザー割り当て ID: クラスターに割り当てることができるスタンドアロン Azure リソース。 クラスターは複数のユーザー割り当て ID を持つことができます。

マネージド ID による認証

シングルテナントの Microsoft Entra リソースでは、同じテナント内のリソースとの通信にのみマネージド ID を使用できます。 この制約により、特定の認証シナリオでのマネージド ID の使用が制限されます。 たとえば、Azure Data Explorer のマネージド ID を使用して、別のテナントにあるイベント ハブにアクセスすることはできません。 このようなケースでは、アカウントキー ベースの認証を使用します。

Azure Data Explorer はマルチテナント対応です。つまり、異なるテナントのマネージド ID に対するアクセス権を付与できます。 そのためには、関連するセキュリティ ロールを割り当てます。 ロールを割り当てる際は、「セキュリティ プリンシパルの参照」に記載されているマネージド ID についての説明を参照します。

マネージド ID を使用して認証するには、こちらの手順に従います。

  1. クラスターのマネージド ID を構成する
  2. マネージド ID ポリシーを構成する
  3. サポートされているワークフローでマネージド ID を使用する

クラスターのマネージド ID を構成する

クラスターには、特定のマネージド ID に代わって動作するためのアクセス許可が必要です。 この割り当ては、システム割り当てマネージド ID とユーザー割り当てマネージド ID の両方に指定することができます。 手順については、「Azure Data Explorer クラスターのマネージド ID の構成」を参照してください。

マネージド ID ポリシーを構成する

マネージド ID を使用するには、この ID を許可するマネージド ID ポリシーを構成する必要があります。 手順については、「マネージド ID ポリシー」を参照してください。

マネージド ID ポリシーの管理コマンドは次のとおりです。

サポート対象ワークフローでマネージド ID を使用する

マネージド ID をクラスターに割り当て、関連するマネージド ID ポリシーの使用を構成したら、次のワークフローでマネージド ID 認証の使用を開始できます。

  • 外部テーブル: マネージド ID 認証を使用して外部テーブルを作成します。 認証は、接続文字列の一部として表されます そのような例については、「ストレージ接続文字列」を参照してください。 マネージド ID 認証で外部テーブルを使用する手順については、「マネージド ID を使用して外部テーブルを認証する」を参照してください。

  • 連続エクスポート: マネージド ID の代理で連続エクスポートを実行します。 外部テーブルが偽装認証を使用する場合、またはエクスポート クエリが他のデータベースのテーブルを参照する場合は、マネージド ID が必要です。 マネージド ID を使用するには、create-or-alter コマンドで指定するオプションのパラメーターにマネージド ID 識別子を追加します。 詳細な手順については、「連続エクスポートにおけるマネージド ID を使用した認証」を参照してください。

  • Event Hubs ネイティブ インジェスト: イベント ハブのネイティブ インジェストでマネージド ID を使用します。 詳細については、イベント ハブから Azure Data Explorer へのデータの取り込みに関するページを参照してください。

  • Python プラグイン: マネージド ID を使用して、Python プラグインで使用される外部アーティファクトのストレージ アカウントに対する認証を行います。 SandboxArtifacts の使用をクラスター レベルのマネージド ID ポリシーで定義する必要があることに注意してください。 詳細については、「Python プラグイン」を参照してください。

  • SDK ベースのインジェスト 独自のストレージ アカウントからのインジェスト用に BLOB をキューに入れる場合は、Shared Access Signature (SAS) トークンおよび共有キー認証方式の代わりにマネージド ID を使用することができます。 詳細については、「マネージド ID 認証を使用したインジェスト用のキュー BLOB」を参照してください。

  • ストレージからの取り込み: マネージド ID 認証を使用して、クラウド ストレージ内のファイルからターゲット テーブルにデータを取り込みます。 詳細については、「ストレージからの取り込み」を参照してください。