概要
LogicAppsのAzureMonitorコネクタでマネージドID認証が使えるようになりました。
背景
LogicAppsでLogAnalyticsワークスペースにクエリをかけて処理させたいという要望があると思います。
このようなことがしたい時、AzureMonitorコネクタを利用するのですが、少し前まではマネージドIDに対応しておらず、泣く泣くサービスプリンシパルを使ったりHTTPコネクタでガチャガチャやったりしていました。
今回、AzureMonitorコネクタがマネージドID認証に対応したので検証しました。
やりかた
今回は検証だけなので、HTTPリクエストをトリガーとした簡単な構成にします。
最終的な構成は次のようになります。
LogicAppsのマネージドIDの有効化
適当にLogicAppsを作成し、左ツリーの[ID]でシステム割り当て済みIDの状態を[オン]にします。
LogAnalyticsへの閲覧権限の付与
LogicAppsからLogAnalyticsワークスペースへクエリを投げるための権限を付与します。
対象のLogAnalyticsワークスペースを開き、[アクセス制御(IAM)]の[追加]をクリックします。
[職務ロール]で[Log Analytics 閲覧者]を選択します。
[アクセスの割り当て先]で[マネージドID]を選択します。
[メンバーを選択する]から、作成したLogicAppsのマネージドIDを選択し、ロールを割り当てます。
マネージドID認証のAzureMonitorコネクタの作り方
作成したLogicAppsに戻り、[ロジック アプリ デザイナー]を開きます。
HTTPトリガーと変数の初期化の部分は適当に作ります。
[アクションの追加]または[新しいステップ]で、検索窓に “monitor” と入力し、[Azure Monitor ログ]を選択します。
[クエリを実行して結果を一覧表示する]を選択します。
[接続名]に適当な名前を入力し、[認証の種類]で[Logic Apps のマネージドID]を選択します。
クエリを実行するLogAnalyticsワークスペースを指定します。
[サブスクリプション]、[リソースグループ]、[リソース名]には対象のLogAnalyticsワークスペースの情報を入力します。
[リソースの種類]には[Log Analytics Workspace]を選択します。
[クエリ]と[時間範囲]にはクエリ文と対象とする時間の範囲を入力します。この項目はLogAnalyticsワークスペースでログを検索する際に使うクエリをそのまま使います。今回はAVDのコネクション情報ログを使うので “WVDConnections” というクエリにしました。
AzureMonitorコネクタから取れる値を扱ってみます。
用意しておいた配列変数に、クエリにひっかかったログの生成日時を追加していきます。
動作確認
LogicAppsが完成したら、[トリガーの実行]-[実行]をクリックします。
処理が終わると、各アクションの結果が展開できるようになるので、[配列変数に追加]の結果としてLogAnalyticsワークスペースへのクエリ結果をとってこれていることを確認します。
コメント