次の方法で共有

Azure Loganalyticsへデータを送信する際の認証をマネージドID認証にしたい

武次夢太郎 60 評価のポイント
2026-01-22T02:34:08+00:00

現在、Microsoft Fabric のログを Blob ストレージに出力し、 Event Grid によって Blob 作成を検知して Azure Functions を起動し、 Log Analytics へログを送信する処理を構築しています。

ログ送信にあたり、Blob ストレージからのデータ取得については マネージド ID 認証を利用していますが、 Log Analytics への送信に必要な Workspace ID および Shared Key を Function の環境変数に直接設定している状況です。

セキュリティ面を考慮し、Log Analytics への送信についても Shared Key を使用せず、マネージド ID 認証へ移行したいと考えています。 しかし、設定方法をうまく整理できておらず、実装に至っていません。

上記の構成を前提とした場合、 Log Analytics へのログ送信における認証方式のベストプラクティスや、 マネージド ID を用いた推奨構成についてご教示いただけますと幸いです。

Azure Functions
Azure Functions

イベントドリブンのサーバーレス コンピューティング プラットフォームを提供する Azure サービス。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Pravallika KV 17,110 評価のポイント Microsoft 外部スタッフ モデレーター
2026-01-22T02:46:32.6533333+00:00

こんにちは 武次夢太郎,

Microsoft Q&A にお問い合わせいただきありがとうございます.

Azure Functions のログ送信設定を、Log Analytics で Shared Key 認証から Managed Identity 認証へ移行しようとしているようですね。

以下の手順で対応できます。

Managed Identity の設定

まず、Azure Function に システム割り当てまたはユーザー割り当ての Managed Identity が設定されていることを確認してください。 未設定の場合は、Azure ポータルの Function の設定画面から有効化する必要があります。

権限の割り当て

Managed Identity に、Log Analytics Workspace へデータを送信するための必要な権限を付与します。 具体的には、対象の Log Analytics Workspace に対して「Log Analytics Contributor」ロールを割り当ててください。

Azure Function コードの更新

Shared Key の代わりに Managed Identity を使って認証するよう、Azure Function のコードを修正します。 以下のようにして Log Analytics 用のアクセストークンを取得できます。

var azureServiceTokenProvider = new AzureServiceTokenProvider();
string token = await azureServiceTokenProvider.GetAccessTokenAsync("https://api.loganalytics.io/");

データ送信

取得したトークンを Authorization ヘッダーに含めて、Log Analytics へデータを送信します。 例は以下の通りです。

using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Authorization =
        new AuthenticationHeaderValue("Bearer", token);
    // Log Analytics にデータを送信する処理
}

テスト

変更後は、Shared Key を使わずにログが正しく Log Analytics に送信されていることを必ずテストしてください。

役に立てば嬉しいです!

この回答は役に立ちましたか?

0 件のコメント コメントはありません

0 件の追加の回答

並べ替え方法: 最も役に立つ

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。