Von Bedeutung
このページには、プレビュー段階にある Kubernetes デプロイ マニフェストを使用して Azure IoT Operations コンポーネントを管理する手順が含まれます。 この機能は、いくつかの制限を設けて提供されているため、運用環境のワークロードには使用しないでください。
ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
Azure IoT Operations から Microsoft Fabric リアルタイム インテリジェンスにデータを送信するために、データフロー エンドポイントを構成できます。 この構成では、宛先エンドポイント、認証方法、トピック、その他の設定を指定できます。
前提条件
注
Event Stream では、Azure Event Hubs を含む複数の入力ソースをサポートしています。 Azure Event Hubs への既存のデータ フローがある場合は、 クイック スタートに示すように、そのフローを Fabric に取り込むことができます。 この記事では、リアルタイム データを次の値の間の他のホップを介さずに Microsoft Fabric に直接フローする方法を説明します。
カスタム エンドポイント接続の詳細を取得する
カスタム エンドポイントの Kafka 互換接続の詳細を取得します。 接続の詳細は、Azure IoT Operations でデータ フロー エンドポイントを構成するために使用されます。
このメソッドでは、Azure IoT Operations インスタンスのマネージド ID を使用して、イベント ストリームで認証します。 システム割り当てマネージド ID 認証方法を使用して、データ フロー エンドポイントを構成します。
接続の詳細は、Fabric ポータルのイベント ストリームの [ ソース ] セクションにあります。
カスタム エンドポイントの詳細パネルで、 Kafka プロトコルを選択します。
[Entra ID Authentication]\(Entra ID 認証\) セクションを選択して、接続の詳細を表示します。
ブートストラップ サーバー、トピック名、接続文字列の主キーの値の詳細をコピーします。 これらの値を使用して、データ フロー エンドポイントを構成します。
| 設定 |
説明 |
| ブートストラップ サーバー |
ブートストラップ サーバー アドレスは、データ フロー エンドポイントのホスト名プロパティに使用されます。 |
| トピック名 |
イベント ハブ名は Kafka トピックとして使用され、 es_aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb の形式です。 |
接続の詳細は、Fabric ポータルのイベント ストリームの [ ソース ] セクションにあります。
カスタム エンドポイントの詳細パネルで、 Kafka プロトコルを選択します。
[SAS キー認証] セクションを選択して、接続の詳細を表示します。
ブートストラップ サーバー、トピック名、接続文字列の主キーの値の詳細をコピーします。 これらの値を使用して、データ フロー エンドポイントを構成します。
| 設定 |
説明 |
| ブートストラップ サーバー |
ブートストラップ サーバー アドレスは、データ フロー エンドポイントのホスト名プロパティに使用されます。 |
| トピック名 |
イベント ハブ名は Kafka トピックとして使用され、 es_aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb の形式です。 |
| 接続文字列 - 主キー |
主キーを含む接続文字列。 |
Microsoft Fabric リアルタイム インテリジェンスのデータフロー エンドポイントを作成する
Microsoft Fabric Real-Time Intelligence では、Simple Authentication and Security Layer (SASL)、システム割り当てマネージド ID、およびユーザー割り当てマネージド ID 認証方法がサポートされます。 使用可能な認証方法の詳細については、「 使用可能な認証方法」を参照してください。
IoT Operations エクスペリエンス ポータルで、[ データ フロー エンドポイント ] タブを選択します。
[新しいデータ フロー エンドポイントの作成] で、Microsoft Fabric Real-Time Intelligence>New を選択します。
エンドポイントの次の設定を入力します。
| 設定 |
説明 |
| 名前 |
データ フロー エンドポイントの名前。 |
| Host |
*.servicebus.windows.net:9093形式のイベント ストリーム カスタム エンドポイントのホスト名。 以前にメモしておいたブートストラップ サーバー アドレスを使用します。 |
| 認証方法 |
認証に使用する方式。 Entra ID の場合、 システム割り当てマネージド ID、ユーザー割り当てマネージド ID または SASL を選択します。 |
SASL 認証方法を選択する場合は、次の設定も入力する必要があります。
| 設定 |
説明 |
| SASL の種類 |
[ プレーン] を選択します。 |
| 同期されたシークレット名 |
同期されたシークレットの名前を入力します。 この名前の Kubernetes シークレットがクラスターに作成されます。 |
[ 参照の追加] を選択して新規を作成するか、ユーザー名とパスワードの参照に既存の Key Vault 参照を選択します。
トークン シークレットのユーザー名参照の場合、シークレット値は、環境変数参照ではなく、リテラル文字列$ConnectionString正確に指定する必要があります。
トークン シークレットのパスワード参照の場合、シークレット値は、イベント ストリーム カスタム エンドポイントの主キーを持つ接続文字列である必要があります。
[ 適用] を選択してエンドポイントをプロビジョニングします。
作成または置換
az iot ops dataflow endpoint create fabric-onelake コマンドを使用して、Microsoft Fabric Real-Time Intelligence データ フロー エンドポイントを作成または置換します。
az iot ops dataflow endpoint create fabric-realtime --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --host "<BootstrapServerAddress>"
fabric-realtime-endpointという名前の Microsoft Fabric Real-Time Intelligence データ フロー エンドポイントを作成または置換するコマンドの例を次に示します。
az iot ops dataflow endpoint create fabric-realtime --resource-group myResourceGroup --instance myAioInstance --name fabric-realtime-endpoint --host "fabricrealtime.servicebus.windows.net:9093"
作成または変更
az iot ops dataflow endpoint apply コマンドを使用して、Microsoft Fabric Real-Time Intelligence データ フロー エンドポイントを作成または変更します。
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
--config-file パラメーターは、リソース プロパティを含む JSON 構成ファイルのパスとファイル名です。
この例では、ユーザーのホーム ディレクトリに格納されている次のコンテンツを含む fabric-endpoint.json という名前の構成ファイルを想定しています。
{
"endpointType": "FabricRealTimeIntelligence",
"fabricRealTimeIntelligenceSettings": {
"authentication": {
"method": "Sasl",
"saslSettings": {
"saslType": "Plain",
"secretRef": "<SecretName>"
}
},
"host": "<BootstrapServerAddress>",
"topic": "<TopicName>",
"names": {
"workspaceName": "<WorkspaceName>",
"eventStreamName": "<EventStreamName>"
}
}
}
fabric-realtime-endpointという名前の新しい Microsoft Fabric Real-Time Intelligence データ フロー エンドポイントを作成するコマンドの例を次に示します。
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name fabric-realtime-endpoint --config-file ~/fabric-realtime-endpoint.json
次の内容を含む Bicep .bicep ファイルを作成します。
kafkaSettings: {
authentication: {
method: 'Sasl' // Or ScramSha256, ScramSha512
saslSettings: {
saslType: 'Plain' // Or ScramSha256, ScramSha512
secretRef: '<SECRET_NAME>'
}
}
}
次に、Azure CLI を使用してデプロイします。
az deployment group create --resource-group <RESOURCE_GROUP> --template-file <FILE>.bicep
kubectl create secret generic sasl-secret -n azure-iot-operations \
--from-literal=token='<YOUR_SASL_TOKEN>'
次の内容を含む Kubernetes マニフェスト .yaml ファイルを作成します。
kafkaSettings:
authentication:
method: Sasl
saslSettings:
saslType: Plain # Or ScramSha256, ScramSha512
secretRef: <SECRET_NAME>
次に、このマニフェスト ファイルを Kubernetes クラスターに適用します。
kubectl apply -f <FILE>.yaml
使用可能な認証方法
Fabric Real-Time Intelligence データ フロー エンドポイントでは、次の認証方法を使用できます。
システムによって割り当てられた管理ID
データ フロー エンドポイントを構成する前に、Kafka ブローカーに接続するアクセス許可を付与するロールを、Azure IoT Operations マネージド ID に割り当てます。
- Azure portal で、Azure IoT Operations インスタンスに移動し、[概要] を選択します。
- Azure IoT Operations Arc 拡張機能の後に一覧表示されている拡張機能の名前をコピーします。 たとえば、azure-iot-operations-xxxx7 などです。
- アクセス許可を付与する必要があるクラウド リソースに移動します。 たとえば、Event Hubs 名前空間 >[アクセス制御 (IAM)]>[ロールの割り当ての追加] に移動します。
- [ ロール ] タブで、適切なロールを選択します。
- [メンバー] タブの [アクセスの割り当て先] で [ユーザー、グループ、またはサービス プリンシパル] オプションを選択し、[+ メンバーの選択] を選択して、Azure IoT Operations マネージド ID を検索します。 たとえば、azure-iot-operations-xxxx7 などです。
次に、システム割り当てマネージド ID の設定を使用してデータ フロー エンドポイントを構成します。
操作エクスペリエンスのデータ フロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[システム割り当てマネージド ID] を選択します。
作成または置換
az iot ops dataflow endpoint create コマンドを使用し、--auth-type パラメーターをシステム割り当てマネージド ID 認証のSystemAssignedManagedIdentityに設定します。
az iot ops dataflow endpoint create <Command> --auth-type SystemAssignedManagedIdentity --audience <Audience> --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName>
作成または変更
az iot ops dataflow endpoint apply コマンドを --config-file パラメーターと共に使用します。
この例では、次の内容を含む構成ファイルを想定しています。
{
"endpointType": "Kafka",
"kafkaSettings": {
"host": "fabricrealtime.servicebus.windows.net:9093",
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"tls": {
"mode": "Enabled"
}
}
}
kafkaSettings: {
authentication: {
method: 'SystemAssignedManagedIdentity'
systemAssignedManagedIdentitySettings: {}
}
}
kafkaSettings:
authentication:
method: SystemAssignedManagedIdentity
systemAssignedManagedIdentitySettings:
{}
ユーザーが割り当てた管理ID
認証にユーザー割り当てマネージド ID を使用するには、まず、セキュリティで保護された設定を有効にして Azure IoT Operations を展開する必要があります。 次に、クラウド接続用にユーザー割り当てマネージド ID を設定する必要があります。 詳細については、「Azure IoT Operations の展開でセキュリティで保護された設定を有効にする」を参照してください。
データ フロー エンドポイントを構成する前に、Kafka ブローカーに接続するアクセス許可を付与するロールを、ユーザー割り当てマネージド ID に割り当てます。
- Azure portal で、アクセス許可を付与する必要があるクラウド リソースに移動します。 たとえば、[Event Grid 名前空間] >[アクセス制御 (IAM)]>[ロールの割り当てを追加] に移動します。
- [ ロール ] タブで、適切なロールを選択します。
- [メンバー] タブの [アクセスの割り当て先] で [マネージド ID] オプションを選択し、[+ メンバーの選択] を選択して、ユーザー割り当てマネージド ID を検索します。
次に、ユーザー割り当てマネージド ID の設定を使用してデータ フロー エンドポイントを構成します。
操作エクスペリエンスのデータ フロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[ユーザー割り当てマネージド ID] を選択します。
作成または置換
az iot ops dataflow endpoint create コマンドを使用し、--auth-type パラメーターをユーザー割り当てマネージド ID 認証でUserAssignedManagedIdentityに設定します。
az iot ops dataflow endpoint create <Command> --auth-type UserAssignedManagedIdentity --client-id <ClientId> --tenant-id <TenantId> --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName>
作成または変更
パラメーターで --config-file を使用する
この例では、次の内容を含む構成ファイルを想定しています。
{
"endpointType": "Kafka",
"kafkaSettings": {
"authentication": {
"method": "UserAssignedManagedIdentity",
"userAssignedManagedIdentitySettings": {
"clientId": "<ID>",
"tenantId": "<ID>",
// Optional
"scope": "https://<Scope_Url>"
}
}
}
}
kafkaSettings: {
authentication: {
method: 'UserAssignedManagedIdentity'
UserAssignedManagedIdentitySettings: {
clientId: '<CLIENT_ID>'
tenantId: '<TENANT_ID>'
// Optional
// scope: 'https://<SCOPE_URL>'
}
}
...
}
kafkaSettings:
authentication:
method: UserAssignedManagedIdentity
userAssignedManagedIdentitySettings:
clientId: <CLIENT_ID>
tenantId: <TENANT_ID>
# Optional
# scope: https://<SCOPE_URL>
SASL
認証に SASL を使用するには、SASL 認証方法を指定し、SASL の種類と、SASL トークンを含むシークレットの名前を持つシークレット参照を構成します。
Azure Key Vault は、Kubernetes クラスターに接続文字列を同期して、データフローで参照できるようにするために推奨される方法です。 操作エクスペリエンス Web UI を使用してこのエンドポイントを構成するには、セキュリティで保護された設定を有効にする必要があります。
操作エクスペリエンスのデータ フロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[SASL] を選択します。
エンドポイントに関する次の設定を入力します。
| 設定 |
説明 |
| SASL の種類 |
使用する SASL 認証の種類。 サポートされている種類は、Plain、ScramSha256、ScramSha512 です。 |
| 同期されたシークレット名 |
SASL トークンを含む Kubernetes シークレットの名前。 |
| ユーザー名参照またはトークン シークレット |
SASL 認証に使用されるユーザー名への参照またはトークン シークレット。 |
| パスワード参照またはトークン シークレット |
SASL 認証に使用されるパスワードへの参照またはトークン シークレット。 |
作成または置換
az iot ops dataflow endpoint create コマンドを使用し、--auth-type パラメーターを SASL 認証用にSaslに設定します。
az iot ops dataflow endpoint create <Command> --auth-type Sasl --sasl-type <SaslType> --secret-name <SecretName> --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName>
作成または変更
パラメーターで --config-file を使用する
この例では、次の内容を含む構成ファイルを想定しています。
{
"endpointType": "Kafka",
"kafkaSettings": {
"authentication": {
"method": "Sasl",
"saslSettings": {
"saslType": "<SaslType>",
"secretRef": "<SecretName>"
}
}
}
}
kafkaSettings: {
authentication: {
method: 'Sasl' // Or ScramSha256, ScramSha512
saslSettings: {
saslType: 'Plain' // Or ScramSha256, ScramSha512
secretRef: '<SECRET_NAME>'
}
}
}
kubectl create secret generic sasl-secret -n azure-iot-operations \
--from-literal=token='<YOUR_SASL_TOKEN>'
kafkaSettings:
authentication:
method: Sasl
saslSettings:
saslType: Plain # Or ScramSha256, ScramSha512
secretRef: <SECRET_NAME>
サポートされている SASL の種類は次のとおりです。
Plain
ScramSha256
ScramSha512
このシークレットは、Kafka データ フロー エンドポイントと同じ名前空間に存在する必要があります。 シークレットには、SASL トークンが、キーと値のペアの形式で存在する必要があります。
詳細設定
このエンドポイントの詳細設定は、 Azure Event Hubs エンドポイントの詳細設定と同じです。
次のステップ
データ フローの詳細については、「データ フローの作成」を参照してください。