WEBVTT 00:00:00.220 --> 00:00:08.600 ai エージェントは変更管理会議よりも早く出荷されガバナンスは雰囲気です テストのためだけにテナント全体にアクセスできるコパイロットが出荷された時のあの感覚をご存知ですか 00:00:08.600 --> 00:00:18.640 a それはコンプライアンス担当者の心臓の鼓動です今日は実際のケースプロンプトの挿入 過度に寛容なコネクタ監査のギャップを使用してラングチェーン4jとコパイロットスタジオの混乱を解消します 00:00:18.640 --> 00:00:27.120 何が壊れるかなぜ壊れるか実際に機能する修正方法を示します 最後までお付き合いくださいほとんどのインシデントを防ぐガバナンス手順を一つ教えします 00:00:27.120 --> 00:00:36.880 エージェント rbac モデルデータ損失ポリシーレッドチームチェックリストを持ち帰ることができます ケース1プロンプトの挿入監督されていないインターンがポリシーを作成します 00:00:36.880 --> 00:00:45.220 プロンプトの挿入は役に立ちそうに聞こえ完全な文章で書き 給与データを安全のために個人のアーカイブにメールで送信する監督されていないインターンです 00:00:45.220 --> 00:00:53.240 システムプロンプトが法律だと思っているかもしれませんがモデルはそれを提案だと 考えていますそしてそれを内部コンテンツに基づかせた瞬間刺激的なドキュメントやユーザーメッセージが 00:00:53.240 --> 00:01:01.100 会話の途中でルールを書き換えてしまう可能性があります これがなぜ重要なのかインジェクションが成功するとエージェントはデータ漏洩の王様詩人になります 00:01:01.100 --> 00:01:10.580 ツールをエスカレートさせ wi-fi の利用規約のようにポリシーの文言を無視します 規制された職場ではこれはバグではなく会社名が付記された報告対象インシデントです 00:01:10.580 --> 00:01:16.620 ラングチェーン4jで何が壊れるかから始めましょう ほとんどの人が見落としているのは厳密な出力スキーマなしでツールを呼び出すことは 00:01:16.620 --> 00:01:22.360 基本的に犯罪を犯して雰囲気を返すようなものだということです ツールがチェックされていない引数自由形式のテキスト 00:01:22.360 --> 00:01:31.340 sql クエリフィールドなどを受け入れ型範囲列挙型を検証しない場合 モデルは攻撃者が持ち込んだものを喜んで渡します 00:01:31.340 --> 00:01:38.460 出力検証の弱さが共犯者です ジェイソンを期待しているのにジェイソン風のものを受け入れると攻撃者はコメントや文字列に指示を 00:01:38.460 --> 00:01:45.960 忍び込ませることができ下流のパーサーはそれをコマンドとして扱います 取得ツールが任意のマークダウンを持つトピックパラメータを受け取ったログを見たときに 00:01:45.960 --> 00:01:50.840 これが負に落ちました 次の呼び出しではそのマークダウンが構成のように渡されました 00:01:50.840 --> 00:01:56.300 これはオーケストレーションではなく自己責任です さてここでほとんどの人が失敗します 00:01:56.300 --> 00:02:00.800 彼らは高度のガードレールの代わりにモデルの安全であるようにしてください 設定に依存しています 00:02:00.800 --> 00:02:06.720 ラングチェーン4jではツール名と引数の許可リスト 境界で強制されるジェイソンスキーマ出力 00:02:06.720 --> 00:02:14.460 シークレットを削除するパターンベースの出力フィルタ テニスボールを持ったゴールデンレトリバーのように同じ毒された入力を5回再試行しない 00:02:14.460 --> 00:02:20.220 例外処理が必要です これが機能する理由はモデルを信頼することがすべてのバイトを検証することに変わるからです 00:02:20.220 --> 00:02:25.400 コパイロットスタジオで何が壊れるか 広範囲のシェアポイント取り込みによるナイーブなグラウンディング 00:02:25.400 --> 00:02:32.560 完全性のためにサイトコレクション全体を接続すると 以前の指示を無視する一つのオンボーディングドキュメントがエージェントの新しい宗教になります 00:02:32.560 --> 00:02:38.620 ビジネスユーザーが編集できるシステムプロンプトが続編です 私はビジネスユーザーが大好きですが彼らに迅速な管理者権限を与えるのは 00:02:38.620 --> 00:02:42.080 マーケティング部門がブランドボイスを知っているからといって ファイアウォールルールを設定させるようなものです 00:02:42.080 --> 00:02:47.760 そして摩擦を減らすためにモデレーションを無効にしたテナント構成を見たことがあります できれば見たくないですよね 00:02:47.760 --> 00:02:55.180 その証拠は本来存在しないはずのエクスポートオールフラグなど 無制限のパラメータでツールが呼び出されたことを示すテナントログです 00:02:55.180 --> 00:03:01.000 アシスタントが取得したドキュメントから挿入された文字列を繰り返し モデレーションのトグルが無効になっている会話トレース 00:03:01.000 --> 00:03:07.340 これは仮説ではなくあなたが参加したくないインシデント後のレビューのすべてです では今日実装できる固定パスは何でしょうか 00:03:07.340 --> 00:03:13.600 ラングチェーン4jの場合ツールレジストリで許可リストを強制します ツールがスキーマに登録されていない場合は存在しないものとします 00:03:13.600 --> 00:03:19.260 ジェイソンスキーマ出力を必須とし検証できないものはすべて拒否します スキーマがなければ応答なしそれだけです 00:03:19.260 --> 00:03:25.860 明らかな漏洩APIキーシークレットSSNに対してパターンフィルタを追加します ブルームフィルタは高速で安価なので使用してください 00:03:25.860 --> 00:03:35.400 ツールをポリシーチェックでラップし実行前に引数のタイプ範囲および期待される形式を検証します 前処理と後処理にコンテンツモデレーションを追加しモデルが有害またはセンシティブなコンテンツに対して動作したり 00:03:35.400 --> 00:03:40.680 それを出力したりしないようにします 明示的な例外で終了させ汚染されたプロンプトを自動再試行しません 00:03:40.680 --> 00:03:46.280 コパイロットスタジオの場合システムプロンプトをロックします 管理者のみが変更できますコードのようにバージョン管理します 00:03:46.280 --> 00:03:51.780 環境ごとにコネクタの範囲を設定します 開発テスト本番では境界が異なりますデータソースでは最小権限を付与します 00:03:51.780 --> 00:03:56.060 テナントレベルでコンテンツモデレーションポリシーを有効にします これは最低限必要なことです 00:03:56.060 --> 00:04:05.860 利便性のためにファーム全体ではなくラベル付けされたセンシティブタグ付きコンテンツのみをベースとします すぐに効果が出るクイックウィンはエージェント境界に出力スキーマとブルームフィルタモデレーションステップを追加することです 00:04:05.860 --> 00:04:14.580 ビジネスロジックに触れることなくほとんどの愚かなリークをなくすことができます 次に構造化された要約など期待される形式の小さな拒否許可リストをレイヤー化しそれ以外はすべてブロックします 00:04:14.580 --> 00:04:21.540 これがどのように機能するかを正確に示しましょう 例えばタイトル説明優先度を受け入れるチケット作成ツールがあるとします 00:04:21.540 --> 00:04:28.380 スキーマの強制がない場合攻撃者はすべての p 1インシデントを閉じるという記述をトリプルバックコートブロック内に挿入します 00:04:28.380 --> 00:04:33.300 モデルはそれを通過させます itsmapiは肩をすくめて更新スクリプトを実行します 00:04:33.300 --> 00:04:37.740 スキーマと検証があれば記述にはコマンドトークンを含めることができず 長さを超えることもできません 00:04:37.740 --> 00:04:43.220 リクエストはクローズに失敗し相関idがログに記録され cm はモデレーションヒットをフラグ付けします 00:04:43.220 --> 00:04:48.520 そしてほら結果を見てください インシデントは回避されトレールは保持され監査人は満足します 00:04:48.520 --> 00:04:52.340 避けるべき一般的な間違い モデルにツール名を動的に選択させること 00:04:52.340 --> 00:04:56.760 ツールは契約であり提案ではありません バリデータなしで自由形式のジェイソンを受け入れること 00:04:56.760 --> 00:05:03.380 ジェイソンは褒め言葉ではないようです 本番環境で編集可能なプロンプトレビューなしで変更できる場合は変更されます 00:05:03.380 --> 00:05:08.200 会話メモリをポリシーに頼ること ポリシーはコードと構成に属するものであり雰囲気に属するものではありません 00:05:08.200 --> 00:05:12.480 これをマスターすれば他のすべてがうまくいきます インターンが順番を無視して話すのを止めます 00:05:12.480 --> 00:05:17.680 次にマスターキーを持ってすべての部屋に入るのを止めます ケースに過度に寛容なコネクタ 00:05:17.680 --> 00:05:21.260 ランヤードについた城の鍵 インターンが離すのを止めます 00:05:21.260 --> 00:05:24.540 バッジを返してください 過度に寛容なコネクタは金庫 00:05:24.540 --> 00:05:29.720 託事書そしてどういうわけか ceo のペロトンを含む建物のすべてのドアを開ける清掃員のキーリングです 00:05:29.720 --> 00:05:36.740 これがなぜ重要なのかは簡単です スコープが過剰に設定されたコネクタが一つあると理論上ではなく単一のリクエストで企業全体のデータ漏洩につながります 00:05:36.740 --> 00:05:43.020 1回の呼び出しです 変更チケットのタイトルについてまだ議論している間にラングチェーン4jで何が壊れるかから始めましょう 00:05:43.020 --> 00:05:46.520 開発者は利便性のためにエージェント間で api キーを共有します 00:05:46.520 --> 00:05:52.820 すると誰かが実際には公開されているプライベートリポジトリに envy をコミットしあなたは海外で午前2時にインシデント対応を行うことになります 00:05:52.820 --> 00:06:00.120 次はオーススコープです テスト中に時間を節約するために読み取り書き込みのすべてを許可し6ヶ月後にはそのテストトークンが本番の 00:06:00.120 --> 00:06:05.420 手法になります ツールレジストリはどうでしょうか私はクリーンなレジストリが好きですがデモが今日中に動作する必要があるため 00:06:05.420 --> 00:06:12.600 開発者エージェントを本番の認証情報に向けるとチェーンソーをルンバに接続したことになります ほとんどの人が見落としている点はツールは渡された id を継承するということです 00:06:12.600 --> 00:06:17.360 共有認証情報は共有された影響範囲を意味します 保存するだけの魔法のフラグはありません 00:06:17.360 --> 00:06:24.880 トークンがレコードを削除できる場合エージェントは誤って熱心にそして完璧な自信を持ってレコードを削除できます さてコパイロットスタジオに移動してください 00:06:24.880 --> 00:06:32.220 テナント全体の m 365コネクタは典型的な落とし穴です 一度クリックするとすべてのチームのすべてのコパイロットが本来見るべきではないデータを見ることができるようになります 00:06:32.220 --> 00:06:44.180 これは権限付与ではなくミスのビュッフェです 採用のために組織全体の可視性を持つチームに展開すると財務用のパイロットボットがマーケティングの質問に答え存在を知るはずのないシェアポイントサイトからコンテンツを取得するようになります 00:06:44.180 --> 00:06:51.700 管理されていないサードパーティのサーズフックはどうでしょうか これらは2009年の usb ドライブのようなものですどこにでも不思議なほど存在し常に一時的です 00:06:51.700 --> 00:07:00.880 証拠は毎回同じように現れますローテーションされず有効期限がなく所有者もいない古いシークレット シンプルにするためにグローバルグループにマッピングされたコネクタ 00:07:00.880 --> 00:07:08.380 自白のように読めるスコープを持つアプリ登録 そしてそうですその一時的な本番用キーは開発環境で何ヶ月も存在しています 00:07:08.380 --> 00:07:17.040 セキュリティの発見事項やテナント構成は嘘をつきませんただため息をつくだけです では修正パスは何でしょうかラングチェーン4jの場合各エージェント独自の id を持つ個別のアプリケーションとして扱います 00:07:17.040 --> 00:07:23.640 エージェントごとにサービスプリンシパルを作成します トークンは共有しません2つのエージェントが同じ api を必要とする場合でも異なる認証情報を取得します 00:07:23.640 --> 00:07:27.860 スコープ付き要素を使用します ツールがその仕事をするために必要な最小限の権限セットを付与します 00:07:27.860 --> 00:07:31.500 読み取り専用で書き込みはしません 全てのコレクションではなく一つのコレクションに書き込みます 00:07:31.500 --> 00:07:34.780 シークレットは適切なシークレットマネージャーに保存します スケジュールに基づいてローテーションします 00:07:34.780 --> 00:07:37.980 インシデント発生時にローテーションします 誰かがトークンについて囁いただけでもローテーションします 00:07:37.980 --> 00:07:42.460 ツールレベルのrbacを追加します ツールラッパーはapiにアクセスする前に呼び出し元の役割を確認します 00:07:42.460 --> 00:07:46.700 役割がない場合は呼び出しは行いません 環境を分離し開発用キーは開発システムとのみ通信します 00:07:46.700 --> 00:07:50.660 ツールが開発環境で本番エンドポイントを見つけた場合 ツールは閉じられログにエラーを出力します 00:07:50.660 --> 00:07:57.080 コパイロットスタジオでは環境とスコープで明確な境界を設定します 環境分離開発テスト本番を使用します 00:07:57.080 --> 00:08:01.980 異なるコネクタ異なる権限異なる所有者 ワークフローを使用してコネクタのスコープを確認します 00:08:01.980 --> 00:08:06.060 変更には承認有効期限所有者が必要です 所有者がいなければコネクタはありません 00:08:06.060 --> 00:08:10.260 チャンネルごとにdlpポリシーを適用します 財務チャンネルには会社全体よりも厳しいルールが適用されます 00:08:10.260 --> 00:08:13.920 それがポイントです パイロットのために組織全体のチーム展開を停止します 00:08:13.920 --> 00:08:17.480 可視性をセキュリティグループに制限します レビュー後にのみ拡張します 00:08:17.480 --> 00:08:22.100 サードパーティのサーズコネクタをインベントリしてゲートします 管理されていない場合はデフォルトでオフになります 00:08:22.100 --> 00:08:26.740 所有者はアクセスを正当化し更新する必要があります これは今日の午後に出荷できる簡単な勝利です 00:08:26.740 --> 00:08:31.080 テナント全体のスコープを停止し各コネクタを有効期限ポリシーを持つセキュリティグループにマッピングします 00:08:31.080 --> 00:08:35.040 グループの有効期限が切れるとアクセスは正常に終了します ドラマもサプライズもありません 00:08:35.040 --> 00:08:39.760 これがどのように実行されるかを正確に示します ストレージバケットに書き込むエクスポートレポートツールがあるとします 00:08:39.760 --> 00:08:45.520 共有資格情報を使用するとすべてのバケットを見ることができます つまりバックアップをアーカイブに保存というプロンプトは 00:08:45.520 --> 00:08:50.500 機密データをひっそりと公開パスに保存します エージェントごとのプリンシパルとスコープ付きロールを使用すると 00:08:50.500 --> 00:08:56.640 そのツールは一つのプレフィックスを持つ一つのバケットにのみ書き込むことができます モデルが別のパスを作成しようとした場合 00:08:56.640 --> 00:09:01.400 APIはそれを拒否します 相関IDをログに記録するとcmがアラートを発します 00:09:01.400 --> 00:09:05.800 これで意図しないデータ漏洩パーティーは発生しません 避けるべきよくある間違い 00:09:05.800 --> 00:09:09.460 とりあえずアクセスにグローバルグループを使用する 今だけは終わりません 00:09:09.460 --> 00:09:14.160 ドキュメントがわかりにくかったため広範囲または全てのスコープを付与する わかりにくいことは許可ではありません 00:09:14.160 --> 00:09:20.040 環境間で認証情報をコピーする貼り付けられるなら間違った方法で貼り付けます チームの可視性を無害とみなす 00:09:20.040 --> 00:09:25.860 可視性はアクセスですアクセスはリスクです アクセススコープをきちんと設定すれば監査人は血の匂いを嗅ぎつけなくなります 00:09:25.860 --> 00:09:30.280 そして監査人がノックしてきたら証拠が必要になります ここで誰もが忘れがちな部分に触れます 00:09:30.280 --> 00:09:36.820 ログに記録されていなければ何も起こらなかったことになります ケース3監査のギャップログに記録されていなければ何も起こらなかったことになります 00:09:36.820 --> 00:09:43.220 アクセス範囲を設定しました素晴らしい ではそれを証明してください監査人が午後3時14分にエージェントは何をしましたか 00:09:43.220 --> 00:09:48.460 と尋ねた時あなたの答えが何かしたと思いますだった場合 それは姿勢ではなく謝罪ツアーです 00:09:48.460 --> 00:09:55.260 これがなぜ重要なのか履歴がなければ奇妙な答えを説明したり悪いアクションをロールバックしたり インシデントが封じ込められたかどうかを知ることさえできません 00:09:55.260 --> 00:10:01.340 規制当局はその不確実性を好みます 顧客はそれほど好みませんそして経営人はあなたが分かりませんというのを本当に好みます 00:10:01.340 --> 00:10:06.440 ラングチェーン4jでほとんどの人が見落としているのは次の点です チェーンはログが認めるよりもはるかに多くのことを行っています 00:10:06.440 --> 00:10:12.760 実行グラフがないということは手順を再構築できないことを意味します トレース id がないということはイベントがランダムな花火のように見えることを意味します 00:10:12.760 --> 00:10:18.260 部分的なログは重要なツール呼び出しを隠します そしてサイレントツール障害これは私のお気に入りです 00:10:18.260 --> 00:10:23.280 ツールが実行されずモデルが礼儀正しく応答を厳格しただけなのにすべてが緑色に見え ます 00:10:23.280 --> 00:10:30.460 取得ステップがタイムアウトしてなるを返し次のステップがチケット api にレコードが見つからないと書き込んで閉じたというインシデントを追跡していた日に 00:10:30.460 --> 00:10:38.700 このことが負に落ちました例外もトレースもなく雰囲気と閉じられたチケットだけでした ログでモデルの出力とツールの出力を区別できない場合はすでに問題が発生しています 00:10:38.700 --> 00:10:46.820 ラングチェーン4jのログを法定で使用できるように修正する方法を正確に示しましょう まず構造化ログをあらゆる場所で有効にします文字列の羅列ではなくジェイソンです 00:10:46.820 --> 00:10:52.560 すべてのリクエストとレスポンスにはタイムスタンプモデル名トークン数およびチェーン全体で 存続する相関 id を含むエンベロープが付きます 00:10:52.560 --> 00:10:59.340 次にラングスミスまたはランググラフを使用して実行グラフまたはトレースを追加します 各ノードは入力出力期間およびエラーをログに記録します 00:10:59.340 --> 00:11:05.540 ツールが例外をスローする場合は大声でスローします サイレントな失敗や想定された失敗はありませんさて重要な点です集中管理します 00:11:05.540 --> 00:11:11.920 トレースとログをシームにパイプします自動的にスケールして消滅するポッドに放置しないで くださいノイズのサンプリングを追加しますがエラーは決して削除しません 00:11:11.920 --> 00:11:20.020 トレース id で検索してストーリー全体を確認したいのです プロンプとドキュメントの取得ツール呼び出し api レスポンスそして午前2時にオーリーを探せをプレイすることなく最終的な答えを確認したいのです 00:11:20.020 --> 00:11:26.500 コパイロットスタジオに切り替えましょう このプラットフォームはテレメトリを提供しますがそれはチームデータバースおよびあなたが触れたコネクタに分散しています 00:11:26.500 --> 00:11:34.460 会話のエクスポートが制限されているため物語ではなく断片的な情報しか得られません 断片化されたテレメトリのためコンプライアンス担当者はまるで工作のようにスクリーンショットをつなぎ合わせています 00:11:34.460 --> 00:11:42.340 統一された監査レーンを構築することでこれを解決します 明確な保持sla保持する人保持機関および理由を指定して会話トランスクリプトの保持を有効にします 00:11:42.340 --> 00:11:49.380 会話とアクションログをファブリックやログアナリティクスなどの集中ワークスペースにエクスポートします チームのエントリポイントからデータバースプラグイン 00:11:49.380 --> 00:12:00.000 下流APIまで渡される相関IDですべてのイベントにタグをつけます チャットでケースの作成を求められたら送信された正確なデータを含む正確なシステムの正確なレコードをクリックして移動したいのです 00:12:00.000 --> 00:12:12.380 インシデントレビューで認識できる証拠生ログにユーザーセッションにマッピングされない 孤立したLLM呼び出し対応するプロンプトのないツール呼び出しまたはグラウンディングログにドキュメントIDが含まれていないため見つけられないソースを引用する回答 00:12:12.380 --> 00:12:17.440 これは謎ではありませんこれは配管が欠けているということです 今週出荷できるクイックウィン 00:12:17.440 --> 00:12:24.320 ハッシュ付きのリクエストレスポンスエンベロープを義務付けます プロンプト取得チャンクおよび出力のコンテンツハッシュを保存して整合性を証明できるようにします 00:12:24.320 --> 00:12:32.600 誰かが改ざんした場合ハッシュはノーと言います エンドツーエンドの相関IDを要求しますエッジで生成しすべてのホップを通過しそれをドロップする呼び出しを拒否します 00:12:32.600 --> 00:12:41.360 IDがないとサービスは提供されません保持slaを定義します ホームが承認しセキュリティが強制します開発の場合は90日本番の場合は1年規制対象ドメインの場合はそれ以上 00:12:41.360 --> 00:12:47.840 公開しますそれに従います避けるべき一般的な間違い 性の秘密またはpをログに記録することソースでマスクします 00:12:47.840 --> 00:12:55.700 オレンジックに必要なフィールドを保持し重要な情報は保持しません サンプリングエラーサンプル成功すべての失敗をログに記録します何かが壊れたらあらゆる手がかりが 00:12:55.700 --> 00:13:02.800 必要になります自由形式のテキストログは人間は好きですが機械は嫌いです フィールドを使用しますスキーマを追加します取り込み時に検証します 00:13:02.800 --> 00:13:09.980 これで監査担当者は何が起こったのかと尋ねます トレースを一つ開きますプロンプと取得したドキュメントIDツールの入力ツールの出力 00:13:09.980 --> 00:13:15.460 および最終メッセージを表示します 相関IDはAPIゲートウェイデータベースへの書き込みおよびチームメッセージと一致します 00:13:15.460 --> 00:13:19.840 これでストーリーが成り立ちます つまり見えるようになれば管理できるということです 00:13:19.840 --> 00:13:27.000 つまりルールを形式化し誰が何をするかをロックダウンする時が来たということです エージェントRBACモデルではエージェントを非常に愚かで非常に強力なユーザーとして扱います 00:13:27.000 --> 00:13:31.120 可視性が得られました 良いことです次にこれらのものにIDとリードを与えます 00:13:31.120 --> 00:13:34.560 エージェントはユーザーです 非常に愚かで非常に強力なユーザーです 00:13:34.560 --> 00:13:39.520 初日に人間の臨時管理者に与えないのであれば 皮肉と素道を区別できない確率的オウムに与えてはいけません 00:13:39.520 --> 00:13:43.600 これが重要な理由 ほとんどの組織は人間を保護しエージェントを無視します 00:13:43.600 --> 00:13:51.060 するとエージェントは設計上最小権限の原則を回避します ツールを飛び越え環境を横断しますが組織図に表示されないため誰も気づきません 00:13:51.060 --> 00:13:56.240 こうしてヘルパーボットはシャドウ管理者に変わります 私があなたに提供してほしいモデルは次の通りです 00:13:56.240 --> 00:14:01.460 エージェントごとに一つのID 明確な役割 コード内のポリシーチェック 実際に意味のある環境境界 00:14:01.460 --> 00:14:06.200 IDから始めプラットフォームボット1ではなく 全てのエージェントに対してサービスプリンシパルを作成します 00:14:06.200 --> 00:14:09.540 実際の1対1のマッピング アプリのように名前を付けます 00:14:09.540 --> 00:14:12.220 所有者 目的 環境 有効期限でタグ付けします 00:14:12.220 --> 00:14:15.440 2つのエージェントが同じAPIにアクセスしても 異なるIDを取得します 00:14:15.440 --> 00:14:17.780 共有IDは共有された爆発範囲を意味します 00:14:17.780 --> 00:14:20.340 次に忙しい人でも適用できる役割の分類を定義します 00:14:20.340 --> 00:14:23.500 私はリーダー ランナー ライター 管理者の4つの役割を使用しています 00:14:23.500 --> 00:14:24.940 リーダーはデータを取得できます 00:14:24.940 --> 00:14:26.200 副作用はありません 00:14:26.200 --> 00:14:28.500 クエリ 取得 要約を考えてください 00:14:28.500 --> 00:14:31.460 ランナーは境界付き効果を持つ ワークフローを呼び出すことができます 00:14:31.460 --> 00:14:34.540 チケットの作成 承認の送信 会議のスケジュールなど 00:14:34.540 --> 00:14:36.980 ライターは特定のスコープにデータを書き込むことができます 00:14:36.980 --> 00:14:40.080 テーブルは1つ バケットは1つ メールボックスは1つですべてではありません 00:14:40.080 --> 00:14:41.840 管理者は構成を変更できます 00:14:41.840 --> 00:14:43.960 この役割はあなたを悩ませるはずです 00:14:43.960 --> 00:14:47.020 使用は控えめに時間制限を設け 常に二重承認が必要です 00:14:47.020 --> 00:14:49.240 次にそれをラングチェーン4jにマッピングします 00:14:49.240 --> 00:14:50.820 ツールは強制ポイントです 00:14:50.820 --> 00:14:54.100 各ツールラッパーは実行前に呼び出し元の役割を確認します 00:14:54.100 --> 00:14:56.420 エージェントIDがリーダーにマッピングされている場合 00:14:56.420 --> 00:14:58.260 書き込みツールは呼び出しを受け取りません 00:14:58.260 --> 00:15:00.940 役割だけで止まらずリソーススコープを含めます 00:15:00.940 --> 00:15:04.120 ケース財務のライターはケース販売を書き込むことができません 00:15:04.120 --> 00:15:06.380 スコープはコメントではなくゲートです 00:15:06.380 --> 00:15:09.840 環境変数と構成ファイルを使用してツールを環境にバインドします 00:15:09.840 --> 00:15:12.600 開発エージェントは開発ホストと開発キーのみを参照します 00:15:12.600 --> 00:15:15.640 本番URLを試みるとクローズしてログを第4両で出力します 00:15:15.640 --> 00:15:19.260 ポリシーチェックはAPI呼び出しが失敗した後ではなく協会で行われます 00:15:19.260 --> 00:15:23.340 コパイロットスタジオでは環境ロールとコネクタスコープで同じパターンを実行します 00:15:23.340 --> 00:15:26.940 エージェントをリーダーをミラーリングする権限を持つ環境に割り当てます 00:15:26.940 --> 00:15:29.360 つまりランナー、ライター、管理者です 00:15:29.360 --> 00:15:32.360 コネクタの権限はこれらのロールに関連付けられたセキュリティグループにマッピングされます 00:15:32.360 --> 00:15:34.560 チームデプロイメント協会は爆発半径です 00:15:34.560 --> 00:15:36.420 パイロットは小規模グループ内に留めてください 00:15:36.420 --> 00:15:38.100 変更チケットでのみ拡張してください 00:15:38.100 --> 00:15:40.560 レビューワークフローがここで誠実さを保つ役割を果たします 00:15:40.560 --> 00:15:42.740 スコープの変更はすべて変更要求です 00:15:42.740 --> 00:15:48.100 エージェント、要求された役割、コネクタまたはツール、環境、理由、要求者、有効期限をリストします 00:15:48.100 --> 00:15:51.340 承認は2件、技術オーナーは1名、データオーナーは1名です 00:15:51.340 --> 00:15:55.660 有効期限が切れるとアクセスは自動的に無効になり更新するか放棄するかのアラートが表示されます 00:15:55.660 --> 00:15:57.880 一時的とは最終的には一時的な意味になります 00:15:57.880 --> 00:16:00.480 マイクロストーリーでこれがどのように展開されるかを正確に示しましょう 00:16:00.480 --> 00:16:02.760 財務Q&Aエージェントは最初はリーダーとして開始します 00:16:02.760 --> 00:16:05.800 人々はそれを気に入っているので製品は経費レポートを作成したいと考えています 00:16:05.800 --> 00:16:07.920 これは狭いスコープのランナーアクションです 00:16:07.920 --> 00:16:10.600 ツールレベルのポリシーを持つ新しいツールを追加します 00:16:10.600 --> 00:16:15.200 経費の送信のみ、従業員のコストセンターのみ、添付ファイルが5つ以下のみ 00:16:15.200 --> 00:16:19.380 エージェントIDは30日後に期限切れになる単一のAPIのランナーを取得します 00:16:19.380 --> 00:16:25.120 コパイロットスタジオでは環境波業レベルのセキュリティを持つ一つのデータバーステーブルへのコネクタ権限を取得します 00:16:25.120 --> 00:16:29.020 監査ログには変更チケット、承認者、有効期限が表示されます 00:16:29.020 --> 00:16:35.340 マーケティング部門がレポートの削除も要求してきたら拒否するか独自の所有者とSLAを持つ別のライターツールにルーティングします 00:16:35.340 --> 00:16:37.080 モデルは何でも要求できます 00:16:37.080 --> 00:16:39.000 ポリシーは全てを強制します 00:16:39.000 --> 00:16:41.200 止めなければならないよくある間違い 00:16:41.200 --> 00:16:43.020 利便性のための共有ID 00:16:43.020 --> 00:16:45.040 利便性は封じ込めの敵です 00:16:45.040 --> 00:16:46.940 期限切れにならない一時的な管理者 00:16:46.940 --> 00:16:49.320 タイムアウトはカレンダーではなく権限に設定します 00:16:49.320 --> 00:16:52.140 デモのブロックを解除するために開発でプロジェクトの認証情報を使用します 00:16:52.140 --> 00:16:54.560 デモには本番データは必要なく監査人が必要とします 00:16:54.560 --> 00:16:56.440 コードではなくUIによるツールのゲート 00:16:56.440 --> 00:16:59.080 モデルが呼び出せるならユーザーインターフェースは関係ありません 00:16:59.080 --> 00:17:00.440 他に何も覚えていなくても 00:17:00.440 --> 00:17:03.580 エージェントを愚かな好奇心と鋭いナイフを持ったユーザーのように扱います 00:17:03.580 --> 00:17:04.620 エージェントごとのID 00:17:04.620 --> 00:17:05.800 アクションごとのロール 00:17:05.800 --> 00:17:07.060 リソースごとのスコープ 00:17:07.060 --> 00:17:08.520 デフォルトで時間制限があり 00:17:08.520 --> 00:17:11.140 全ての呼び出しはデータに触れる前にポリシーをチェックします 00:17:11.140 --> 00:17:14.580 AIが漏水蛇口になるのを実際にブロックするデータ損失ポリシー 00:17:14.580 --> 00:17:16.440 エージェントにIDとロールを与えました 00:17:16.440 --> 00:17:17.800 今度は滴りを止めます 00:17:17.800 --> 00:17:19.380 ガバナンスはここでプロアクティブです 00:17:19.380 --> 00:17:21.200 建物から出る前に悪いものをブロックします 00:17:21.200 --> 00:17:22.440 これが重要な理由 00:17:22.440 --> 00:17:23.920 AIは露出を増幅します 00:17:23.920 --> 00:17:24.700 一つのプロンプトで 00:17:24.700 --> 00:17:27.840 それぞれが潜在的な情報漏洩となる100個の送信トークンが生成される可能性があります 00:17:27.840 --> 00:17:29.840 コントロールが事後分析でのみ表示される場合 00:17:29.840 --> 00:17:31.740 ガバナンスではなくホレンジックを行っています 00:17:31.740 --> 00:17:34.100 実際に効果を発揮するポリシーセットは次の通りです 00:17:34.100 --> 00:17:36.620 シートベルト、エアバッグ、レンガの壁のようなものと考えてください 00:17:36.620 --> 00:17:38.360 出力のピ削減はデフォルトです 00:17:38.360 --> 00:17:40.900 名前、メールアドレス、電話番号、国民ID 00:17:40.900 --> 00:17:43.280 ユーザーに権限がない場合はマスクされます 00:17:43.280 --> 00:17:45.880 情報漏洩は誰の内部内部にもありません 00:17:45.880 --> 00:17:50.340 シークレット検出、APIキー、トークン、秘密鍵、接続文字列パターン 00:17:50.340 --> 00:17:51.980 および速度のためのブルームフィルターを保護します 00:17:51.980 --> 00:17:53.860 一般的な形式のチェックサムを追加して 00:17:53.860 --> 00:17:55.400 誤検出で溺れないようにします 00:17:55.400 --> 00:17:57.900 ビジネスに合わせて調整された機密用語フィルター 00:17:57.900 --> 00:18:01.920 法的プロジェクト名、M&Aコードワード、未リリースの製品コード名 00:18:01.920 --> 00:18:04.920 このリストを所有者と変更履歴のある管理ストアに保持します 00:18:04.920 --> 00:18:06.880 出力構造の正規表現許可リスト 00:18:06.880 --> 00:18:08.500 ツールが請求書の概要を期待している場合 00:18:08.500 --> 00:18:10.040 請求書形式の出力のみが通過します 00:18:10.040 --> 00:18:11.600 物語形式の歌は通過しません 00:18:11.600 --> 00:18:13.040 スキーマはオプションではありません 00:18:13.040 --> 00:18:13.840 契約です 00:18:13.840 --> 00:18:16.360 ラングチェーン4Jでは強制前処理と後処理があります 00:18:16.360 --> 00:18:17.840 前処理は入力をスキャンして 00:18:17.840 --> 00:18:19.960 インジェクションペイロードと許可されていないタスクを検出します 00:18:19.960 --> 00:18:22.140 後処理はJSONスキーマを検証し 00:18:22.140 --> 00:18:23.880 用語シークレットフィルターを実行し 00:18:23.880 --> 00:18:26.260 エージェント協会から何も出る前にPを編集します 00:18:26.260 --> 00:18:27.720 チェックが失敗した場合は 00:18:27.720 --> 00:18:29.640 相関IDを含む安全なエラーを返します 00:18:29.640 --> 00:18:31.260 部分的な真実はありません 00:18:31.260 --> 00:18:32.260 多分もありません 00:18:38.500 --> 00:18:40.980 例えば健康データを開示しない 00:18:40.980 --> 00:18:42.280 それらを連鎖させます 00:18:42.280 --> 00:18:43.180 クローズします 00:18:43.180 --> 00:18:44.820 ボールバック動作を定義します 00:18:44.820 --> 00:18:46.020 より高いレベルで要約するか 00:18:46.020 --> 00:18:47.120 安全な拒否を与えるか 00:18:47.120 --> 00:18:48.000 人間にルーティングします 00:18:48.000 --> 00:18:48.880 モデルをループさせて 00:18:48.880 --> 00:18:50.520 より安全なリークを与えないでください 00:18:50.520 --> 00:18:51.600 コパイロットスタジオでは 00:18:51.600 --> 00:18:53.540 すでに支払っているスタックを使用します 00:18:53.540 --> 00:18:56.060 マイクロソフト365のDLPポリシーは 00:18:56.060 --> 00:18:57.640 チャンネルとコネクタに適用されます 00:18:57.640 --> 00:18:59.420 それらを有効にして調整します 00:18:59.420 --> 00:19:01.340 グラウンディングソースでセンシティブラベルを使用して 00:19:01.340 --> 00:19:02.900 エージェントが明示的な承認なしに 00:19:02.900 --> 00:19:03.880 影響の大きいコンテンツを 00:19:03.880 --> 00:19:04.900 インデックス化しないようにします 00:19:04.900 --> 00:19:06.040 テナントレベルのモデレーションは 00:19:06.040 --> 00:19:07.260 デフォルトで有効にしておくべきであり 00:19:07.260 --> 00:19:08.680 後で有効にするのはやめましょう 00:19:08.680 --> 00:19:11.120 後で有効にするのはPRが関与する場合です 00:19:11.120 --> 00:19:12.500 監視はこれらをまとめます 00:19:12.500 --> 00:19:16.380 式位置 異常な出力サイズ 異常な宛先 異常な頻度を設定します 00:19:16.380 --> 00:19:18.360 Q&Aボットが突然外部エンドポイントに 00:19:18.360 --> 00:19:19.520 メガバイトを書き込んだ場合は 00:19:19.520 --> 00:19:20.480 セッションを隔離します 00:19:20.480 --> 00:19:22.440 リスクの高いセッションを自動的に期限切れにして 00:19:22.440 --> 00:19:23.420 所有者に通知します 00:19:23.420 --> 00:19:25.120 アラートは実行可能なものにします 00:19:25.120 --> 00:19:27.540 全てのマスクイベントで全員にピンを送信しないでください 00:19:27.540 --> 00:19:29.200 今日出荷できるクイックウィンです 00:19:29.200 --> 00:19:32.240 エージェント協会で出力スキーマとブロックリスト用語を強制します 00:19:32.240 --> 00:19:34.080 スキーマがない場合応答しません 00:19:34.080 --> 00:19:36.080 最終パスとしてピ削減を追加します 00:19:36.080 --> 00:19:37.980 この組み合わせにより明らかな漏洩を防ぎ 00:19:37.980 --> 00:19:39.600 残りの実装に時間を稼ぐことができます 00:19:39.600 --> 00:19:40.740 よくある間違い 00:19:40.740 --> 00:19:42.500 フロントエンドコードに依存させる 00:19:42.500 --> 00:19:44.160 メッセージがクライアントに到達する前に 00:19:44.160 --> 00:19:45.260 サーバー側で編集します 00:19:45.260 --> 00:19:46.760 一つのグローバルブロックリスト 00:19:46.760 --> 00:19:48.500 ビジネスドメインごとにセグメント化します 00:19:48.500 --> 00:19:50.440 金融用語はマーケティング用語ではありません 00:19:50.440 --> 00:19:53.000 デバッグのために編集されていないオリジナルをログに記録します 00:19:53.000 --> 00:19:54.380 取り込み時にマスクします 00:19:54.380 --> 00:19:56.080 ホームチームが承認した場合にのみ 00:19:56.080 --> 00:19:57.640 セキュアボールとコピーを保持します 00:19:57.640 --> 00:19:58.880 蛇口をロックしてから 00:19:58.880 --> 00:20:00.160 わざと壊してみよう 00:20:00.160 --> 00:20:01.740 レッドチームのチェックリスト 00:20:01.740 --> 00:20:03.680 プロデューサーが壊す前に壊してみよう 00:20:03.680 --> 00:20:05.860 シートベルトを引っ張るまで信用しないのと同じ 00:20:05.860 --> 00:20:07.040 ガードレールも同じ 00:20:07.040 --> 00:20:08.620 混乱を計画的に起こそう 00:20:08.620 --> 00:20:10.040 目標は雰囲気ではなく 00:20:10.040 --> 00:20:11.440 再現可能な敵対的テスト 00:20:11.440 --> 00:20:12.520 チェックリストを出荷し 00:20:12.520 --> 00:20:13.780 一定のリズムで実行し 00:20:13.780 --> 00:20:15.260 それを使ってリリースをゲートする 00:20:15.260 --> 00:20:16.680 まずはインジェクションテスト 00:20:16.680 --> 00:20:17.880 役割の混乱 00:20:17.880 --> 00:20:19.320 エージェントにポリシーを無視して 00:20:19.320 --> 00:20:21.040 システムとして動作するように促す 00:20:21.040 --> 00:20:22.180 拒否されるはずだ 00:20:22.180 --> 00:20:23.440 ツール名の衝突 00:20:23.440 --> 00:20:25.620 偽のツール名とパラメータを注入する 00:20:25.620 --> 00:20:27.880 登録されたツールのみが実行されるべきだ 00:20:27.880 --> 00:20:29.120 スキーマのバイパス 00:20:29.120 --> 00:20:31.720 コマンドを文字列とジェイソンコメントに埋め込む 00:20:31.720 --> 00:20:33.720 バリデータは拒否しなければならない 00:20:33.720 --> 00:20:34.940 思考の連鎖の餌 00:20:34.940 --> 00:20:37.420 ソースを漏洩する推論ダンプを誘い出そう 00:20:37.420 --> 00:20:39.320 出力はスキーマ内に止まるべきだ 00:20:39.320 --> 00:20:40.840 データ流出のプロンプト 00:20:40.840 --> 00:20:42.740 正確なSSNを引用する 00:20:42.740 --> 00:20:44.480 すべてのメールをエクスポートする 00:20:44.480 --> 00:20:46.080 監査証跡付きで拒否される 00:20:46.080 --> 00:20:47.300 次はアクセステスト 00:20:47.300 --> 00:20:48.740 スコープのエスカレーション 00:20:48.740 --> 00:20:50.520 エージェントの役割外のアクションを要求する 00:20:50.520 --> 00:20:52.420 ツールはラッパーレベルでブロックする必要があります 00:20:52.420 --> 00:20:53.780 機嫌切れトークンの動作 00:20:53.780 --> 00:20:55.580 セッションの途中でシークレットをローテーションします 00:20:55.580 --> 00:20:57.780 呼び出しは明確なエラーでクローズされて失敗する必要があります 00:20:57.780 --> 00:20:59.080 シャドウ環境の漏洩 00:20:59.080 --> 00:21:01.180 開発エージェントが本番エンドポイントを試みます 00:21:01.180 --> 00:21:01.960 ハードフェール 00:21:01.960 --> 00:21:03.500 ログを第4量で出力します 00:21:03.500 --> 00:21:04.320 監査テスト 00:21:04.320 --> 00:21:05.680 トレースの完全性 00:21:05.680 --> 00:21:08.120 一つの相関IDでプロンプトからアクションを再構築できますか 00:21:08.120 --> 00:21:09.080 改ざん検出 00:21:09.080 --> 00:21:10.060 保存されたログの変更 00:21:10.060 --> 00:21:11.900 ハッシュの不一致はアラームを発する必要があります 00:21:11.900 --> 00:21:12.980 サービス間の相関 00:21:12.980 --> 00:21:15.060 チームメッセージIDからデータバースレコード 00:21:15.060 --> 00:21:17.220 外部API呼び出しまで全て一致します 00:21:17.220 --> 00:21:17.800 合格 00:21:17.800 --> 00:21:19.500 不合格ゲートを定義します 00:21:19.500 --> 00:21:21.420 スキーマがない場合は失敗します 00:21:21.420 --> 00:21:23.720 検証しない出力はリリースをブロックします 00:21:23.720 --> 00:21:25.680 テナント全体のスコープは失敗します 00:21:25.680 --> 00:21:28.360 スコープグループと有効期限のないコネクタはブロックされます 00:21:28.360 --> 00:21:30.200 サイレントツールの障害は失敗します 00:21:30.200 --> 00:21:32.460 エラーは隠蔽するのではなく表面化する必要があります 00:21:32.460 --> 00:21:34.420 ロールバックプランがない場合は失敗します 00:21:34.420 --> 00:21:38.300 数分以内に権限の変更またはモデル構成を元に戻せない場合は準備ができていません 00:21:38.300 --> 00:21:40.660 エージェントの変更ごとにプレリリースを定期的に実施します 00:21:40.660 --> 00:21:43.780 本番環境のような環境に対して市販機ごとにカオスドリルを実施します 00:21:43.780 --> 00:21:46.260 インシデント後の学習ループを5営業日以内に開始し 00:21:46.260 --> 00:21:48.040 新しいテストをスイートに追加します 00:21:48.040 --> 00:21:52.200 各チェックリスト項目には修正するオーナーとSLAおよびステータスがあります 00:21:52.200 --> 00:21:54.000 オーナーがいなければ出荷できません 00:21:54.000 --> 00:21:55.460 すぐに成果が得られます 00:21:55.460 --> 00:21:59.840 スキーマがないと失敗しテナント全体のスコープがないとCICDチェックとして失敗します 00:21:59.840 --> 00:22:02.020 どちらかがトリップするとパイプラインが停止します 00:22:02.020 --> 00:22:04.780 会議も議論も不要で誰もが尊重する赤信号だけです 00:22:04.780 --> 00:22:05.920 リストを実行します 00:22:05.920 --> 00:22:06.700 壊れます 00:22:06.700 --> 00:22:07.680 修正します 00:22:07.680 --> 00:22:10.820 そして驚きが驚きでなくなるまでもう一度実行します 00:22:10.820 --> 00:22:13.580 ほとんどの組織がスキップするガバナンス手順が一つあります 00:22:13.580 --> 00:22:16.440 他に何も覚えていなくてもエージェントはIDです 00:22:16.440 --> 00:22:20.820 エージェントを最小限の権限強制出力契約および完全な監査証石を持つ 00:22:20.820 --> 00:22:23.040 非常に愚かで非常に強力なユーザーとして扱います 00:22:23.040 --> 00:22:24.740 ほとんどの組織がスキップする手順は 00:22:24.740 --> 00:22:27.400 すべてのエージェントに専用のサービスプリンシパルを作成し 00:22:27.400 --> 00:22:30.860 環境ごとにスコープ付きロールを介してすべてのツールとコネクタを接続することです 00:22:30.860 --> 00:22:33.460 共有資格情報もテナント全体のスコープもありません 00:22:33.460 --> 00:22:35.300 RBACモデルを採用します 00:22:35.300 --> 00:22:39.160 今週DLPポリシーを有効にしてレッドチームのチェックリストを実行します 00:22:39.160 --> 00:22:43.400 次回の配信ではJ言語とコパイロットスタジオ用のラングチェーンの正確な設定方法をご紹介しますので 00:22:43.400 --> 00:22:45.640 謝罪する代わりにガバナンスをコピー&ペーストできるようになります 00:22:45.640 --> 00:22:46.880 ぜひご登録ください