次の方法で共有


Azure Data Lake Storage Gen2 のデータフロー エンドポイントを構成する

重要

Azure Arc によって実現されている Azure IoT Operations プレビューは、現在プレビュー段階です。 運用環境ではこのプレビュー ソフトウェアを使わないでください。

Azure IoT Operations の一般公開リリースが提供されたときには、新規インストールをデプロイすることが必要になります。 プレビュー インストールからのアップグレードはできません。

ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

Azure IoT Operations プレビューで Azure Data Lake Storage Gen2 にデータを送信するには、データ フロー エンドポイントを構成できます。 この構成では、送信先エンドポイント、認証方法、テーブル、その他の設定を指定できます。

前提条件

Azure Data Lake Storage Gen2 データフロー エンドポイントを作成する

Azure Data Lake Storage Gen2 のデータフロー エンドポイントを構成するには、Azure Arc 対応 Kubernetes クラスターのマネージド ID を使用することをお勧めします。 この方法は安全であり、シークレットを管理する必要がなくなります。 または、アクセス トークンを使用してストレージ アカウントで認証することもできます。 アクセス トークンを使用する場合、SAS トークンを含む Kubernetes シークレットを作成する必要があります。

  1. IoT Operations ポータルで、[データフロー エンドポイント] タブを選択します。

  2. [新しいデータフロー エンドポイントの作成] で、[Azure Data Lake Storage (第 2 世代)]>[新規] を選択します。

    操作エクスペリエンスを使って新しい ADLS V2 データフロー エンドポイントを作成しているスクリーンショット。

  3. エンドポイントに関する次の設定を入力します。

    設定 内容
    Name データフロー エンドポイントの名前。
    Host <account>.blob.core.windows.net 形式の Azure Data Lake Storage Gen2 エンドポイントのホスト名。 アカウント プレースホルダーをエンドポイント アカウント名に置き換えます。
    認証方法 認証に使用する方式。 [システム割り当てマネージド ID]、[ユーザー割り当てマネージド ID]、または [アクセス トークン] を選びます。
    クライアント ID ユーザー割り当てマネージド ID のクライアント ID "ユーザー割り当てマネージド ID" を使う場合に必要です。
    テナント ID ユーザー割り当てマネージド ID のテナント ID。 "ユーザー割り当てマネージド ID" を使う場合に必要です。
    アクセス トークンのシークレット名 SAS トークンを含む Kubernetes シークレットの名前。 "アクセス トークン" を使う場合に必要です。
  4. [適用] を選択してエンドポイントをプロビジョニングします。

システム割り当てマネージド ID の対象ユーザーをオーバーライドする必要がある場合は、「システム割り当てマネージド ID」セクションを参照してください。

アクセス トークン認証を使用する

アクセス トークン」セクションの手順に従って、ストレージ アカウントの SAS トークンを取得し、それを Kubernetes シークレットに格納します。

次に DataflowEndpoint リソースを作成し、アクセス トークン認証方法を指定します。 ここで、<SAS_SECRET_NAME> を SAS トークンを含むシークレットの名前に置き換え、他のプレースホルダー値も置き換えます。

  1. IoT Operations ポータルで、[データフロー エンドポイント] タブを選択します。

  2. [新しいデータフロー エンドポイントの作成] で、[Azure Data Lake Storage (第 2 世代)]>[新規] を選択します。

  3. エンドポイントに関する次の設定を入力します。

    設定 内容
    Name データフロー エンドポイントの名前。
    Host <account>.blob.core.windows.net 形式の Azure Data Lake Storage Gen2 エンドポイントのホスト名。 アカウント プレースホルダーをエンドポイント アカウント名に置き換えます。
    認証方法 認証に使用する方式。 [アクセス トークン] を選びます。
    同期されたシークレット名 ADLSv2 エンドポイントと同期される Kubernetes シークレットの名前。
    アクセス トークンのシークレット名 SAS トークンを含む Kubernetes シークレットの名前。
  4. [適用] を選択してエンドポイントをプロビジョニングします。

使用可能な認証方法

Azure Data Lake Storage Gen2 エンドポイントでは、次の認証方法を使用できます。

Azure Key Vault を構成し、ワークロード ID を有効にして、安全な設定を有効にする方法の詳細については、「Azure IoT Operations プレビューのデプロイでセキュリティで保護された設定を有効にする」を参照してください。

システム割り当てマネージド ID

Azure IoT Operations では、システム割り当てマネージド ID を使用する認証方法が推奨されます。 Azure IoT Operations により、マネージド ID が自動的に作成され、Azure Arc 対応 Kubernetes クラスターに割り当てられます。 これにより、シークレット管理が不要になり、シームレスな認証が可能になります。

データ フロー エンドポイントを作成する前に、ストレージ アカウントに対する書き込みアクセス許可を持つロールをマネージド ID に割り当てます。 たとえば、"ストレージ BLOB データ共同作成者" ロールを割り当てることができます。 BLOB に対するロールを割り当てる方法の詳細については、「Microsoft Entra ID を使用して BLOB へのアクセスを認可する」を参照してください。

  1. Azure portal で、Azure IoT Operations インスタンスに移動し、[概要] を選択します。
  2. Azure IoT Operations Arc 拡張機能の後に一覧表示されている拡張機能の名前をコピーします。 たとえば、azure-iot-operations-xxxx7 などです。
  3. 拡張機能の名前を使用して、Azure portal でマネージド ID を検索します。 たとえば、azure-iot-operations-xxxx7 を検索します。
  4. ストレージ アカウントへの書き込みアクセス許可を付与するロール ("ストレージ BLOB データ共同作成者" など) を Azure IoT Operations ARC 拡張機能のマネージド ID に割り当てます。 詳細については、「Microsoft Entra ID を使用して BLOB へのアクセスを承認する」をご覧ください。
  5. DataflowEndpoint リソースを作成し、マネージド ID 認証方法を指定します。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[システム割り当てマネージド ID] を選択します。

ほとんどの場合、サービス対象ユーザーを指定する必要はありません。 対象ユーザーを指定しない場合、既定の対象ユーザーのスコープをストレージ アカウントに設定したマネージド ID が作成されます。

システム割り当てマネージド ID の対象ユーザーをオーバーライドする必要がある場合は、audience 設定を指定できます。

ほとんどの場合、サービス対象ユーザーを指定する必要はありません。 対象ユーザーを指定しない場合、既定の対象ユーザーのスコープをストレージ アカウントに設定したマネージド ID が作成されます。

アクセス トークン

代替の認証方法として、アクセス トークンを使用する方法があります。 この方法を使用するには、SAS トークンを使用して Kubernetes シークレットを作成し、そのシークレットを DataflowEndpoint リソースで参照する必要があります。

Azure Data Lake Storage Gen2 (ADLSv2) アカウントの SAS トークンを取得します。 たとえば、Azure portal を使用してストレージ アカウントを参照します。 左側のメニューで、[セキュリティとネットワーク]>[Shared Access Signature] の順に選択します。 次の表を使用して、必要なアクセス許可を設定します。

パラメーター 有効な設定
使用できるサービス BLOB
許可されるリソースの種類 オブジェクト、コンテナー
許可されるアクセス許可 読み取り、書き込み、削除、一覧表示、追加

セキュリティを強化し、最小限の特権の原則に従うために、特定のコンテナーの SAS トークンを生成できます。 認証エラーを防ぐために、必ず SAS トークンで指定されたコンテナーを構成内のデータフローの宛先設定と一致させてください。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[アクセス トークン] を選びます。

[アクセス トークン シークレット名] で作成したアクセス トークン シークレット名を入力します。

シークレットの詳細については、Azure IoT Operations Preview でのシークレットの作成と管理に関する記事を参照してください。

ユーザー割り当てマネージド ID

認証にユーザー マネージド ID を使用するには、まず、セキュリティで保護された設定を有効にして Azure IoT Operations をデプロイする必要があります。 詳細については、「Azure IoT Operations プレビューのデプロイでセキュリティで保護された設定を有効にする」を参照してください。

次に、ユーザー割り当てマネージド ID 認証方法をマネージド ID のクライアント ID、テナント ID、スコープと共に指定します。

Operations Experience のデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[ユーザー割り当てマネージド ID] を選択します。

該当するフィールドに、ユーザー割り当てマネージド ID のクライアント ID とテナント ID を入力します。

ここでは、スコープは省略可能であり、既定値は https://storage.azure.com/.default です。 既定のスコープをオーバーライドする必要がある場合は、Bicep または Kubernetes マニフェストを使用して scope 設定を指定します。

詳細設定

バッチ処理の待機時間やメッセージ数など、Azure Data Lake Storage Gen2 エンドポイントの詳細設定を設定できます。

メッセージの最大数と、メッセージが宛先に送信されるまでの最大待機時間を構成するには、batching 設定を使用します。 この設定は、ネットワーク帯域幅を最適化し、宛先への要求数を減らす場合に役立ちます。

フィールド Description 必須
latencySeconds メッセージを宛先に送信するまでの最大待機時間 (秒数)。 既定値は 60 秒です。 いいえ
maxMessages 宛先に送信するメッセージの最大数。 既定値は、100,000 メッセージです。 いいえ

たとえば、メッセージの最大数を 1,000 に構成し、最大待機時間を 100 秒に設定するには、次の設定を使用します。

Operations Experience で、データフロー エンドポイントの [詳細設定] タブを選択します。

操作エクスペリエンスを使用して ADLS V2 の詳細設定を設定するスクリーンショット。

次のステップ

データフローの詳細については、データフローの作成に関するページを参照してください。