Azure SRE エージェントのセキュリティの概要

Azure SRE エージェントは、実行の分離、シークレットレス資格情報、データ所在地、顧客ごとの分離という 4 つの領域にわたって多層防御セキュリティを使用します。 各レイヤーは個別に動作するため、1 つの領域の侵害が他の領域に連鎖しないようにします。

アクセス許可と ID の詳細については、「 エージェントのアクセス許可エージェント ID」を参照してください。

実行の分離

エージェントの推論エンジンとツールの実行は、別々のコンピューティング境界で実行されます。

サンドボックス アーキテクチャ

各エージェントには独自のサンドボックスがあります。 このアーキテクチャは、各エージェントにマイクロVM上で動作する専用の計算環境を提供し、推論ループとは別に保たれます。

コンポーネント での実行 Role
エージェントの推論 メイン ランタイム メッセージの処理、ツールの選択、応答の作成
ツールの実行 サンドボックス(マイクロ仮想マシン) ファイル操作、bash コマンド、コード分析、MCP ツールを実行します
アイデンティティ サイドカー 個別のサービス 推論と実行から分離された資格情報とトークンを管理します
ネットワーク プロキシ 個別のサービス すべての送信要求を検証してルーティングする

エージェントは、構造化された API 呼び出しによってのみサンドボックスと通信し、直接ファイル システムやプロセス アクセスを介して通信することはありません。

ツール プロセスのライフサイクル

各ツール呼び出しでは、サンドボックス内で新しいプロセスが起動されます。

  1. 新しいプロセスは、独自の環境から始まります。
  2. ネットワーク プロキシは、WebSocket を介して入力ストリームと出力ストリームをプロキシします。
  3. 完了すると、プロセス ツリー全体が終了します。

システムは永続的なプロセス プールを使用しません。 環境変数と資格情報は接続ごとにスコープが設定されるため、1 つのツール呼び出しで別のツール呼び出しの環境が表示されません。

コードの実行

Pythonおよびシェルコマンドは、コードインタプリタを通じてサンドボックス内で実行されます:

  • 実行は、リソースとエージェントの推論エンジンから分離されます。
  • 環境には 700 個を超えるプレインストールされたPython パッケージが含まれていますが、任意のパッケージインストールはサポートされていません。
  • エグレス プロキシは、ネットワーク アクセスを制御し、それを既知のサービス ドメインに制限します。

秘密不要の資格情報管理

実行環境では、資格情報が直接保持されることはありません。 代わりに、分離 ID サイドカーはすべてのトークンを管理し、個々のツール プロセスにオンデマンドで提供します。

資格情報のフロー

  1. エージェントは、ツール呼び出しが必要であると判断します。
  2. 要求はサンドボックスにルーティングされます。
  3. ID サイドカーは、ツール プロセスに有効期間の短いトークンを発行します。
  4. このツールは、ネットワーク プロキシを介して認証済みの呼び出しを行います。
  5. 処理結果はエージェントに戻ります。 資格情報は推論コンテキストに含まれることはありません。

次の 3 つのプロパティを使用すると、資格情報の盗難が構造的に不可能になります。

  • ID サイドカーの分離: 個別のサービスが、エージェントの実行環境外で全ての資格情報を管理します。
  • 呼び出しごとのスコープ: トークンは、サンドボックス全体で共有されるのではなく、個々のツール呼び出しにスコープされます。
  • 環境変数の継承なし: 明示的に宣言された変数のみがツール プロセスに転送されます。

資格情報の有効期間

タイプ 有効期間 再読み込み
マネージド ID トークン 最大 1 時間 (Azure プラットフォーム標準) Azure SDKを介した自動化
OAuth tokens (GitHub, Azure DevOps) プロバイダーによって異なります 有効期限の 20 分前に更新されました
アクション トークン (ツール呼び出しごと) 1 回の使用 各呼び出しごとに新しく発行される
BLOB ストレージ SAS トークン 1 時間 有効期限の 15 分前に更新されました

データの保存場所

担当者が問題を調査する際、データソースを照会します。 エージェントはログエントリや指標、API応答などの生クエリ結果を別のデータストアに書き込むことはありません。 エージェントがツールコールを処理する際、チャットやツールのメッセージ、結果の要約を含むものを永続的な会話スレッドにシリアライズします。

次のデータ 保持されます。

データ Storage Retention Purpose
会話スレッド エージェントデータベース 手動で削除されるまで チャット履歴、調査レコード
セッションの分析情報 エージェントデータベースとブロブストレージ 粘り強い 症状、解決手順、根本原因などの合成学習
メモリ ファイル ブロブストレージ セッション間での永続性 合成された知識、チーム コンテキスト、リポジトリの指示
スレッド ファイル ブロブストレージ スレッドの有効期間に関連付けられている ユーザーのアップロード、生成されたレポート

セッション分析情報は、生データ コピーではなく、合成された概要です。 エージェントはパターン (どのような症状が現れたか、どのような解決策が機能し、何を回避すべきか) を抽出し、それらを知識として格納します。 エージェントは完全な生のクエリ結果を独立して永続化しません。 このツールメッセージは、結果の抜粋や要約を含む場合があり、会話スレッドの履歴の一部として保存されます。

顧客ごとの隔離

レイヤー 分離モデル
Compute エージェントごとに専用のサンドボックス
[データベース] エージェントごとに別々のデータベース
Blob Storage エージェントごとに別々のブロブストレージ
Network すべての送信要求のエージェントごとのプロキシ インスタンス
資格情報 顧客が選択したリソース グループにスコープを設定したRBAC による、各エージェント向けのマネージド ID

エージェントまたは顧客間でデータ、コンピューティング、または資格情報は共有されません。

ログ記録と可観測性

エージェントは、セットアップ中に構成した Application Insights インスタンスに運用テレメトリを送信し、エージェント操作を完全に可視化します。

テレメトリ 詳細情報
会話トレース エンド ツー エンドの要求追跡のトレース ID とスパン ID によって関連付けられる
ツール呼び出しの依存関係 すべての送信呼び出しのメソッド、URL、期間、および状態コード
エラーと例外 例外の完全な詳細
カスタム イベント アクティブ化、インシデント イベント、およびその他のエージェント固有の操作をフックする

サンドボックス ツールの実行からのテレメトリは、同じパイプラインを通過します。

Encryption

レイヤー Protection
非稼働時 Azure管理の暗号化は、すべてのデータを静止状態で保護します
転送中 すべての外部通信はHTTPSを使用します

ネットワーク プロキシとポリシー

実行環境からのすべての送信ネットワーク アクセスは、次のポリシーを適用するプロキシ レイヤーを経由します。

  • 要求の検証: すべての送信接続は、外部サービスに到達する前に検証されます。
  • 資格情報の挿入: プロキシは、ID サイドカーからスコープ付きトークンをアタッチします。ツール コードはトークンを直接処理しません。
  • 環境スコープ: 明示的に宣言された環境変数のみがツール プロセスに転送されます。
  • プロセスのライフサイクル: ツール プロセスは、完了またはタイムアウト時に終了します。

代理フォールバック

エージェントのマネージド ID に操作のアクセス許可がない場合、システムはユーザーに代わって動作することにフォールバックします。

  1. エージェントは、マネージド ID を使用して操作を試行します。
  2. アクセス許可が不十分であり、操作の詳細を示す 承認アクション プロンプトが表示されます。
  3. 承認すると、操作は資格情報で実行されます。
  4. 完了後、資格情報はキャッシュされません。

実行モードはこの動作を制御します。 レビュー モードでは書き込み操作の承認が必要ですが、 自律 モードではマネージド ID が直接使用されます。 詳細については、「エージェントの アクセス許可」を参照してください。

プライベート ネットワーク アクセス

Azure SRE Agentは、プライベートネットワーク要件に対するデプロイメント設定をサポートしています:

  • リージョンの分離 - サンドボックスの配置では、リージョンの境界が考慮されます (たとえば、米国東部 2 のサンドボックスは、米国中部、米国中北部、カナダ中部にとどまります)。
  • VNet統合実行:専用サンドボックスは仮想ネットワーク内で実行できるように設定できます。
  • 秘密不要の認証情報アクセス:アイデンティティサービスは、サンドボックスに認証情報を保存せずにツールプロセスに短命な認証情報を提供します。