From ccb7cb0fb5bb69676d0cb8143c74795caa39b6fe Mon Sep 17 00:00:00 2001 From: hellices Date: Fri, 14 Aug 2026 08:29:17 +0900 Subject: [PATCH 1/9] test(sre-agent): add failing tests for VNet images and networking content Adds RED tests requiring the 16-file official asset set (12 SVGs + 4 PNGs), all 12 SVGs and 4 PNGs referenced in monitor/azure-sre-agent.md, and a new VNet connectivity section covering the three egress modes, subnet requirements, private DNS zones, ExpressRoute/VPN routing, preview limitations, and official source links. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../scripts/tests/test_briefing_docs.py | 98 ++++++++++++++++++- 1 file changed, 95 insertions(+), 3 deletions(-) diff --git a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py index e4a5a383..4e98db1b 100644 --- a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py +++ b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py @@ -4,14 +4,27 @@ REPO_ROOT = Path(__file__).parents[4] BRIEFING = REPO_ROOT / "monitor" / "azure-sre-agent.md" -OFFICIAL_ASSETS = { +OFFICIAL_SVGS = { "incident-response-flow.svg", "root-cause-analysis.svg", "agent-reasoning-flow.svg", "memory-unified-search.svg", "memory-auto-learning.svg", "custom-skill-flow.svg", + "diagnose-azure-services.svg", + "notification-paths.svg", + "incident-platform-flow.svg", + "knowledge-sources.svg", + "run-modes-comparison.svg", + "permission-flow.svg", } +OFFICIAL_PNGS = { + "azure-sre-agent-networking-vnet.png", + "portal-sub-agent-canvas-full.png", + "managed-connectors-icon-grid.png", + "operations-hub-overview-tab.png", +} +OFFICIAL_ASSETS = OFFICIAL_SVGS | OFFICIAL_PNGS def prose_only(markdown: str) -> str: @@ -255,6 +268,19 @@ def test_briefing_marks_preview_capabilities(): assert "미리 보기" in managed +def test_official_asset_set_has_16_selected_files(): + asset_dir = ( + REPO_ROOT + / "monitor" + / "sre-agent-event-lab" + / "assets" + / "official" + ) + + assert len(OFFICIAL_ASSETS) == 16 + assert {path.name for path in asset_dir.glob("*")} == OFFICIAL_ASSETS + + def test_official_sre_agent_svgs_are_stored_locally(): asset_dir = ( REPO_ROOT @@ -264,8 +290,74 @@ def test_official_sre_agent_svgs_are_stored_locally(): / "official" ) - assert {path.name for path in asset_dir.glob("*.svg")} == OFFICIAL_ASSETS - for name in OFFICIAL_ASSETS: + assert {path.name for path in asset_dir.glob("*.svg")} == OFFICIAL_SVGS + for name in OFFICIAL_SVGS: svg = (asset_dir / name).read_text() assert " Date: Fri, 14 Aug 2026 08:34:46 +0900 Subject: [PATCH 2/9] test(sre-agent): replace invented Korean sentence assertions with behavior checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task 1 review finding: the two preview-limitation assertions in test_briefing_covers_private_network_connectivity asserted exact, self-invented Korean sentences with no existing source to quote, coupling Task 2's prose to one specific phrasing instead of the underlying facts. Replace both with keyword/group checks over text windows following the '커넥터' and '아웃바운드'/'인바운드' anchors, so any equivalent natural Korean wording passes as long as it proves: 1. connector traffic uses the public internet and does not traverse the VNet during preview, and 2. VNet integration is outbound-only and inbound (private endpoint) is unsupported. Confirmed still RED: scripts/tests/ shows the same 6 failed, 62 passed as before this change (no regressions), and confirmed the new keyword checks independently pass against realistic equivalent Korean phrasing that differs from the previously hard-coded sentences. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../scripts/tests/test_briefing_docs.py | 52 +++++++++++++++++-- 1 file changed, 47 insertions(+), 5 deletions(-) diff --git a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py index 4e98db1b..aaee9deb 100644 --- a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py +++ b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py @@ -27,6 +27,24 @@ OFFICIAL_ASSETS = OFFICIAL_SVGS | OFFICIAL_PNGS +def windows_after(text: str, anchor: str, size: int = 500) -> list: + """Return a text window following each occurrence of `anchor`. + + Used to check that groups of related keywords appear close together + (i.e. in the same sentence/paragraph), without pinning the test to one + exact, invented sentence. + """ + windows = [] + start = 0 + while True: + idx = text.find(anchor, start) + if idx == -1: + break + windows.append(text[idx : idx + size]) + start = idx + 1 + return windows + + def prose_only(markdown: str) -> str: markdown = re.sub(r"```.*?```", "", markdown, flags=re.DOTALL) markdown = re.sub(r"`[^`]+`", "", markdown) @@ -348,11 +366,35 @@ def test_briefing_covers_private_network_connectivity(): ): assert topic in text, topic - for limitation in ( - "커넥터 트래픽은 이번 미리 보기에서 VNet을 거치지 않고 공개 인터넷 경로를 사용합니다", - "이번 미리 보기는 아웃바운드 트래픽만 제어하며 프라이빗 엔드포인트로 들어오는 인바운드 연결은 지원하지 않습니다", - ): - assert limitation in text, limitation + connector_windows = windows_after(text, "커넥터") + assert connector_windows, "missing connector coverage" + assert any( + "VNet" in window + and any(keyword in window for keyword in ("공개 인터넷", "퍼블릭 인터넷", "인터넷 경로")) + and any( + keyword in window + for keyword in ("거치지 않", "통과하지 않", "지나지 않", "라우팅되지 않", "우회") + ) + for window in connector_windows + ), ( + "briefing must state that connector traffic uses the public internet " + "and does not traverse the VNet during preview" + ) + + outbound_windows = windows_after(text, "아웃바운드") + windows_after(text, "인바운드") + assert outbound_windows, "missing outbound/inbound VNet coverage" + assert any( + "아웃바운드" in window + and "인바운드" in window + and any( + keyword in window + for keyword in ("지원하지 않", "지원되지 않", "지원하지 못", "미지원", "불가") + ) + for window in outbound_windows + ), ( + "briefing must state that VNet integration controls outbound traffic only " + "and that inbound connections via private endpoint are unsupported in preview" + ) for source in ( "https://learn.microsoft.com/azure/sre-agent/network-integration", From fa18ebcdc9c3906057f4cba4c64458e52c5cca51 Mon Sep 17 00:00:00 2001 From: hellices Date: Fri, 14 Aug 2026 08:49:57 +0900 Subject: [PATCH 3/9] monitor(sre-agent): download official Learn media assets for VNet/permissions/memory diagrams Add 10 official Azure SRE Agent Learn media files (exact bytes preserved) to monitor/sre-agent-event-lab/assets/official/: observability diagnosis, notification paths, incident platform flow, memory knowledge sources, run modes comparison, permission flow, VNet networking screenshot, sub-agent canvas, managed connectors grid, and Operations Hub overview. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../azure-sre-agent-networking-vnet.png | Bin 0 -> 175628 bytes .../official/diagnose-azure-services.svg | 82 ++++++++++++++++++ .../official/incident-platform-flow.svg | 59 +++++++++++++ .../assets/official/knowledge-sources.svg | 48 ++++++++++ .../official/managed-connectors-icon-grid.png | Bin 0 -> 34605 bytes .../assets/official/notification-paths.svg | 68 +++++++++++++++ .../official/operations-hub-overview-tab.png | Bin 0 -> 75141 bytes .../assets/official/permission-flow.svg | 61 +++++++++++++ .../official/portal-sub-agent-canvas-full.png | Bin 0 -> 75815 bytes .../assets/official/run-modes-comparison.svg | 57 ++++++++++++ 10 files changed, 375 insertions(+) create mode 100644 monitor/sre-agent-event-lab/assets/official/azure-sre-agent-networking-vnet.png create mode 100644 monitor/sre-agent-event-lab/assets/official/diagnose-azure-services.svg create mode 100644 monitor/sre-agent-event-lab/assets/official/incident-platform-flow.svg create mode 100644 monitor/sre-agent-event-lab/assets/official/knowledge-sources.svg create mode 100644 monitor/sre-agent-event-lab/assets/official/managed-connectors-icon-grid.png create mode 100644 monitor/sre-agent-event-lab/assets/official/notification-paths.svg create mode 100644 monitor/sre-agent-event-lab/assets/official/operations-hub-overview-tab.png create mode 100644 monitor/sre-agent-event-lab/assets/official/permission-flow.svg create mode 100644 monitor/sre-agent-event-lab/assets/official/portal-sub-agent-canvas-full.png create mode 100644 monitor/sre-agent-event-lab/assets/official/run-modes-comparison.svg diff --git a/monitor/sre-agent-event-lab/assets/official/azure-sre-agent-networking-vnet.png b/monitor/sre-agent-event-lab/assets/official/azure-sre-agent-networking-vnet.png new file mode 100644 index 0000000000000000000000000000000000000000..172c118c338fb1b2b9b4cd4cb27e33ffec9ab687 GIT binary patch literal 175628 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%0D%_986m7u>nH3{o3oFEiUKDT() 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 qRDbkv0crArvCF2KGpY>}!*5teGNd5<$=TXT3 literal 0 HcmV?d00001 diff --git a/monitor/sre-agent-event-lab/assets/official/diagnose-azure-services.svg b/monitor/sre-agent-event-lab/assets/official/diagnose-azure-services.svg new file mode 100644 index 00000000..e5b51c5b --- /dev/null +++ b/monitor/sre-agent-event-lab/assets/official/diagnose-azure-services.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + How your agent diagnoses Azure services + + + + Service + issue + + + + + + + SRE Agent + queries all sources + correlates evidence + explains root cause + + + + + + Application Insights + KQL queries, traces, dependencies + + + + + Log Analytics + Workspace logs, custom events + + + + + Azure Monitor Metrics + CPU, memory, requests, analysis + + + + + Resource Graph & Activity + Topology, changes, deployment logs + + + + + Built-in Skills & Az CLI + Deep diagnostics, connectivity, + resource-specific checks, remediation + + + + + + + + + + + + Correlated + diagnosis + Evidence from all sources + + + No connectors needed — works through managed identity and Azure RBAC + diff --git a/monitor/sre-agent-event-lab/assets/official/incident-platform-flow.svg b/monitor/sre-agent-event-lab/assets/official/incident-platform-flow.svg new file mode 100644 index 00000000..022541a4 --- /dev/null +++ b/monitor/sre-agent-event-lab/assets/official/incident-platform-flow.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + Incident Platform + PagerDuty + Azure Monitor + + + + Alert + + + + Response + Plan + Filter + Mode + + + + Match + + + + Agent + Investigates + Automatically + + + + Findings + + + + Take Action + Mitigate issue + Update incident + + + + + + + Track + Metrics + + + Connect your incident platform → Agent responds automatically → Track effectiveness + diff --git a/monitor/sre-agent-event-lab/assets/official/knowledge-sources.svg b/monitor/sre-agent-event-lab/assets/official/knowledge-sources.svg new file mode 100644 index 00000000..a9d35f47 --- /dev/null +++ b/monitor/sre-agent-event-lab/assets/official/knowledge-sources.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + Knowledge Base Sources + + + + Upload Documents + Builder → Knowledge base + + 📄 Runbooks (.md, .txt) + 📄 Architecture guides + 📄 On-call playbooks + 📄 API documentation + 📄 Team procedures + + + + MCP Connectors + Settings → Connectors + + 🔗 Azure DevOps wikis + 🔗 GitHub repos and wikis + 🔗 Microsoft Learn docs + 🔗 Confluence pages + 🔗 Custom MCP servers + + + + + + + Agent's + Knowledge Base + Searched via + SearchMemory + + citations + diff --git a/monitor/sre-agent-event-lab/assets/official/managed-connectors-icon-grid.png b/monitor/sre-agent-event-lab/assets/official/managed-connectors-icon-grid.png new file mode 100644 index 0000000000000000000000000000000000000000..b8750f79901b4abd4b420bd4fc7a454f7c8461d7 GIT binary patch literal 34605 zcmeFZWmH_mdaZ7L-3lQAhA%x%-f;aB&G~T!bY1}oqyZc?) z@7eqP#`w-YcaQt){ z{3%f4PZ$0fc)YNc(sV#Tz;^ue|H+~;xhqhJ;wUXIjeai2b5y` zqtxC=|4-F7j%HRy2waz#FMv;8{P{%L#@NwC-`)s8$M*40b+mtUZsuTUsSi}ON2qPB zjs%LI|0!12x3@O4HbH15-UtNBQ2uJ~WN&DMaQ^7G`_F1(Hda@jt+I_^WM;XLt$9_N*koU2vIi$>(U#W zyQQ~)I3mY6<*P;IWf{vy$2pb8Wcn#$TV;;9F`GWJe0s%ud2@d}U3b9J-+r*ie&p8T zi90YTbi3!7n0P2K#4!})>G|}}N)ZO+E%*PZ13^Vms_M_v)t3_ucznhGf3N@dO5?4a z^F@s_DFOn+8>ZrpBpU^fGrGsY6c1!IoX{>`U*?W>KB=71;^JGpA~FO7NpnEODvH7n zbqf;{ye!sJam;gE@h7KD7SMt3iW_&)bt63wF79L+*Vg?&1$mQb$69 zGSJcO&0QKj6t+cUkbdKHLRFB5#U@<2Xzt1-Unzk)W!Yz<#gf4#LLL{R#hRh(_Vqc1 znr__O+=3nfMqj?9@jA54Iz2&%P9J;q6`ukNYvlWjEF!KG59j)zpiYA*qe3?CyU+%- z{r&x?h+5d6K7Fb%D%95(3%p2UH!7B+f%o?dJ2PFMZJ(n0v(x3T`y$#64k}ER>Rfwz z?KYndJ}$bML_iszBIJrfkXk9Dq^iB|Q5n@*hlYB3@**bN)%8f>m4Z;PRk+M?k<;$R z>1K-vD2dyO_`U7k-8EyLqL0UPc`z?8rjB;(-Tvz6@M`;( zSfpk}XOXf2PZ~(Q2cK?)=P1p`~q{Aw57ZGf?Lb;-=R7MfGIT@Fq>F4<>Lb#+rMCYj8~e<{*L&21V2sAap$+SiDw3((P7B zt(x^hLygbl=AzG|VU6u@`l4Ys`sL{JN|mXU#Bv4S#n?quCM+P-D{>l4AAaAMt-<}wW?@2ht_EY_EcFqB|ZU@yLXYZd%! zuJK|dYbiG;r{$!N=^}2XN^f_Ba=gD^nI&GY#oJ;m*Xr@kAr8jru#tUq$K~hmuCXITCo5&-tHu`*+gMtN{W@8UGMd2{3cxMleV_O=iMh?-7>h)zDhpcE-695 zf?uST($nMI)sK#BAJ?KM0K18iQPo|f)LUw(GKTS4YWQ53+u2DkH0WAem+nm+EQsyz zS>9gk4|-coFtm1c@d`iMX{M#7q-3cuG&*i)&qxvy%?{4YY~P$~K`fAwpkcvoQ*(1w z>FMuSS(m!HuGixO;fbe29uxij9fO0;`?J(g^LjzoAB=dRMBHb$XJcG@ss$=1`?YDv z&#o9_3-|U&`1$89_7Q8Xw1#jWj(ZNzcP6@KX6R`*Ge8un0&a4*7b4EiH8nNdmj3zq zQ$1lXE>BKekKU-$L_2N0dX0Y>rNW?JhCwc5yEA^gxClii`}v?7N=xUE1S z?ZUo#+hv)lQdU6O*tbx{G;1_`32yT>b#3jttK-$1^IdTX1u`!4=N=PXUA=>YH9!rR zhYK?ULtH=Z#f5WOGhYKx)NT1kw+=)8%$n>yOD!VO($f0+8G(Vf063+v8!?5>W=Tc{ zOO@mXVxHEu-2!7o5OH+^y7oheBPY*!g_drY)x)@d%r`4|?F9hAuTfA;d0Xg1Xj|EFH z;oTqlj0J6VVAfvj@-*nRjF5ZR#S%}Ks;BTlgSW;D92!^)R2X7qy1czNQy#HKP{=)J z%a*pDAa*z3UocRFgeC87ZMBxLMoGmn1(OL}#gYjIqzNR7f>yi3-x((nJSc(A4jMm! zs_hIdmzr5GcX=RIM{I`e!E}7?4qw)=Df;^Q$k+@{=Ii@|^R4D4{gBVq3dRk46v)}X zh?eP6Vv^mdQbc)PEsvT|mJ;w-8@G68nZUt&>+70%5$gK-pIW?G6_ejL+ANJECSD2( z%pFFoB7&QFmA#XwNJ1PrT)3ID6EK
OrP$-&7&Bw-sMlgdRSE!F*cmJ`XY!23qOzNq7bo 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 + + + + + + + + + + + + + + + + + + + Agent + investigates + and recommends + + + + + + Response paths + + + + Execute fix + Scale, restart, rollback + + + + Create work item + ADO, Jira, GitHub + + + + Send notification + Teams, Outlook, Slack + + + + + + + + + Azure resources + Container Apps, VMs, AKS + + + Tracking systems + With context + evidence + + + Team channels + Formatted summary + + + + + + + diff --git a/monitor/sre-agent-event-lab/assets/official/operations-hub-overview-tab.png b/monitor/sre-agent-event-lab/assets/official/operations-hub-overview-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..f91fb636e72252cb573f7542522badc8448d6b89 GIT binary patch literal 75141 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 ad|!3kg1z=r-o0fvax)W(agmYRFaHI9-tJ8R literal 0 HcmV?d00001 diff --git a/monitor/sre-agent-event-lab/assets/official/permission-flow.svg b/monitor/sre-agent-event-lab/assets/official/permission-flow.svg new file mode 100644 index 00000000..f030d35a --- /dev/null +++ b/monitor/sre-agent-event-lab/assets/official/permission-flow.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + Agent needs to + perform action + + + + + + + Managed identity + has RBAC role? + + + + YES + + + Use managed + identity + + + + + + + NO + + + Request user + permissions (OBO) + + + + + + + Action + performed + + Restart service + Scale resources + Query logs + Modify config + Read metrics + diff --git a/monitor/sre-agent-event-lab/assets/official/portal-sub-agent-canvas-full.png b/monitor/sre-agent-event-lab/assets/official/portal-sub-agent-canvas-full.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6ac2fdaf90cb261cd1b08501250607f60debc4 GIT binary patch literal 75815 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 YRVtbN-HTd27d$`-ua3Y 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 z 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�On=I0Ta4v}3ejxd`;JF*>>V8H~n%HcYYe)r;kcq5g_R$08jFWgB zUtc9xR(gGVd+*U+4eWH}k`5!959VO&<~k9;o8Zw=1WP4=hzRMc8cUA_*9gDkNf@P? z&H}8md_$v1T${^Kz(T*g_-6z$@30(e0d#I*YAOf9RpIrEKE0uxwKuu*+y9Y&5{JXSfRtMVVMsZH|Z6eAVr=R|? zW%Tzwc-aHfucvHGuP1nU8Oi#o`wt2iJwDsJu#$f^Esc)ji0$0F3(ikh#7#vEG&Mun znfQ>`Y5dwbt?4{M0=bUe{D%ZSn5%%q91@ubs4cyuYC-vLRge4aS@V^^}E?B(@qsgV4Xne0bsi_b?Pe|4&r*Tw?CS5Sj zXj3o0{I8Wi!>iY+q?}G;qERV#3 zKilEg>LL>#voUw(UMR*X_7X8oKMX8xNgg~1-ZF0f2UUwSrd49~oBe!B+t1CY>3Pp= zC67BhN!~kiF@jjI-Jckf{@>_)yt4X0$vq4)%ldM2b6ZrmB~Q~6F2wZbJLxr7`>{o; zsjJnJj^$mm`+axFD@^KNtQ`C~LLLcIxqGbmT~!EN{@T%xjY%b z3l-Gav!?>Cp0QF_L8gH)D!T;{XB(7uv>W=eb5?WHA8G|o^Re=q8&M_W28 z?n|uU4jc6q%^X@TG*0MoH#A6Fp^)lOsDW2^oTE?JCJ8!Q(x5P(yFw6Z_PxDrW=dR}1&=jx(#*u8Ih~ zF#X%~qwCt0R*r)3xofwdz7x#dxs&VqP_n=O1Au-{)6y~<6wc`DV~&p(ctk>iI*+mu zpP%fZnm(hbk3D1^$Vr2_#9kFq&g%{#-wj0W51#(8EsAk6>cBp-Id~X+z3cV z4&=CE$@T+)f4qz<#v{N1sX3Ck9rN?^!*E^z)4|LP6`$+xUbGze>I`he@s;n?LT2u# zRdEkqKOh|;9IC&*K8%moAiV$hQCL`5{nV+uK|$RB?7_XmHv@7-1)x9)6;qJQe)U22 zS4UrBU*84yPD3AUU=~Lyr#w7fcQ{D08MjP6w0(_xNMkDb(`>Q%Rz+F&FrWRK*((WoSk1xef_RL`*_U#f_!ztJksGLVRvd>x$JQ z$7JiuVWeS`$yOsD9)o_?{!C{afEG#F35|$POq%LakS`=rS!k)iZW2P+r_bX&-6Aj@F z8&I}F!4y4GT2axL(OF+F?Peiu;r&;gCUQ8>7(5v$*1S$PAE z6~X%BY)$0B4`I)oRfdK9k`H5*6pRJBa!PPcvQh5F4X$_Ad6s z7Kio2{v-|A@rnD}d3Iws6W{u*b!=|$qn@D%C7r9{PV5?&bkB_@$h*B*-1YawCK`%} zSY+m26?7a9&TfT=`#kyM%PrWYpV_IZqMVg)I7A?;59Q^>M6_=s&CeRiayDFAspKuY z@x1Gtug%QhIUnJZKcnVei9|I{%m<}>?Pg(Hi4?2Hqg6b=^Ndzv)tMiRm5MKVrd;A@ zW|&e2ANVc~=df@FB$WDTzTY(FU3&)NnV!jQ;_LY_)oE0UVD~yBSy|^3PW2DZ4>yD+ zu8z?HPD*KYxNJMZVy7lnBT?Jl+1{>yCdjwt^I<&ZLEViZ_dE@KF>A?}=JU5PO25#3 z=}1<_L{Yu^eF1PjlosAk6nTz#+ciZWZ;j}jES8d9{@bjt_s-rmM*c>qRD0Q84em@$ zwv8=@NyhZPmc>1*UR9n!1u=9{R%{R>rU&22tZ{oY;ymV3dcHZ`p!5C?N=z{Kp2SP* z?+-3Nj{G!l<9IJ?&L0x4;3y###xUCm6pVyc6Msl>D8PNd?}BJ^N+I z$<6PW)0CA-%E|XxD+K9l^Z54;sI(Q3-iEj0>cO~1vWtXtMtn%*J)5kKq7A|!{WV44 zlMn`{sDD8OFP^(cbNdJ%k;zjo0VzEY&Tw#Kwc59D7gG&y&nfHs{p86LefFR~%XQ=v zHxiGzuC-Ku^YP20*XkCGIjtV_*cKD!#Lo4;?)aToxn8z99pRn* z?KMuaIOQuiy|V5wlqPEjM-osnJV8Zo9!oWSl=?`uzTRne9l96l+$!|mJspNA=hqvfqp)Az z+vu8Dxz2}rGTu)Slxw!A9!j9O{e>v4)iF8?!UGx>T1|ClnRuD_P+Oz?u1n(4xaQg! z+8+&2ICg>3)#_;7!1T{~tbQ)|ZB5NJ9i8)jJ|nB*jh_>}S5GYb9+UTU3$!OnsIJnW zq_}uf-+q_FQHa3tz;j&8+9N)65mSLt&ky0UYDp zxo_w%6jr8Bgbpj|lus7*e95t}FffRUjs|%JriTVEO}lWLqw|TEzflD6Fi-g8$&=nF zJ|#2|n(--7!5fV-)H9kH*Dw!8o%C;MBB$@l0(x%FZ4JP5s2O*tC(P$%x6qUr`&>52 z6NU@|1Eu=WQLp(91KerjV;&@B{FDh`sSY_JD&;ua?wXqEa?qbz@(o7U7wSJhJ2m^g z=j7$Jp~0@U5oE@!)&xgO-9N`5e!-)ne|33*>U8VBhxYOVfUSRjU)7DoPVa7g^ATyf1lMhDN_3_rGMv}=&kKRDQtoL`IoPH zsJ_(7|AsCn_%f2P0c( zB`^w{{W}SR;;{@&(ZIks3D)SPBH#|e-15d6U2*a8@;CoYqsajziAOGr?0JmC(P9)C zX9FyGC@_YB9}qc@>FOL%_r+mBAtCDO!INECYE^4} zQ_)V3s*`rs?V79F2FwU1nU5nPAo@r)Ro1aFTEp{Z6*d1jD@S<-SY={9#Ue5i;;+nR z7UkUM&rh$G#iVIhyqR>%vcOdDNGy}&X||+FouCv{xSJCna+;>Sxf@tJ1hAL&g*-~? zkOpDf+qEL8c(_eKCpJ}D=WP|#UCCV9r=CR9{;<1JFPySw=*B#p&G8F6AXbc zq+CHkfE0Xr5$G6{(tahbVOUj5tJ9${T)?BkJSP27xbdCmVBPZ4s46L*2|wQyV|yeP zI!b=Pb$omng4Y|)HV)kxmthLdHP4yqF8q%lS=@73f*oFR)R`qG(jGE?Pf4*cqC011 zW`^Jl+N^+)cCt?_mG1dcEhy#R&0|>|p4FX3krji*XEWLkF@lWO-U8(fCbg-!$nA~0 z%hGo%>9B^j?nHMu)@)6E8ggTMHxwBE-r94(cAKGgBiRFN>a2$etfvG$R5C5|` zny3{oQ;22^Cc!A~laee^m_viLUq}dt9hJBxBGO;wUByd4-QNUFPoB-afvK>Nka%D- zFh~VT2}J3^lP8Ae=3Zd-fYO7r1*(=ukJ?Z!;@U!Z8LW9;V1i8L8Z55@1ciLNsdFpJ6b&EZDDpmRoleS>@VK6-zpxV9)@B3>{kJI3M3$k&=wWjoD;_|>l; zLk>tWaVSVYy#iA-ac_HbU59XjNA~d+wm_dRd%t&ICRMwtiwgxUymP7>-uh?1Kd-uu zx_SY*O6szN`M5Z+7>r0Pfz3fUf~Qc9%?6g5LwQtG)I#+Z9!?n-0+l3VU}#u^-PhY| z3IJGwotXmFyp4F;)2A=Y%KjoO8Hzjb;==_l4^+xST}xJKE6~i~z|#V`4OId*bGlZd zxt`uE6mIy|qa!1kSz20g(ubVCpTg{eAY6SmTwp)(tJF4xEzv5{3ugkG(;>}Y*Xy%> zp}#M&dDN{8tQt=&89O8W)K(w_Z}vgQ0PL5u0mP)DJtvGw0ZsZJCLW5OS~yPFD$Mj) zV7ID9GrbV~xuZ5>lB+>z?-bmp2SI!)MQjOr?l0}_y#8RX_g$I75dh|)dCmad5Jn;; zILDEf4W;dMgdhVlMf-@`^0d}}SQ#MJIxI*JxdcE>|I(t&$ARvjKK%j564VDOA?%Oi z<5%I%uc1RK>kB33A@H_r6^Je39!~?(S-VAZaE~ew1)q6ilJZvHq)-YUu%N^xEu%demJx+ni-fybsW~SYl&AdIUg)`#jtYb zduvVm$My)3{Y{(wp?kznMLpRyGysdaKRCJfC4yO~`ohpXM>#`rp28wJl=Eo#a0&Y4 zPtk`*0ge1dLtH9#Cw&Z^v}G`m8_dtpHcPtv)Gk!LF3m{|7D3pDYxLRs5G!&>T_Mp9 zp*cRKrL{f1z##S2t7!~sViml-9!!07)yQb8KI%{Iyt0YnPmKEf@LmXW)R$X!9?NZi(9+5%-MPwrxlu%Dk8M1(oP!N&QHkY`*Vy7AoluN80ERA;5r+nL=f2u{#6Vdltgb-~Za(e}g|U-1c>H@&+>L?$%A)70WjHlBAur%@p2? zF_LY-jKt?1?;XU20BG@dUs=bmNpSig+&aewUqBTitz>qUr>(MbK;y`G`=P~ez3-x! zcQ&}k1+^*KrzYJn}zsW}Yw)^52oj zgTa75QISZ^4vvXAt#jt`LbSoI+~dMiG>%K7)vwb4eTv@HpXjqdS)E5 zrazFU>;6LesH9F-n|gvrPbbfQwiN1wAd5Y z!1<_btcz9JCWG^yDAUorN^p_e6R2x6t@DDeY{1_Hhx?gpQer!Ha&h(ji>cpIbS`+4 zbx%m*eWF8Lv_@9Pkz*fxt)8Gs0TmG4#qwk^2V)@caR6_qr!g2}Bcsz~w|h=w5SBiM zq3#nht%3UF7r~&Ey=&PyIZ*=lY`c1{lpSo%x}U`!H|F7jyZ-#H0Cne_a}qkC@n@u?}wKjc-?F-)z^-RffF(k4$)4M*vScnRsPWrT9S&ULHtzu6Qx5|C z!U1n=97Kdx`OHp9I4f*pmp~MkGPT|UVG&_7m@FYWh$~)mU(h%7Xl#M6EhqU1EGa}t zsIWfm7uvU#c23N@%Z(F9L1Xf&d_qKb#YG%9Xy?h5+5Ix%`Hs6wfF?=GeJf+Li!GwF zqarMS|-txz=iYnEiQXX0CCzk4s*%|HJ;Ifr9ZZ%Hd04 zKS$j>cF63NoBK62adBLWQ|6GRjkgbLOvN3+AfO}2$5DbB7kq6k)$m;hjV0i<`0m|1 zj8QIqh}e(ahioea;CJAjK~pJKpQWE&ib@`}`PKX`;a!a&%}&m^n~HQ&2O9I87PzG7 zQa(T@KQZq~IR)$`$Gif(v%gaVJS;4Gf>Nm3C2vfV{I+a=nU%E+BYz?VKp};ILJyo; zS%3muGA?X~&b`IqXkun|3)5Sdi7%5QQ5KcBT{c!prwDo>w+P1-^anQweYOPMzhAY! zcEc!g)oUFr(Mphx(PrU1cgF>U=HWj%?l1E(*Pv0k7C64T8=-754-?qoSEBTSA9L{xbzR8mc#u5M#C%uzYIk zsc?8W?(4HY+IuKIY}9DO0iLvU|3PGAWOz75=Zu$^7l4eV z_+vPU*@l71Sk(qX(~5=k;6akPHv)?+gOOvb000sHhigLngFc@&l9}7Q z8p;s%VBE<}F1XYM zM|`=|))M>%5A_y~3oI8sNtop=e@ox(kK%06JFCXuE3bl)LD2KSsDU6)38F2~h(})2D()`wZ2ebib!^a^$2fg_$r(8IbeMp#atuFK;)uzc}(&f8{qnfB${cf<=kr5ctrLb*%nfx10J@8~glE zy-#A<$a$^&f;5h_me0PI4(6TMuz@b^uB_j))WbP4pC*Dsdsa5b@3xR?cj91uGt#kp z!OZgQLuGyC3;WFk1BzUdT~uR^ENeJl{asO|@ach6QJO|_TH2x)H+O=>YpJ6bv@}00 zBwVW;9f^`;*T7bUNx>3|rOUN}Okhla7U2c5g9s9=Aw{{`T`-0Rw4S)WmY4Fa{bZ+A1+dn)s59S>UbV5GmMP%woE;O0|a1x7*%4o1L8^b!=xfv46;i$>N34C!r9|tanEK6| za=&*as;#SMlRIMakCo+XT2z#@@x1oh%SranQ1jQSmSPL6Znf;Rt5ta3F+Tm1R-h1U{o_Rn=Ghwq7M!Y6 zL;s!d-(py^-*NgbU&23jO|MP4=OPHccf-Q$Jl_er7HMUDepWfKR-4STEvIzVvqFbw z2PH1bWc_S20folKW2TPv{{8#l;$AJAEW+f1$}XW2O>mCa91S^SdY|BnJ~Kt|$LJ_^ zaEf#(%o69p3xXNITPIUs^Pp}30f&Es+nrj)HWxH6`ub4*V%BmD$Tp}TK#R|vXMRy>K`pwdH!6@FD)I$}70o*myi{emY3OXvZq z5$1U3FOg^mj(aJz28dFFXTtgX*Qu!|NOfqdOg%;(I}`#~sp?0ai);y43`9mm%)z+8 zL^u+(+!_2Qa3^ubal9n!b++pd_9`CON<*_6#!G;jw7AEqbZ~lAIzavV!y~aFwni)S zfmKyoe(TE9v|@_-pE6D9i($E^*h;E^>XBHDG+m~jH$P4L)*eyAH{zn#6_``}4ji+0rrj(w6b|WrItX9mRsO$J7&n=Ik8VIvHJ?vA7$`#-V z{%=0mC4fjji@6@=)8?WfMChrf7KWqHnLcS7Q&&}OotQ@g-5Eg=C}NPAPz&&N5DC1) z1)`gNV6u+$2x_}2OhQoi`SMQ7K|8TN%;BD_`0wDL&vjp36ro41^inx9Ncf=JxIu?h z+x7~QZ%ozTAb>hO*JJklom#T$XC|p$A`j0xX7QgAba#^$)P5>NMy_gx^ikH`B8fX8O&?BV>`&QP>E3GZA{o&%`I-MpSS1Bql zFE1&{a>pBr$)cifV{RpP*pC)Cd$y?Tq8(bLEPu7B_5C%pIJxapm0QmAr-h7{2_z{Y zbN+;WS3dD)wR#dx^#+B;T>TvT4;*N;6dUAM*12@$3XoES4I8YwdM3>B$9>#v;ix0@ zm^}m?@nBrP(Bsp|+JnWn_oXhadZBHd_q=s1abT*U%>z0a1cBNO8ViUb@nk^_>a>@@S^U>s4n!bT zC#T%^Hth1A1#M$-hwU^qG@7v1Fhz$D2DCvC<>A5s5HzRcTM#CyutO^DVLfOpK%iJ# z4`a)sXu@<~xor-GRRJn|xY!6j{s10EbF37Vrcc$PQDa0y*j@WvJ8vN^hT5*e4hJ*7 zQDhh%vw%tt+>BtAVSF^OJP>^dJ0JZlKrUDxO(}8U28jRT$C6$v{~$(q4V(uc4~UPfU-C?%8Uyw{Tj(C92Q}jO z8%r_9%t|Baz%X@!xCF>cH(iDE8WsPQ{`zp+q_)~qAwF`K(#r#HPD}%RWP708%&Y&p z?@C$Um0ZK=?|g@+b3x_kK3{lBsQs91SL~7q!;^{f?QV8{Xl5wD-?y#xfhXV=ap`kpL;4 zUp29k{Xh`k%Qv)&Z|mxYtfb^P_Bi{&*0No!wC|ByPSe}!A zo9eaDGW+++zXcq1Cz7?n;f=cUaP>j#^{uqZyc=_cm%Dlr?LwO4ie3Kx6}`?SD(f{b zn&W)bG;wu`HDg?>$y_39{FLPAtf+-+o$~8pHadPdQoQSyNF!&g?=4GYb^jnift{ps zX!>B5&=3!uqV&W}u%=c=ZEBwIa9Wk!0>$qcsKP*eLh8+j4OgPMWTpo8hTadm!J&nur8|h%#w-V<)(sZE1*fs9G<7Bo$&W-7=siI%o zXnmv13*CQ*8*vvGx7D;WsJWkdt>-#Ew=5Ucb-7je1JeMv%)`$#)vcYDQRhnT-Mg(F zYM8B_#86nVnTGM!km&h16P~O5$!COSKK02p50CKB2T-y)zOC7pXzlJ|y(8&wNeoC; zTuH?|TaZ-pm)`gGsM3(tWm8w#vx5wM(HrX=HMuyq4?nham!U~8zrU|3rLE_^f7JfK z6DK7kQbu0ZYUBxH>8;%PontWMxAL#oNyhKXmrEQ{wsFQ;yWABcZF~iOh&Cq5$QJ)~ z=V}u35*fer4jJ>*6MxJF*Dq6mR@nHzDVG+2@FAcX!FrE@q|57sh5T z(a=b%#p~+^lywe$=Ny_jAy-5^s<3-W#nMsPy!|fc+6 z^kruCiCsexM}~F}S6dSI5w_MQUXN>#ELS_}-llw$W$QY7t>T5Mu(Ci3xvcMH=Y(X; zdTiX7TiNcwqZzj!9H$N7n+>2Ze{e+R@)>=ZW(JD(aaugLNTo*CVl)26KhJVgDU?%# z0g3XPnlBS3EHcys4U?q{)dq8C-l$5?uXWM)|+!~ z)7&1~y70GV1NnE)5S`DE<@SNyzv)ui;;-K1d+Tr6GDOd**)VXKE|imlQ7Ee;{)__rU#?%hzv>Il6nKe-0Pu!gNdwj!)o# z5y*1OQXiylq;I|P;@;MRnTLA0wC4Y`-mq2*i#BfXrWx4j@l=@KSLwypyv_9~(^sTg zIbUEl>EJ3XCB4b&>t_EEt`TFESnH2gs=LSn{XdV!tF&E}zot^E8(585+N6A0EjU+U=C=?rW%+>45&8?~eil_75zEe*p=lAO+K2`NS8$fg0i*@&)Rs7P2p-p!; z7|O6ABdf%V*_&qy0|{~mUyYjH&rQ;!`)z!b|A3g1-zM^k3Dfr2 zxy}TWWbJq7^Y@d2(9wMJ_(h$b9jP$q(P%OdB)QLSl`B9P#i=&h?BQopKY!lJSv*A> z(7yk4?N3=~8Q*PwHAyLFcv!sWMutRlVq7`` zxM0ahAd60Q?3XFFr=fBD&9~1pK=kiP%_YjFwmbE)d-H|i z%yC1+Bu5MK7ha3I52$|+(Omaq2oS(E>=Z9Dr{ryPC;dVI1#Ty;lDtX;9ib0#S=$S?`kFjQ zEmK!&p}lBhc}XntwW&xs^1rqmAO*b}$w{(cY`(1>p&V!Sqn7O!oh+din2S9yyxt*@K%e4O&1KQ2#_)Q+CT+z8+&Q#`YafJ7dL9jf5MW zIf2HbT+Z;S>X}TxP}-w8M2BJ-Hm7c7R;P6{g4jLmI+v>hQhJzvQf+8<+t$QBgs@lc zblW_eufUmm^k=_`4Xn`2MZp&^VHDwM8FjgKDQAR?A_F2byqTIC6NOHXFf5)@8jmR5 zd3hg^vad&ry*=;&sr1@f{Q2zH_4@q$M+E{T7)`BdXc%9-yWsk8A!!4fF+AY#j6ihm zh7KCFKL&4KC#?of934aQC_Mbn_RRcVXo5MJdesht5IV4I)5H0KzdM{+7 zf_vx*yab`xlWtTA_3~6zu_0!Pms;&5V7mYug*yCRyooAn$nh7%vr`Ku+4@w`(VLz^ zAl3l0e-Bi7W447+4;}+Z2_S$=Xy7dZ-UeE=)mIyO)c>MI3;N2gi<*@dU?K{8M-n{? zi3GaxfybwzKPxnbtQiD;NJs!5V8CVp{L9er$)iWZ^PU{+>}WEluQ*d@?>&=fEtlU`(q?Yn4_*Cf;#h%L{Q+3@#AVdngS z?XurTMuy6zafMlmeT45KD5j^=b~NjC*h_#NA@B6fpUUHOz{pDa0mEiL@Kqr@01yKw z!uz`pb{AaGgYzJ0M|cYtFRE#1z{hN@)580*cr-}nKxbgQiS-AF66|OESTlvA+JfyF z8XIX!9GPjEd3bnk?b2H@(i3`oK7aRB3!m$+w1pm**eN^+pkoy?igem>DQ;01P%n(K zNkKpFY+{yhQEz$k^C2sI;+}(G5NnpibxTEE`42Uc7jLlQ>}%3w6VH?2y`Kco^>0 zjQa=m!qu+4Jz!6hzb`Dy+PcEqd(7nn)j=Mk5BQ(}9Kpv3BjS7l>;w)z75)@0{h0z- z2-=mAA3sV>UltTdfKnM9JvQ$tD z^(RtO5u2kTBQ+D`c9Yxt`x7D}1cLY)oP3U30?dVD=2JnTLx-5jBvw`omCE53iu0(x zp+PO2#KY6<6xTR%`qZgchQc^9sR$OhD8SA$&p>Z;@xldof&z}h{Azmu1ut5e0DuIu zJ??c+8bQMA`A;8WSVznGluQJYkKtTS1$d zDaR6m@80Hh+Q?=(^hvMNZTtHj4Ni^b*`~)NCq?N}Z`=|BEmSi@KZ{9gV2AR7nO?V^%do|!Qh(#)-)G#X6S}2qHQX6+tI;ZIXP$YO z*n6D!c2%cK%h_O<$mRKn8tMgxVt{ODXiFeHgRpHPjZZ*e$TY{Rt<~b zN4AR~14G1_;w{I~cki!L>Zk`H%D%{9e`)_sa z<$;muR9eMT;q9%h$=ZUYArp?IQRmn8G4%NIWRMWk1fGa&*C=!_*0k z8{0`g8kdfYp=z;})_R63Gk4HzSAR2c+*@MRu*uI(zKpF|oQtn@@YRM5Fp*flX!)o{2>PDIXGITXg&c9|C!gbJT97`lf20uu|zMDahj zU*2d)9NT=Xq^D+1yXM^};5kdNH{*&#J%aBkb#=KiS0fx&LyrGez2YwHb^gV5`z3t$ z+~q`~)c$Mk^X)G+x4-kd_J2ReiP6j53d%aGvLW8Db_vrE^KGbRrS2LAiJ$&>R^S|? z58xw{H&7Ib@}a|Vnsyio14FjB7&07oeOhz+Yf|48IEMIk6b-(> zC3%R^I=>6k&y+-tlvaC3O5TQpCNF$$$x(goXwI=J5?iOxrRDJw@DtwR`nnlv?y;eINyEc3ro%K( z80BW1SLX62iu0RKv%iTun8&k?-;49@_LUTWv3u`^dO<`r%zJ_XQf+xRos9Kg)~WnLX=vi zS%VfuG^iAzN%NpVg9eo}NJ@mzs8VUBBpO6X5)G0xj~XPEG-=w$o#*+#@BZ!mb^rGM zu=~*Spkb~1zOL&&&*MCX`S%AUg-;(4JGOB4rr}?+e&MKxN%Vm$gHq<&>(-I94ypy0 z#ye8`P_~w9RMPz3+;K5ehnrM*&^Y*p*+Y}G5ANprNtTbRR|bWDQppL~fsoLi+MFV4 z18W}i;^I0g=K61=ecf6&-EyyTdc)^lp-|~6))TdgHX@AGdc*OuugKhhi)8IYeW+H( z@!f~5TStW-N(9gf*uVZRCm@K7!moE~Sy5 zkeUSI28wFd{dhkxk^k(OiZg$3$LdYw9tRQHO;=TFD9IULDY`$>91C83fPQqXPfFd*QL<-A z@&3I}k7ONByTh!W@J?9X&y0QbR_gBxx^lXg0^H_?_m2tC`t2{>lDNX8z_yS~6;~Hz zrjPz8$riY>Jd9rzO8eb+zN<|rcbCaXD|$Y%rd0~w7$WuP=jnT6)3NImV=jHR>52(B zI9oG){iFH`LsVT{Y5oGCb+a`q4r`9p+Ff zZ0f+N*+#;K=KT}aRkJ?hY&App#f5Px!-DB(&6hH|7mg(9=!j3|vC-I^%?$CO7f^37 z5c%fsEZ(=WEZes$J}X%Xj)~}t>g!jC@=62GLx8~SMFsp#+U3|Zx|NO{F6y%ad^+h4?K;muj^LlJ)Gx0Ew?03%)p|%Vv3(9Ns5u`|+~y)uBa54MvHC19&K{4rUTGyV5{HnZamXJ?@B3BGhh7^G6;9anx$Vmp+C;mNpZYpC zeDlLSTT{Jy_g5wvZN0lzyIhPu>e8r6-5!1FOXFZxs=(#z zk#vcw^z-tGN{|<3Qo30v-M+a=WNtoI#KJ&q?^3Qugn)9x3s%~0%!dhgEqnW)pcTA; zwILd*rA&qi(3A)na=iCcGdvMI<=vsv#N}NYP+amzS!ERkTd>rj8u{-SQA0oAxPS2c z3)lu`buLa7+|(Kb1F6GjZUic6Sd5MPt>HQe)>Z1xW{jx`$35u1JHTWrVVOjM3)blj z(c^V|bO2`uW0&zPEO_|Y$3Z9YG2=0ct~34q4lW@G{q3M8wj&1FbHqC zlTDAGKFf7~Yp9Zt!beM&d*Ku^eTP5*Zfyn^Ys< zO>hzJb;yZu2gwespX#bA{TJuW(RT8!>f;R!2M?*- zp;|#Tg3iU$*^VP*g-NR5x9%LlwgjeueQ!Z9NU+9BzLvGmF_qBW1-rD&=I1d~*E%x}Zq z2nB&%C5b&){oZj7U61;k+!q#}&$CuE`VgY*TP)-?Cd7s4hsD6ScmvGUKT=0gFN$dQg2^Sid$XK?$+8}eg%shS`Y%Ofs|8m?nfTzp#(vUVc=DP*SmafI0~4(Xwg472G1g-D2}eoXa4=yFT)f}=}@UH~=ytDHLY6Smwetrar z0T?`oeZ#M62pT9L#UrY!_hnsoYuFLwss3n(l+;uZe_(U7pNE3u0O#mD2pm8iL5R}S z(5R`cbvSnpsMILXFt8mJl*o|S!pr6+vVVyuo-dYJ0bZ|Z<@%6Bpuo>SFazQXH`Wxu zm^cy8X-nK!TbeXl3N-2gA(FBDj1zA58K=Nj!ZBkS&rd|+HQJoR_AIbBfcOUlzTxS) zxoHR4!NU=pK3YE?Z244L_s)vkN%FN0Y-)Vau)@UbE=g8}M<_R`A^!yP;s#}xXtGP_ zE92l8&J8cO#<6U8!S2$hOS#9sq7aYw!A&SR4c)&O-QNAI=U4@C)1Etde1G&gollpq zGV~y=Q|_}T>4_?gfhpgN)X22T+9fqKXTYb$N+(#fz>Cgx6w8Q;5+XNobr>Q#!sr9f zWpjN=QBkdAZNPMAoIgqcAoAN!725ZoQZp7D^RZLhc6iwFzXynE*k0vm4o+FOy-Yb3G zyqSHkg&Yp~(uEO+?WzQHPi$w9H^F@*JTM|p+w+pnLdydLEi)&FTgv_na6GIv09&wB z!N#tpgtm?V58_v~2TBdHCy>>05jS8#6uGaXK~{T)+&(eOmRusoUT4~_8uDYKk~pcb zF|DB?&4Ia@Jw%R6sguMQ@eU8pZ95pHf+F}|2U6-XxT0QanEKzWByXD8_{_$S)^?s_GthexIu{C6hdw0u)LEm`afj>q@ z8OL{dU0(|#9ud@o6-xLQ;^l$Rga-$n4MYV1kpu;b>T4Chz}l4m^^OmmxbL_Qdf8`S z8_Qo}7_J!)0|*orza}Pdcv4_bi9hoM5RS~CRsd6ne?hNS*!gP9N-{PpxA^F$~?S0AZ7>ES5+H> zkn2yt88MZFKg9%I5pG8w2-*bZDI06wn64{)SCEa7pmM_P0^A@G>L8R(?MRRTr3mUe z7@1DMVtD4nP~@j6VF#2H#eX!z*lfSa)k9m8B%a63q?dI&K~?If+UW! z6wV09yO|m_a;w8A;(BkW3g6S?3&CTvvZGFL5mDA!RibE}BWo}b=_{P8NL#Y4E>Gjc z`y%z74I>igt!!V-vNr#AwOJ^9=0%YsdD5tJ6V*GYTRBbBF_+-$qQwkyngBBfBqP5l zx!mU`g#8|n4)WmHU7`3=O--ZtY-7(kqo1?Z)2|yZWamn>zVvj+%WHpO_N}M)n{IyP zaHOI0(2t5d_8>6cHkzG_`g9{{D1i~hZb=DlwGnaSfVviOks0assb4&2ZA}pFuz&pc zvNb?9hMR8@4k(bdy1eX5Ccg+~Kkq>d&PW0qiC2r+BQAVCOhQtUZlxctjNIgB9f&VJ zR84*>SaJ`)US}QhS(QTw8?LK|@XLV&Ba}H7@&`%x}PBX|-wu!5pml9e~5>rezqn zVuzjN^r?*@iLw>7U^Jpmhf&sao3my?J&%t}K;3;h0~~%@1_le@pe6iNxcdAN$YJxx z^z>K^m75zWi#+JRv-I|TO=hzX`bpybQZCK=edC(4JLl_kQw=qmYL2Du+ZVg~)ofFK z`+<^tA5x3_m^1Ovh4OP^_Vy9;+To9XDAeHLjehHw9G|y;5q0in)G6N8#YCY`X>VB^ zTJnjL5^VZ%R!5+@I@@p?X{E+)zO}iMy4Gw>4Ww@USN`W0=3*>2zW6#P6jPhHUZOsn zyk3GrbvJb7*vYu`b;3+*khdZ;yFKcik7hwE@8DWL-oyqTlY;P#8`!Ok-N^xnQ>a;~ zL_U)I>&(6$TIvQ(o@z0_V0H!zGA%EO`ih%}w2eQ&g{~bw%9)MBv~dF-y!-*%bV4_} zEH%BIU_Tq%J4&%gdaZ!*sbP*3P_>q9AMww&T=m;W3~S{dYD^!f6tIX*i*uRtP3=v% zy2Agbn!1sh_*ZKUYkr)KET}1k;0B$4DomyKem}R$Hd2q;Ub)SlvR{SCskiRD&*fyK zEw}96!mPf5e`H`D$gcSIqc`U?_>|j@jo!WNx5<1{K*4Xe!Lm0|3|;|n{4#zS@Wp!+Bf-5I%9$0^C7gCQ<&z7$cG%1u}N)LZkX%qM?#`#B`Y$Oq-)mZ zo|X4$OAo}#r}NC%dD(aMZg!G6bvdAg4W3AfA)apm%P+jN-0_^UlA5X0N$MQ**f=yR z$jRpEIU_9FAhv}jC`uvU3wEnGlLq${e+cIZHoW_411%yD%PBBSK?+VI8mssYO14T`fTI6b6!1^2J&GrS+pmzjWE&Fi+bwbiot2e{0$j|1F zHc$_%)YAr(aIXrI2(JV(jVmzzQo4i-37Nk3H&>FWtY`KIdq%Ub?sViia!mJCVDgm| zrrmpkxjwVh?FlkTth#Y^;xmA~{8R0pKZ}EK74^F z$rBIkHjD z@k@~E-!My>n(OfR)0d1wCBemyreb*l3z_!Rlp8uqL<`eb>}TD4=DC?Z3$0(TbbRej z)d*NJ+T45)uj(CLcQq1YbyhwfAsE1J4dx`3D-N zY;?8EBg4P?L1;nUddgI(_CMdV%!~mKa71#W<>e$LIq&0S+R{!DRYbWyup|&zOq4Y2 zyjYaB5}tsSR^saqj-UNE4o4JmIC)=N!+1zq%;RQSsu55f`*iFIR(D?qD+-V=z*rWF z^E0`pVDN&b{!;B80!rVn27dXzYZoaX17u~XN1DfMr4_#z zYvXv00cm8;mVM}3Tun?r@Oytmn8QyA&(1;3@wo-mFm{rsg;>}!R#^J+1P27r0#O9Y zNuvJV2|tb|wvE5(|E6WpkT)0KiD|TH9G;}}H+g(*m9QOrHhrmfSzkgy^-KugS39ruOZ=QQ28lxu;8>-fqMQ@H~?>2f6c9%+0 zmI>hF(^j%Nl1_WrXNWC(A9H=qdruO;igERC7#`P_{u%pu>;U*cEwet(2Mae0(PEGE3kdLn2zl7EOXocHQoFRm?S%xXMj zInU?0xxd*4dJEV8IxMHQI@BP7UwJPp#%=}q`L8qU|7%&4T|MBnj^s6Zd75qA?vu&~ zT+4SlTs-Af{IleQqL7GeVtB(X=C$%(mlD$qQg8BCQM~mN=@V)GSyXCJ0+d+XmSJU9 zmickrz-Uz8vEpKw#w~g4AD?ABk`?b1Zv81xP((xHFA=b6#oquGAlo6^=>>Tc^Z6~ zoLUi5+5NW`@GYkEAFwPrlUe|tB*y)<<->7-*yoPY#>OvvmHvs{EyC;x3cCHqU51y5 zjNB~kU6U&1`K5*Z!{Mbe`VIH?d48HI&^&d}#UpaGyw zQc_aIc?^Un!cUTGJqDqOvQ&eyMe3a544%|RzVh=)Le=QNhMA=ZHzYI!kSmNfWu3On zYnGKShq%X+=;oX%w~7=?RAgw={NoESR(5I8by>pIhpwhfkqZqhptDtfLM+wEv`9E6 zs zAtCbtQV3_fFix3YOujQD~XHp@Q+LHgJ(=sAX5Bqb!Ut>xbJ6Jz0> z)IrF{YHFIKkqXJuqC--BFd5O&IT;yPuxP?}c3Iomz3B~rK@FjzIC>OLRSIvC(xNs=gPH-ua>=}2iO+!#5z z0x};xB2`wo6+u(1#f${_?W(XU5WYK%Dfmn~RN!n^a!^n_d`P==9zY0KIbZs`2G(L$i?euwht|IF4@64Mkj4oLW);A~Z zYmpV+b@JXlS!$P8{KgmHaR758ayCc_a3~B1qiNsyzIVU_fsDc3s!(yhn+Z;!SG3bE z!mkk2R!HSR=kNv1-ClV8L_PQ5`H18M>_RB3pt=K(w&Lt85@Z(M zY|?ymJpGz*p%r!sAzE*@M@~A#Y*k@W9W$`zT)b}?r$my6rzm>7GevG-B1TKt>OuPe zMD+F%D53;Y)$afLu(wv=4xW^=kWJYx*W7MJgzg>M>@QzZ8g14jD#Ywd)`mS!Chrd; z3YA3MQgXw|$gRPB!bkFR6H>aPHB0wAf5KyXG36BlrgG(B+^j!$&6^CYIDK@B`k~20 zJTpKe>*j`dg@;U{^LJ;yHZW^UdG52|iAD*mNT39d6A}_iO1!b_f%Q(K!-ayov#kvP zA}|Ul!=U~E?NCRj0T?M>Zo9n^&@0SW9129MJ5KR4sewR=Y zT7I}U4hZ8W{|n>SmkEzr;KcYj0F{W50Dc8_5D|L~q2+hz)qG%o0I*OXcIOi(&nFnEsuYOX?DzHW1fKEQ`oTo3=O%I$nX?}6;1`K z5d=NgwbR-VIn_Gi1Ls+I(*T1dT|So42qM)ERc+vV5eFMw;Le~LvHQ+$xiGy5{##YI zBO_T@SqWMY9TAiT6$T{D_IImM!MVqQdN^}XEFAm&@dfQ10eP}><(Zt$~nb89v{6$nWwPj=qE$LQAAaclongRC=c0`B5IB=7YXJLpScN@ao z94-h`fS=(~V`pQ7$5MtyDy&Ef@dRng)IXs0nL(r>O6IN(eeSP>Hl=(@maArje( zi(`7F;gMtLfQ+s{s$6ZnoJTHlhwUV}6@BE`7=iU9)!&Pc_r(_80}IlZFOe~-L>}9C z=z1?gZ0oK1q<<1}bCRjZ|h<@KFy8j7NKs>i?acu}&{am7r0IO4v2YSGI=rHqE_(Q+CI z#%B7F+aFTujvSRb%DyY))HA#LRc2*JX~DAuj|tYWAbCTHmW^B{&>MkuL%kI@06-X; zF_3=Y*#L-*Oht|^p4fQU^?E2MDk}2vt>P6w`z9EAI{(*?0nOv2fLN)`waLID&jV6t zu$$qEQaV#1A`I3RS|J>J_#pJ$78dYZkBN!-@IfuLVORApIJew^JJ0?5GML{XT>4rC zmdAP68i9R@P@Qv_900wAz!Ohm&BKT9!SA*@7w4{C1`f+<*!Dg>DTEgak=x09n?_vj z4OE}fC8Q()1?DcN;FyS`m{5@_1y!J{Y&#ZATtq~f(;2X2F_}TTua{8*gc4T+TupHA zFmK;_q3tz=k&7v2-vxUmr4_;+Fm+Z*s;aI=S;VJ${?kKM!j4+P=62KY$M^5?AbF1| zUR4#Y-UpZ-2!s^E8e!mLG^pO6nHmLUK|8~JKb~&LCx4koAcVuF^~8IklUfv5=cez8 z67F!s8|Q@b(sM{Cbd}YJG!ID(TAW+4ydVZJgn*i2!uXOKJsFCxIHGknj`+jbhLNFfM&F~H!QIZt=G-;{qCyp?pi`!%y#E5^HZ#1 z5y>}TDMPCtog&_6<+*1BHv}W2eQtK*4kKV0c%baT6l5O;TiM~BB^{`;Ut*XzG&D35 zXSDe1F0{O*Q!Tbh9={GlWUY(ra7@z>hJcgVMb^M5-UJSF#H5ALY76ER=jIF;4gzN% z3+*(_Ir6+6C-9x9DA|K_YsUu*1wy3jFv#2TW8-AvGPm*05#l=D`UyoufLu8ds@*Hea! zdA>I7tVNNt*o9{!w8<`bIJPUi&;4NP$KRjnn^!~;nj;v8~!HrehrjLfiea{Wu_~W;?&?9geq~-GJxDYd5AGgbG{a} zRs>a>LKZ(2x>Cf^P$NzI{h(sTn&caqThqitN4x{bjEX=`k3@i-TTU5BH7>dQ_eaw> zn(+PY&eyuj^IuAkVD997&|q5x!im3PE!{4@kd&u%=LnRPnyjmu$UG~Z6zF69BP5p& zBYIL<-CEL>HDBG9bA5TxpZ{=?^-}*9u5%2QjuRIPL=$!>t5O1lrf!QIk2DwM@7Z#* z{sD6Y`<~>`D~3Ko5UaVDhg+>j^e`Z{18yfm8JPbG7j1;ocuHkmr*5DAJn6LAO04dNW? z;_XhCc|Z{mct7OQv!`aCR_f#1A$?J+c;oqxYK3)^#a|CvpNopnW6BBxrLEURb~F8I zWv%)T9C(<*Z94cN+g8bcTP+|;2UD7Vu&Xx!1sHOPQcJO4V{>v-c@*0&W(}5x){I*M zF<0o`@RW9rPI^LN?4`cbA7h!)P6u(0HHF5atAqNNch%XuLe-eqq6TZ?TYDM#no0E( z#s>Hsm&*!A>^Qt5-Iu)Xt(a;=6ang>JPbJ>fG1R8yFEd@`uD|H%heu@_&jVP&4b1n z*b?9)BveG@(F}q9VnYWMbmS zAxy2+8>E@SV5sT({Wf%QLoPP?vhNSx^fcwBwQE%533-HW&I%F6p6M;&-k0o`Q0jd3-7&}#6^Bylk|ms7;m zZ}GExy8slqefr_0!GBtMnm;s^0n$9+0i_)eqJnG8AF|Z!;`5k+6qM)~m|z_RhH~Iq zC9*fiFy0WNRfE>dvHr8xo?IjFu7H;{Q*UDD99fMb_-CK4*u9gD&N22iD|4cnV9Q!% zts}|jdET>B|9kZfa)l=3xV`nlDLvvLi9F1-TJ%h7?kV~a#Xs(zl)iEo!hSeWTg{J32|rxvxA!Gz0p=(Egrzo9*d#$8r^G43~UDN!KOd`%H^`MQ5!Io!%7 zcO@}a=b~{P9vqy(c)WD(=f3dDJj9-6xBrG{42}vY`tv$ei&5-5cyK3U-WvVU%`HdQ zz+mM33)q)pfz4=u3g%X{0Yw(n0#j)e2wvdcDP2@{X|GmBBRWFI$%OxcXGoVR_tm_& zy7H?2Lc8PO;4tl3LNKQaWUNtL8Jsu)9C$2f@@CC#0kQMD9|(j%5`_&lvk3AOEDq<7 zHI1tgAy$xYS>t)?;#=#$KOcg@GQ1D)x%)*9Xc$CUgpvLRDxp|w#bt1Sm)lGx+FY3N zWan&r=?y6u=l-&&0v~2Zy773L-+b@H;D&;Oc|J$sy=NF_jGATK_=624_7S zxzJ4|CvV@oHxCJh8I5`;PRuPVqNjrGCYp43L?Y?WtE2;EhA{;0cC=((QN8BpwqWQ&AzK8X{~6^O66Di!LlBB_$){fvOYl z4&{akK|4&1UX1VM>b30aR2hs6yb-s58~^5PlG0}jPwvI+ETSIBt+gz3Vy zhR2_!fkAA&6^u2(K6(G{-E*{k*Fr+jeS)-xus?kiE;>4>tuey}rmw7p7X(NlM%?-n z(o}1HiO_DN^;Zh7^j~`5ZxGqNO66a8l!s(lP_TuISFRx`;g}U*F_4S)Mt{V~k17k^ zfA%&u;B|uwl%ARSV{i~e`rqzym|5Zyj!wg#uoNB!iHT(vc^~5yjbJCyEfHjb#g_s> zBVrPDbn;w=w6FJ~8X{9+;HGd<8kjR814gGY$$>utny4j!0<=nyg8e}249*$=Cj&f#i1dQeiq8SK0@YtIo~6&yEFwrqeqzsWs2agT{q1=piRP} z14k6=3GE`(%;16uRsWJRg1bvx9BRDtETx8ZcW^Il^8F1$y6OJi>TWDLDjTR+u0+%f z(TnfRx}9VVu1F3TeJiSSK|Hp}-@(t%6M)r%m?PYKtP033kw^*~V`VMeV~xXyjrE`9 z=WpgldsDubVjU&P#t0a#)8WZU^hbyf4@T_-xBs#-YO=NrW=ywlGe_{lxNuo`EmV!4 z@5tGN<^rbm=rw)72Ah$=AOd2RDl_CbaSj%M6X#CS%IaKn_So10hyWYTVRd1s9Q&WZZCa(S<_K@uj3-Z=aGVe} zIWV{*D2g~m?3w1!Sc9$M+V^gQ5;;;x{}-CqCqk#soS8?D`+f2cHW11&^w7ry1VZTJ zUF(%uF@guDBMTHcxtkKaya~vN5EZQ-m_WmXU5H3wRU&f>wv*rE zn5nC@iLdVxV8&;$Co}8j2i`l0zLl#T(WIvtdv{HA5!hc#M@I*4|F@&-*RLmt%C#5! z_p0j?NzR~nwxC2sy{W<2+T6UBm+?wDve}s{@Ex`}B`nmL!9$8j{%jPgCTM>`)z1nF zqF2LZ-r3##>*#c4?>JCEf=bn!H8YB89Ff?%x(gHWOT~C*Tr7jdNK0qu(z`B2 z=vJFtVZ`KMRO0FS^7g5wN${^>Kv!5)V;bQQX&BUrE=D|3;Rn?c4 z8YkPpy>TfYUkL1hfT?1HHcBcM=<0@5_TsG|2SGmR3g|v6TFlsN)w#32tJYF!F1bi( z{RTrKR)Mthma2Xv6dH?nP^DuZG{{Bvx8&QFcR%(x&RA?@uCKAx0 zJGAY<^OKj!G&~3l!|xF<__|{4`6>aL{huJKne%=xkXiBeEsSZMss_)_Rx{!I;d&R_ z??HL&=4#MdZrV-Di?96&!k&xE)1UgU$|bz+XL_-Ob130=Ws}Rgmp=-3u1r1aP#oyY zM0_Y!7tLu$83iG{T-Hy`SavWhP4MP{lIywyDvwEGA z`n9#ymhP^(hr9bp<_aruta~V?Jp6mdpQoo^S&xDUxY0-aMm8#2cx9HJt+R99{kIGL z(J~Hpc6}ZS@e_8EwshP};(rzv@k*nt#r;ob!L1NPO`pF0bqZteK8oWqEiU@R4PeZ> zX3d&gRS#u;&99T>ZU?*ewbDdtGviMeSrlN9HCW{JE9GO+N0+`XFE5v?J(Q%icV-4Z z+Xv1lK93}&q%zWNQk;4kzBV_@NK3>1uFRNXWtdx2x+Pp3%jVTm0}&i)4?$T$D?wM= zYzm6m+mlVM6T?E)XG51=?!~2CP%|#;xk52j;_@|#8~E7O&r`Vul(-?67S3nvoYZ?v z_Wccv!Xb&sY&kSI>B$=~OS~sKsZ`rKm#Jnx4)scV8`62nfHc!Cmv_%uGp3>khO0X>PKQjWO=DD0nSc)EA27p{424($T%c(-%r54ab%3CIOq_lDImr z6PJ9XFBM6z_|~f%{||iL{Y4(D>0~yU3M2AqA?c>Gh(XWxVzK4Hk?Q_C5E;C~ajOST z7&PH!c|JE|Mo+DUBl`d1=L&WsZqqaG zoY@4}NT^lc-;v0KT-P&rRVzxkt4KFye zK16Q>34OUAwqfHsw&B4bE&VQ6x2;;Q$u*~`2&X1Jf?S@=P;FUgd}qqJUm^t;l|%s9 zbRNG~Ay$Kc;tN_w*nl;8gKu6sndRUryLA`~=SF5yQqrB(Ci8Q&nKU$XK}1GC=#y+) zCHJ=6$RE&8l`bIHm1F%CSPcYFh>O-tq^bYzHWTxJaAdg9@Kf^&noCSr5zaE*^fjAJ zpANrXdyT2gqGA+0V>}7gEloD&__#VajIx%_DC01frBsVm`{SzGKF!=*W^v9@H~^Ji z#WmJ&U#)e^Z#P%ZqStrp(g@r{mQLdfGb=(QQyhNsp85C!f07Q{JhBR*LFjw_`E&9b z6KCr|3|`2lLLp^$67fX?Z$k7)D11)GZCizF7MCeNO6I{|*Wt;Pr{5yBp34-#A)bZR z(lhhSUS3|hx>@dCC2YNT{uH!k$nC0roQUmr$=M2(g4lf_>l44z(?P$8&|8)ucMV*@%cePe`|szlA>wrzG`Sjx zSPx*mpBM`bO@0|TEuB{BE5|`R2ZnHO&Gm)TQqG2=f?+=tSDkBz{(N#@K~`7R6AtX@ zOD^Z^?X$h;EjLoX0_m6*njsU#8_v(je5(6<^9v`qaEUXkb1#o!(%=Jn2?R8&N>A%H z_V@Rnc=_uN02pz+M4FD)9{vdCs-lbgiV*u%md zpx#9o%YxXlG+b8CW=c3799mu*)w#m#C9oquQ29s+J51t~9yvrF|KnWqY!iOP|K>0} z_2qy$aV?XwhZ|$w-4YqyiF6lsoi za&bMrUGB5?Pu|SoKjF~sfUz-4bk6%aXAu<&gM8vqMObGLf4QY|<}Jn^VqD>@`F>aw zG^0)0o^64u{RW0*5t$9h876_fv_ z$*WHpctKg(8Soe&gQ=Xyd-BxO6zXR}IoOjR_OZ*p;52jKz(*|p6>r#f-l`h+4Gba| zwrBeq{^I&xs4#xoBu|F zxaiwvyQx>B@UyjdaJXy!A~cUUCOE1K&7QW~vno3+{W6|t7plheNlarMmc_0;+ez0F ziIBT#=w;*{|G~cy;~}UdpQP_*n8rIFjtE>MQ@!B;DOO{^t8=a+$7eDFp{6~BttjC~ z+?K|!C=yfzbNx8?K1O`Kpbl6tF*Dk617HYQ%2<(1q&XLfi;cb&S-yxaZfMJ6Gc5+m zLsyqT4vi^ex3!2xznjkg^@5RiSBY=x=i(^_qnR=(Q1ENLe>%r6{IK->bt_(cOM|8U zlt1@;7yd<^)NN}thipC1E*(q!;*)-k_~<#R{vy_?^(wiHu;(9lFV4@Od=l=RDPu?K z29u_xxfv-`1d#(a%<13Xq@8{ii-#AZ-M-grZv1?Y@CfT$q VZ@Mlz5HFTSRaxU;Hr4p@{{Y*S^(p`W literal 0 HcmV?d00001 diff --git a/monitor/sre-agent-event-lab/assets/official/run-modes-comparison.svg b/monitor/sre-agent-event-lab/assets/official/run-modes-comparison.svg new file mode 100644 index 00000000..98f89736 --- /dev/null +++ b/monitor/sre-agent-event-lab/assets/official/run-modes-comparison.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + Review Mode + + + + Agent + + + + + Proposes + action + + + + + User + + + Autonomous Mode + + + + Agent + + + + + Executes + immediately + + + + + Done + + + + User approves or denies + before agent acts + + + Agent completes task + independently + From e4cfe0cc237fa7d9f6656421cc4fc71b0e739f07 Mon Sep 17 00:00:00 2001 From: hellices Date: Fri, 14 Aug 2026 08:50:04 +0900 Subject: [PATCH 4/9] monitor(sre-agent): add VNet integration guide and place new official diagrams MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a new '## 비공개 네트워크에는 어떻게 연결하나요?' section covering VNet integration modes (Unrestricted/Limited/Azure VNet), subnet prerequisites (/28-/26, Microsoft.App/environments delegation, Network Contributor, SRE Agent Administrator), per-destination traffic routing, private DNS zone guidance, ExpressRoute/VPN reachability, Azure Policy governance, the separate Key Vault outbound-IP allow-list path, and a private-endpoint verification step. Place each newly downloaded official diagram/screenshot in its most relevant existing section (investigation sources, memory, notification behavior, incident routing, run modes/permissions, team extension, connectors, audit) with Korean descriptions and source links. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- monitor/azure-sre-agent.md | 119 ++++++++++++++++++++++++++++++++++++- 1 file changed, 118 insertions(+), 1 deletion(-) diff --git a/monitor/azure-sre-agent.md b/monitor/azure-sre-agent.md index 41fdb2ff..8df49ee0 100644 --- a/monitor/azure-sre-agent.md +++ b/monitor/azure-sre-agent.md @@ -73,6 +73,10 @@ Azure SRE Agent는 관리 ID와 Azure RBAC 권한을 사용해 Azure 리소스 | 소스와 문서 | GitHub, Azure DevOps, 운영 절차서, 기술 문서 | | 과거 경험 | 유사한 인시던트, 이전의 근본 원인과 해결 방법 | +에이전트가 Application Insights, Log Analytics, Azure Monitor 메트릭, Resource Graph, Azure Activity Log를 함께 조회해 하나의 조사 결과로 연결하는 구조를 보여주는 다이어그램 + +> 출처: [Azure 관찰 가능성으로 진단하기](https://learn.microsoft.com/azure/sre-agent/diagnose-azure-observability) + Azure 내부 원격 분석 데이터는 기본 도구만으로도 조회할 수 있습니다. 외부 시스템이나 특정 데이터 원본을 지속해서 사용해야 하는 경우에는 커넥터를 추가합니다. ## 과거 경험과 운영 문서는 어떻게 활용하나요? @@ -81,6 +85,12 @@ Azure 내부 원격 분석 데이터는 기본 도구만으로도 조회할 수 > 출처: [메모리와 지식 관리](https://learn.microsoft.com/azure/sre-agent/memory) +업로드한 운영 문서와 MCP로 연결한 외부 지식 원본도 같은 검색 범위에 포함됩니다. + +업로드한 문서와 MCP로 연결한 외부 지식 원본을 함께 검색할 수 있도록 통합하는 지식 기반 구조를 보여주는 다이어그램 + +> 출처: [메모리와 지식 관리](https://learn.microsoft.com/azure/sre-agent/memory) + ## 조사가 끝난 뒤 무엇을 학습하나요? ![조사가 끝나면 증상과 해결 단계, 근본 원인, 피해야 할 접근을 추출해 다음 조사에 사용할 수 있도록 학습하는 흐름](sre-agent-event-lab/assets/official/memory-auto-learning.svg) @@ -101,12 +111,24 @@ Azure 내부 원격 분석 데이터는 기본 도구만으로도 조회할 수 - Azure DevOps 저장소와 Work Item - Jira와 같은 관리형 커넥터(미리 보기) 또는 MCP 기반 티켓 시스템 +관리형 커넥터로 연결할 수 있는 대표적인 서비스는 다음과 같습니다. + +Jira, Slack, GitLab, Salesforce, OneDrive, Google Drive 등 관리형 커넥터로 연결할 수 있는 대표 서비스 아이콘 모음 + +> 출처: [관리형 커넥터(미리 보기)](https://learn.microsoft.com/azure/sre-agent/managed-connectors) + ### 알림과 협업 - Outlook 메일 - Microsoft Teams 채널 - Slack 채널 +조사를 마친 뒤 에이전트가 선택하는 다음 동작은 조치 실행, 작업 항목 생성, 담당자 알림 세 갈래로 나뉩니다. + +조사를 마친 에이전트가 조치를 직접 실행하거나, 작업 항목을 생성하거나, 담당자에게 알리는 세 가지 대응 경로를 보여주는 다이어그램 + +> 출처: [조치 실행하기](https://learn.microsoft.com/azure/sre-agent/execute-mitigations) + ### 외부 관찰 도구 - Grafana @@ -134,6 +156,12 @@ Azure SRE Agent는 실행 수준에 따라 권한을 제어합니다. | 검토 모드(Review mode) | 조치 방안을 제안하고 담당자의 승인을 기다립니다. | | 자율 모드 | 허용된 작업을 별도 승인 없이 실행합니다. | +공식 기능인 검토 모드(Review)와 자율 모드(Autonomous)의 차이는 다음 그림에서도 확인할 수 있습니다. + +검토 모드에서는 에이전트가 조치를 제안하고 승인을 기다리며, 자율 모드에서는 에이전트가 즉시 실행하고 결과를 보고하는 차이를 비교하는 다이어그램 + +> 출처: [실행 모드](https://learn.microsoft.com/azure/sre-agent/run-modes) + 처음 도입할 때는 **검토 모드로 시작하는 것을 권장합니다.** 조사 결과와 도구 선택이 실제 운영 절차에 맞는지 충분히 확인한 뒤 자동화 범위를 넓히는 편이 안전합니다. 커넥터를 설정할 때도 최소 권한 원칙을 적용해야 합니다. @@ -144,6 +172,12 @@ Azure SRE Agent는 실행 수준에 따라 권한을 제어합니다. - 삭제나 변경 작업은 승인을 받도록 설정합니다. - 자율 모드에서는 일부 승인 절차가 생략될 수 있으므로 별도의 최소 권한 연결을 사용합니다. +관리 ID 권한이 부족할 때 담당자 승인으로 넘어가는 세부 과정은 다음 그림과 같습니다. + +에이전트가 필요한 권한을 관리 ID에서 확인하고, 권한이 있으면 관리 ID로 실행하며, 부족하면 담당자 승인을 통한 사용자 자격 증명으로 실행하는 흐름을 보여주는 다이어그램 + +> 출처: [권한](https://learn.microsoft.com/azure/sre-agent/permissions) + ## 팀에 맞게 어떻게 확장하나요? ![에이전트가 사용자 지정 스킬을 불러오고 스킬에 연결된 도구로 외부 API를 호출한 뒤 결과를 받아 조사에 활용하는 흐름](sre-agent-event-lab/assets/official/custom-skill-flow.svg) @@ -161,6 +195,12 @@ Azure SRE Agent는 실행 수준에 따라 권한을 제어합니다. 사용자 지정 에이전트는 각자 도구와 커넥터, 사용할 스킬을 따로 지정합니다. 조사 과정에서 다른 전문 에이전트로 작업을 넘기도록 구성할 수도 있어, 인시던트 분류와 상세 조사, 결과 전달을 단계별로 나눌 수 있습니다. +사용자 지정 에이전트는 포털의 Agent Canvas 화면에서 만들고 연결합니다. + +포털의 Agent Canvas 화면에서 사용자 지정 에이전트를 트리거, 도구와 함께 연결해 구성하는 모습 + +> 출처: [사용자 지정 에이전트](https://learn.microsoft.com/azure/sre-agent/sub-agents) + ## 인시던트를 담당자에게 어떻게 배분하나요? 대응 계획은 들어온 인시던트를 조건에 따라 적절한 사용자 지정 에이전트로 전달합니다. 다음 조건을 조합할 수 있습니다. @@ -174,6 +214,8 @@ Azure SRE Agent는 실행 수준에 따라 권한을 제어합니다. 인시던트 플랫폼을 처음 연결하면 빠른 시작 대응 계획이 자동으로 만들어집니다. 사용자 정의 대응 계획을 만든 뒤에는 이 계획을 삭제해야 인시던트가 잘못 전달되거나 두 번 처리되지 않습니다. +> 그림: [인시던트 플랫폼이 대응 계획을 거쳐 에이전트 조사와 조치로 이어지는 전체 흐름 보기](sre-agent-event-lab/assets/official/incident-platform-flow.svg) · 출처: [인시던트 플랫폼](https://learn.microsoft.com/azure/sre-agent/incident-platforms) + ## 제품에서 기본으로 지원하는 방식 제품의 표준 Azure Monitor 연계는 **Azure Monitor 인시던트 플랫폼 → 대응 계획 → Azure SRE Agent** 순서로 동작합니다. 이 방식에서는 Logic App과 같은 중간 연결이 필요하지 않습니다. @@ -372,7 +414,68 @@ Azure SRE Agent는 조사 도구를 격리된 샌드박스에서 실행하고, - Azure CLI 기반 작업에는 안전 장치가 있어 삭제 계열 명령과 키 자격 증명 모음 접근은 차단됩니다. - 읽기 전용으로 잠근 리소스는 변경하지 않습니다. -Log Analytics 작업 영역이나 AKS를 비공개 네트워크로만 노출한 환경이라면 에이전트의 네트워크 모드를 VNet 통합으로 설정해 사설 엔드포인트에 접근할 수 있습니다. 이 기능은 현재 미리 보기입니다. 공개 엔드포인트만 사용하는 환경에서는 별도 VNet 구성 없이도 조사할 수 있습니다. +Log Analytics 작업 영역이나 AKS를 비공개 네트워크로만 노출한 환경이라면 에이전트의 네트워크 모드를 VNet 통합으로 설정해 사설 엔드포인트에 접근할 수 있습니다. 이 기능은 현재 미리 보기입니다. 공개 엔드포인트만 사용하는 환경에서는 별도 VNet 구성 없이도 조사할 수 있습니다. 자세한 구성 방법은 아래 '비공개 네트워크에는 어떻게 연결하나요?' 절에서 설명합니다. + +## 비공개 네트워크에는 어떻게 연결하나요? + +Azure Portal의 작업 영역 구성 화면에서 Unrestricted, Limited, Azure VNet 네트워크 제어 모드 중 하나를 선택하는 화면 + +> 출처: [네트워크 통합](https://learn.microsoft.com/azure/sre-agent/network-integration) + +Azure SRE Agent가 사설 네트워크에 있는 리소스에 접근하려면 **VNet 통합(VNet integration)**을 사용합니다. 이 기능의 공식 명칭은 VNet 통합이며, 흔히 쓰이는 표현인 'VNet 삽입(VNet injection)'은 공식 용어가 아니므로 안내나 문서에서 혼용하지 않는 것이 좋습니다. 이 기능은 현재 미리 보기입니다. + +### 세 가지 네트워크 제어 모드 + +| 모드 | 설명 | 이런 경우에 적합합니다 | +|---|---|---| +| Unrestricted(기본값) | 아웃바운드 트래픽 제한이 없습니다. | 개발, 테스트, 민감하지 않은 워크로드 | +| Limited | 허용 목록에 등록한 호스트로만 아웃바운드 연결을 제한합니다. | 전체 VNet 구성 없이 특정 대상만 제어하고 싶을 때 | +| Azure VNet | 플랫폼 트래픽을 제외한 아웃바운드 트래픽을 사용자의 VNet으로 라우팅합니다. | 감사 추적과 송신 제어가 필요한 운영 환경 | + +### 사전 준비 사항 + +- 에이전트와 같은 리전에 있는 전용 서브넷이 필요합니다. +- 서브넷 크기는 **/28** 이상이어야 하며, 여러 에이전트를 함께 운영하거나 트래픽이 몰릴 때를 대비하려면 **/26**까지 넉넉하게 확보하는 것을 권장합니다. +- 서브넷은 **Microsoft.App/environments**에 위임(delegate)되어 있어야 합니다. +- 서브넷을 연결할 담당자에게는 대상 서브넷에 대한 **Network Contributor** 역할(또는 `Microsoft.Network/virtualNetworks/subnets/join/action` 권한을 포함하는 동급 역할)이 필요합니다. +- 에이전트 리소스에는 **SRE Agent Administrator** 역할이 필요합니다. +- 서브넷은 다른 서비스와 공유할 수 없으며 에이전트 전용으로 사용해야 합니다. + +### 트래픽 경로는 대상마다 다릅니다 + +| 트래픽 대상 | 실제 경로 | 설정 가능 여부 | +|---|---|---| +| Azure 리소스(Log Analytics, Application Insights, AKS, 데이터베이스, Key Vault 등) | 사용자의 VNet | 기본적으로 VNet을 통과합니다. | +| 온프레미스 시스템(ExpressRoute 또는 VPN으로 연결) | 사용자의 VNet | 네트워크 경로가 허용하면 접근할 수 있습니다. | +| 플랫폼 서비스(오케스트레이션, 모델 엔드포인트, 원격 분석) | Azure SRE Agent 인프라 네트워크 | 변경할 수 없으며 항상 관리형 인프라를 거칩니다. | +| 패키지 레지스트리(PyPI, npm, NuGet, apt 등) | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 레지스트리별로 개별 설정할 수 있습니다. | +| 코드 저장소(GitHub, GitHub Enterprise, Azure DevOps) | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 공급자별로 개별 설정할 수 있습니다. | +| 원격 MCP 서버 | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 단일 토글로 설정합니다. | +| 관리형 커넥터와 같은 커넥터 트래픽 | 공개 인터넷 | 변경할 수 없습니다. 관리형 커넥터와 같은 커넥터 트래픽은 미리 보기 기간 동안 VNet을 거치지 않고 공개 인터넷 경로로 전송됩니다. | +| 프라이빗 엔드포인트를 통한 인바운드 연결 | 지원하지 않음 | VNet 통합은 아웃바운드 트래픽만 제어하며, 프라이빗 엔드포인트를 통한 인바운드 연결은 이번 미리 보기에서 지원하지 않습니다. | + +### 설정 절차 + +1. 에이전트 포털에서 **설정 > 작업 영역 구성 > 네트워킹** 탭을 엽니다. +2. 네트워크 제어 모드로 **Azure VNet**을 선택합니다. +3. 서브넷 찾아보기에서 구독, 리소스 그룹, 가상 네트워크, 서브넷을 순서대로 선택하고 연결합니다. +4. 연결하면 **Use VNet's private DNS** 옵션이 자동으로 켜집니다. 이 옵션을 사용하면 에이전트가 사설 엔드포인트 호스트 이름을 확인할 수 있습니다. +5. 사설 엔드포인트 확인이 정상적으로 동작하려면 VNet에 관련 Azure Private DNS 영역을 연결해야 합니다. Log Analytics에는 `privatelink.ods.opinsights.azure.com`, Key Vault에는 `privatelink.vaultcore.azure.net` 영역을 연결하세요. DNS를 구성하지 않으면 에이전트가 공개 엔드포인트로 돌아가거나 연결에 실패할 수 있습니다. +6. 인프라 네트워크 토글에서 원격 MCP 서버, 패키지 레지스트리, 코드 저장소, 추가 호스트 중 공개 인터넷 경로를 허용할 항목을 선택합니다. +7. 저장한 뒤 공개 접근을 차단한 프라이빗 엔드포인트 리소스(예: 공개 접근을 비활성화한 Log Analytics 작업 영역)를 조사하도록 요청해 실제로 VNet 경로로 연결되는지 확인하세요. + +### 알아두어야 할 제한 사항과 거버넌스 + +- VNet 통합은 아웃바운드 트래픽만 제어하며, 프라이빗 엔드포인트를 통한 인바운드 연결은 이번 미리 보기에서 지원하지 않습니다. +- Azure Policy를 적용해 인프라 네트워크 토글 자체를 제한하거나 비활성화할 수 있어 담당자가 임의로 VNet 밖으로 트래픽을 우회하지 못하도록 통제할 수 있습니다. +- Key Vault 방화벽 허용은 VNet 통합과 별개의 절차입니다. 인증서 기반 커넥터가 Key Vault에 접근해야 한다면 에이전트 포털의 설정 화면에서 아웃바운드 IP 주소를 확인한 뒤 Key Vault 방화벽의 허용 목록에 각 IP 주소를 개별적으로 추가해야 합니다. + +자세한 절차는 다음 자료를 참고하세요. + +- [네트워크 통합](https://learn.microsoft.com/azure/sre-agent/network-integration) +- [네트워크 제어 구성](https://learn.microsoft.com/azure/sre-agent/configure-network-controls) +- [네트워크 요구 사항](https://learn.microsoft.com/azure/sre-agent/network-requirements) +- [Key Vault 방화벽 허용 목록 구성](https://learn.microsoft.com/azure/sre-agent/allow-list-key-vault-firewall) ## 인시던트 대응 외에 무엇을 자동화할 수 있나요? @@ -402,6 +505,12 @@ Agent Hooks를 사용하면 에이전트가 결과를 반환하기 직전이나 또한 인시던트 지표 화면에서 처리한 인시던트 수, 에이전트가 완화한 비율, 담당자가 처리한 비율, 절감한 시간, 근본 원인 분포를 확인할 수 있습니다. 도입 효과를 정량적으로 설명해야 할 때 활용하기 좋습니다. +이 지표는 왼쪽 사이드바의 Operations Hub 개요 탭에서 한 화면으로 확인할 수 있습니다. + +Operations Hub 개요 탭에서 상태 표시줄, 지표 차트, 대기 중인 작업, 시스템 상태를 한 화면에서 보여주는 대시보드 화면 + +> 출처: [Operations Hub](https://learn.microsoft.com/azure/sre-agent/operations-hub) + ## 도입 전에 무엇을 확인해야 하나요? ### 조사 범위 @@ -451,7 +560,11 @@ Agent Hooks를 사용하면 에이전트가 결과를 반환하기 직전이나 - [Azure SRE Agent 개요](https://learn.microsoft.com/azure/sre-agent/overview) - [인시던트 대응 설정](https://learn.microsoft.com/azure/sre-agent/tutorial-incident-response) - [인시던트 대응 계획](https://learn.microsoft.com/azure/sre-agent/incident-response-plans) +- [인시던트 플랫폼](https://learn.microsoft.com/azure/sre-agent/incident-platforms) - [근본 원인 분석](https://learn.microsoft.com/azure/sre-agent/root-cause-analysis) +- [Azure 관찰 가능성으로 진단하기](https://learn.microsoft.com/azure/sre-agent/diagnose-azure-observability) +- [조치 실행하기](https://learn.microsoft.com/azure/sre-agent/execute-mitigations) +- [실행 모드](https://learn.microsoft.com/azure/sre-agent/run-modes) - [심층 조사](https://learn.microsoft.com/azure/sre-agent/deep-investigation) - [팀 온보딩](https://learn.microsoft.com/azure/sre-agent/team-onboard) - [사용자 지정 에이전트](https://learn.microsoft.com/azure/sre-agent/sub-agents) @@ -464,6 +577,7 @@ Agent Hooks를 사용하면 에이전트가 결과를 반환하기 직전이나 - [가격과 청구](https://learn.microsoft.com/azure/sre-agent/pricing-billing) - [예약 작업](https://learn.microsoft.com/azure/sre-agent/scheduled-tasks) - [작업 감사](https://learn.microsoft.com/azure/sre-agent/audit-agent-actions) +- [Operations Hub](https://learn.microsoft.com/azure/sre-agent/operations-hub) - [인시던트 가치 추적](https://learn.microsoft.com/azure/sre-agent/track-incident-value) ### 보안과 확장 @@ -471,6 +585,9 @@ Agent Hooks를 사용하면 에이전트가 결과를 반환하기 직전이나 - [보안 개요](https://learn.microsoft.com/azure/sre-agent/security-overview) - [권한](https://learn.microsoft.com/azure/sre-agent/permissions) - [네트워크 통합](https://learn.microsoft.com/azure/sre-agent/network-integration) +- [네트워크 제어 구성](https://learn.microsoft.com/azure/sre-agent/configure-network-controls) +- [네트워크 요구 사항](https://learn.microsoft.com/azure/sre-agent/network-requirements) +- [Key Vault 방화벽 허용 목록 구성](https://learn.microsoft.com/azure/sre-agent/allow-list-key-vault-firewall) - [데이터 보존과 개인 정보](https://learn.microsoft.com/azure/sre-agent/data-privacy) - [Agent Hooks](https://learn.microsoft.com/azure/sre-agent/agent-hooks) - [커넥터](https://learn.microsoft.com/azure/sre-agent/connectors) From 1aade2cb5697f8e3609ee0392b08bbdeddf4d6b5 Mon Sep 17 00:00:00 2001 From: hellices Date: Fri, 14 Aug 2026 09:02:00 +0900 Subject: [PATCH 5/9] test(sre-agent): require markdown images with detailed Korean alt for all 16 official assets Extends OFFICIAL_IMAGE_ALT_KEYWORDS from 6 to all 16 selected assets with image-specific keywords, requires every official asset to be rendered with Markdown image syntax (no raw HTML) and nonempty detailed Korean alt text, verifies path existence for every rendered image, forbids alt claims that are not visible in the artwork, forbids near-verbatim body duplication of alt text, and pins the official VNet details that are still missing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../scripts/tests/test_briefing_docs.py | 147 +++++++++++++++++- 1 file changed, 144 insertions(+), 3 deletions(-) diff --git a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py index aaee9deb..b3e77c02 100644 --- a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py +++ b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py @@ -25,6 +25,7 @@ "operations-hub-overview-tab.png", } OFFICIAL_ASSETS = OFFICIAL_SVGS | OFFICIAL_PNGS +OFFICIAL_ASSET_PREFIX = "sre-agent-event-lab/assets/official/" def windows_after(text: str, anchor: str, size: int = 500) -> list: @@ -149,9 +150,20 @@ def test_briefing_covers_adoption_critical_product_topics(): assert source in text, source +def rendered_image_targets(text: str) -> list: + """Every image target the briefing actually renders. + + Covers Markdown image syntax and any raw HTML `` fallback, so a file + can never be shown to a reader without its path being verified. + """ + markdown_targets = re.findall(r"!\[[^\]]*\]\(([^)]+)\)", text) + html_targets = re.findall(r"]*\ssrc=[\"']([^\"']+)[\"']", text) + return markdown_targets + html_targets + + def test_briefing_uses_only_local_images_and_no_storyboards(): text = BRIEFING.read_text() - image_targets = re.findall(r"!\[[^\]]*\]\(([^)]+)\)", text) + image_targets = rendered_image_targets(text) assert image_targets assert all(not target.startswith(("http://", "https://")) for target in image_targets) @@ -161,6 +173,23 @@ def test_briefing_uses_only_local_images_and_no_storyboards(): assert (BRIEFING.parent / target).resolve().exists(), target +def test_every_official_asset_is_rendered_as_a_markdown_image(): + text = BRIEFING.read_text() + markdown_targets = re.findall(r"!\[[^\]]*\]\(([^)]+)\)", text) + rendered_official = { + target.rsplit("/", 1)[-1] + for target in markdown_targets + if "assets/official/" in target + } + + assert rendered_official == OFFICIAL_ASSETS, sorted( + OFFICIAL_ASSETS - rendered_official + ) + assert " dict[str, str]: +def official_image_alt_texts() -> dict: pattern = re.compile(r"!\[([^\]]*)\]\(([^)]*assets/official/([^)]+))\)") return { match.group(3): match.group(1) @@ -218,14 +302,26 @@ def official_image_alt_texts() -> dict[str, str]: def test_official_images_describe_themselves_in_alt_text(): alt_texts = official_image_alt_texts() - assert set(alt_texts) == set(OFFICIAL_IMAGE_ALT_KEYWORDS) + assert set(OFFICIAL_IMAGE_ALT_KEYWORDS) == OFFICIAL_ASSETS + assert set(alt_texts) == OFFICIAL_ASSETS for name, keywords in OFFICIAL_IMAGE_ALT_KEYWORDS.items(): alt = alt_texts[name] + assert alt.strip(), name assert len(alt) >= 40, (name, alt) + assert re.search(r"[가-힣]", alt), (name, alt) for keyword in keywords: assert keyword in alt, (name, keyword) +def test_official_image_alt_text_does_not_claim_absent_content(): + alt_texts = official_image_alt_texts() + + for name, forbidden in FORBIDDEN_ALT_CLAIMS.items(): + alt = alt_texts[name] + for claim in forbidden: + assert claim not in alt, (name, claim) + + def test_official_images_do_not_repeat_alt_text_as_body_prose(): text = BRIEFING.read_text() @@ -241,6 +337,9 @@ def test_official_images_do_not_repeat_alt_text_as_body_prose(): "Azure SRE Agent는 과거 조사 대화, 사용자가 기억하도록 지정한 내용", "에이전트는 이 흐름을 따라 판단합니다.", "조사가 완료되면 Azure SRE Agent는 확인한 증상", + "업로드한 운영 문서와 MCP로 연결한 외부 지식 원본도 같은 검색 범위에 포함됩니다.", + "조사를 마친 뒤 에이전트가 선택하는 다음 동작은 조치 실행, 작업 항목 생성, 담당자 알림 세 갈래로 나뉩니다.", + "사용자 지정 에이전트는 포털의 Agent Canvas 화면에서 만들고 연결합니다.", ): assert marker not in text, marker @@ -403,3 +502,45 @@ def test_briefing_covers_private_network_connectivity(): "https://learn.microsoft.com/azure/sre-agent/allow-list-key-vault-firewall", ): assert source in text, source + + +def test_briefing_covers_official_vnet_operational_details(): + text = BRIEFING.read_text() + + for topic in ( + "추가 호스트", + "*.example.com", + "미리 설치", + "pip", + "NuGet", + "Packages", + "azuresre.ai", + "sre.azure.com", + "management.azure.com", + "login.microsoftonline.com", + "Zscaler", + "WebSocket", + ): + assert topic in text, topic + + disconnect_windows = windows_after(text, "연결을 해제") + assert disconnect_windows, "missing VNet disconnect guidance" + assert any( + any(keyword in window for keyword in ("모드", "Unrestricted", "Limited")) + for window in disconnect_windows + ), "briefing must state that the VNet must be disconnected before switching modes" + assert any( + "서브넷" in window for window in disconnect_windows + ), "briefing must state that changing the subnet requires disconnecting the VNet" + + host_windows = windows_after(text, "추가 호스트") + assert any( + any(keyword in window for keyword in ("인프라 네트워크", "공개 인터넷")) + for window in host_windows + ), "briefing must state where additional hosts are routed" + + package_windows = windows_after(text, "미리 설치") + assert any( + any(keyword in window for keyword in ("레지스트리", "패키지 관리자", "토글")) + for window in package_windows + ), "briefing must present preinstalled packages as an alternative to registry access" From c49b05bcea63e233986e1bdfe9417dbc2c6d3713 Mon Sep 17 00:00:00 2001 From: hellices Date: Fri, 14 Aug 2026 09:04:46 +0900 Subject: [PATCH 6/9] monitor(sre-agent): render every official image with accurate Korean alt text and complete VNet guidance - Render all 16 selected official assets with Markdown image syntax, including incident-platform-flow.svg which was only a plain link before. - Replace raw HTML fallbacks so alt text is verifiable by the test suite. - Correct the managed connectors alt text to the services actually shown (Jira, Slack, GitLab, Notion, Asana, Box, Confluence, OneDrive, SharePoint, GitHub, Azure DevOps, Office 365 Users, Viva Engage, Security Copilot, Freshdesk); Salesforce and Google Drive are not in the artwork. - Remove near-verbatim body sentences that duplicated the knowledge sources, notification paths, and sub-agent canvas alt text. - Expand the VNet screenshot alt text to cover the three egress modes, the delegated /28+ subnet, Microsoft.App/environments, private DNS, the connected state, the infra-network bypass warning, the MCP, package and code repository toggles, and additional hosts. - Add the official VNet details that were missing: additional hosts routing, preinstalled packages as an alternative to registry access, disconnecting the VNet before changing egress mode or subnet, and the required firewall domains including *.azuresre.ai with the Zscaler and WebSocket caveat. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- monitor/azure-sre-agent.md | 63 ++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 16 deletions(-) diff --git a/monitor/azure-sre-agent.md b/monitor/azure-sre-agent.md index 8df49ee0..fb3e06ba 100644 --- a/monitor/azure-sre-agent.md +++ b/monitor/azure-sre-agent.md @@ -73,7 +73,7 @@ Azure SRE Agent는 관리 ID와 Azure RBAC 권한을 사용해 Azure 리소스 | 소스와 문서 | GitHub, Azure DevOps, 운영 절차서, 기술 문서 | | 과거 경험 | 유사한 인시던트, 이전의 근본 원인과 해결 방법 | -에이전트가 Application Insights, Log Analytics, Azure Monitor 메트릭, Resource Graph, Azure Activity Log를 함께 조회해 하나의 조사 결과로 연결하는 구조를 보여주는 다이어그램 +![서비스 문제가 발생하면 에이전트가 Application Insights의 요청과 추적, 종속성 정보와 Log Analytics 작업 영역 로그, Azure Monitor 메트릭, Resource Graph의 토폴로지와 변경·배포 기록, 기본 제공 스킬과 Azure CLI 진단을 한 번에 조회한 뒤 근거를 서로 연결해 근본 원인을 설명하는 구조를 보여주는 다이어그램입니다. 별도 연결 설정 없이 관리 ID와 Azure RBAC 권한만으로 동작합니다.](sre-agent-event-lab/assets/official/diagnose-azure-services.svg) > 출처: [Azure 관찰 가능성으로 진단하기](https://learn.microsoft.com/azure/sre-agent/diagnose-azure-observability) @@ -85,9 +85,7 @@ Azure 내부 원격 분석 데이터는 기본 도구만으로도 조회할 수 > 출처: [메모리와 지식 관리](https://learn.microsoft.com/azure/sre-agent/memory) -업로드한 운영 문서와 MCP로 연결한 외부 지식 원본도 같은 검색 범위에 포함됩니다. - -업로드한 문서와 MCP로 연결한 외부 지식 원본을 함께 검색할 수 있도록 통합하는 지식 기반 구조를 보여주는 다이어그램 +![지식 기반 원본을 두 갈래로 정리한 다이어그램입니다. 왼쪽에는 Builder 화면에서 업로드한 운영 절차서와 아키텍처 안내서, 대기 근무 지침, API 문서, 팀 작업 절차가 있고, 오른쪽에는 설정 화면에서 연결한 MCP 커넥터로 Azure DevOps 위키, GitHub 저장소와 위키, Microsoft Learn 문서, Confluence 페이지, 사용자 지정 MCP 서버가 있습니다. 두 갈래가 하나의 지식 기반으로 모여 검색되고 출처가 함께 제시됩니다.](sre-agent-event-lab/assets/official/knowledge-sources.svg) > 출처: [메모리와 지식 관리](https://learn.microsoft.com/azure/sre-agent/memory) @@ -113,7 +111,7 @@ Azure 내부 원격 분석 데이터는 기본 도구만으로도 조회할 수 관리형 커넥터로 연결할 수 있는 대표적인 서비스는 다음과 같습니다. -Jira, Slack, GitLab, Salesforce, OneDrive, Google Drive 등 관리형 커넥터로 연결할 수 있는 대표 서비스 아이콘 모음 +![New Managed Connectors 화면입니다. Jira, Slack, GitLab, Notion, Asana, Box, Confluence, OneDrive, SharePoint, GitHub, Azure DevOps, Office 365 Users, Viva Engage, Security Copilot, Freshdesk 15개 서비스가 아이콘 격자로 배열되어 있고, 각 항목 아래에 미리 보기 표시가 붙어 있습니다.](sre-agent-event-lab/assets/official/managed-connectors-icon-grid.png) > 출처: [관리형 커넥터(미리 보기)](https://learn.microsoft.com/azure/sre-agent/managed-connectors) @@ -123,9 +121,7 @@ Azure 내부 원격 분석 데이터는 기본 도구만으로도 조회할 수 - Microsoft Teams 채널 - Slack 채널 -조사를 마친 뒤 에이전트가 선택하는 다음 동작은 조치 실행, 작업 항목 생성, 담당자 알림 세 갈래로 나뉩니다. - -조사를 마친 에이전트가 조치를 직접 실행하거나, 작업 항목을 생성하거나, 담당자에게 알리는 세 가지 대응 경로를 보여주는 다이어그램 +![에이전트가 조사와 권고를 마친 뒤 이어지는 세 가지 대응 경로를 보여주는 다이어그램입니다. 첫째는 크기 조정과 다시 시작, 롤백 같은 조치를 Container Apps, 가상 머신, AKS 등 Azure 리소스에 직접 실행하는 경로이고, 둘째는 Azure DevOps, Jira, GitHub에 상황과 근거를 담은 작업 항목을 만드는 경로이며, 셋째는 Teams, Outlook, Slack 채널에 정리된 요약을 보내는 알림 경로입니다.](sre-agent-event-lab/assets/official/notification-paths.svg) > 출처: [조치 실행하기](https://learn.microsoft.com/azure/sre-agent/execute-mitigations) @@ -158,7 +154,7 @@ Azure SRE Agent는 실행 수준에 따라 권한을 제어합니다. 공식 기능인 검토 모드(Review)와 자율 모드(Autonomous)의 차이는 다음 그림에서도 확인할 수 있습니다. -검토 모드에서는 에이전트가 조치를 제안하고 승인을 기다리며, 자율 모드에서는 에이전트가 즉시 실행하고 결과를 보고하는 차이를 비교하는 다이어그램 +![검토 모드와 자율 모드를 위아래로 나누어 비교하는 다이어그램입니다. 위쪽 검토 모드에서는 에이전트가 조치를 제안하고 사용자가 승인하거나 거부한 뒤에야 실행되며, 아래쪽 자율 모드에서는 에이전트가 곧바로 실행해 작업을 스스로 완료합니다.](sre-agent-event-lab/assets/official/run-modes-comparison.svg) > 출처: [실행 모드](https://learn.microsoft.com/azure/sre-agent/run-modes) @@ -174,7 +170,7 @@ Azure SRE Agent는 실행 수준에 따라 권한을 제어합니다. 관리 ID 권한이 부족할 때 담당자 승인으로 넘어가는 세부 과정은 다음 그림과 같습니다. -에이전트가 필요한 권한을 관리 ID에서 확인하고, 권한이 있으면 관리 ID로 실행하며, 부족하면 담당자 승인을 통한 사용자 자격 증명으로 실행하는 흐름을 보여주는 다이어그램 +![에이전트가 작업을 수행하기 전에 관리 ID에 필요한 Azure RBAC 역할이 있는지 확인하는 판단 흐름 다이어그램입니다. 역할이 있으면 관리 ID로 그대로 실행하고, 없으면 담당자 승인을 거쳐 사용자 위임 자격 증명을 요청한 뒤 서비스 다시 시작, 리소스 크기 조정, 로그 조회, 구성 변경, 메트릭 읽기 같은 작업을 수행합니다.](sre-agent-event-lab/assets/official/permission-flow.svg) > 출처: [권한](https://learn.microsoft.com/azure/sre-agent/permissions) @@ -195,9 +191,7 @@ Azure SRE Agent는 실행 수준에 따라 권한을 제어합니다. 사용자 지정 에이전트는 각자 도구와 커넥터, 사용할 스킬을 따로 지정합니다. 조사 과정에서 다른 전문 에이전트로 작업을 넘기도록 구성할 수도 있어, 인시던트 분류와 상세 조사, 결과 전달을 단계별로 나눌 수 있습니다. -사용자 지정 에이전트는 포털의 Agent Canvas 화면에서 만들고 연결합니다. - -포털의 Agent Canvas 화면에서 사용자 지정 에이전트를 트리거, 도구와 함께 연결해 구성하는 모습 +![포털의 캔버스 보기 화면입니다. 왼쪽에는 켜져 있는 PDtrigger 트리거가 있고, 가운데에는 자율 모드로 동작하며 지식 기반이 활성화된 AppErrorshandler 사용자 지정 에이전트가 연결되어 있으며, 오른쪽에는 GetAzCliHelp, RunAzCliReadCommands, RunAzCliWriteCommands, QueryAppInsightsByAppId, QueryAppInsightsByResourceId를 비롯한 도구 10개가 연결되어 있습니다.](sre-agent-event-lab/assets/official/portal-sub-agent-canvas-full.png) > 출처: [사용자 지정 에이전트](https://learn.microsoft.com/azure/sre-agent/sub-agents) @@ -214,7 +208,9 @@ Azure SRE Agent는 실행 수준에 따라 권한을 제어합니다. 인시던트 플랫폼을 처음 연결하면 빠른 시작 대응 계획이 자동으로 만들어집니다. 사용자 정의 대응 계획을 만든 뒤에는 이 계획을 삭제해야 인시던트가 잘못 전달되거나 두 번 처리되지 않습니다. -> 그림: [인시던트 플랫폼이 대응 계획을 거쳐 에이전트 조사와 조치로 이어지는 전체 흐름 보기](sre-agent-event-lab/assets/official/incident-platform-flow.svg) · 출처: [인시던트 플랫폼](https://learn.microsoft.com/azure/sre-agent/incident-platforms) +![인시던트 플랫폼에서 시작해 조치와 효과 측정까지 이어지는 전체 흐름을 보여주는 다이어그램입니다. PagerDuty나 Azure Monitor 같은 플랫폼이 경고를 보내면 필터와 실행 모드를 지정한 대응 계획이 조건에 맞는 항목을 골라 에이전트에게 넘기고, 에이전트가 자동으로 조사해 얻은 결과로 문제를 완화하고 원래 플랫폼의 상태를 갱신한 뒤 처리 결과를 지표로 추적합니다.](sre-agent-event-lab/assets/official/incident-platform-flow.svg) + +> 출처: [인시던트 플랫폼](https://learn.microsoft.com/azure/sre-agent/incident-platforms) ## 제품에서 기본으로 지원하는 방식 @@ -418,7 +414,7 @@ Log Analytics 작업 영역이나 AKS를 비공개 네트워크로만 노출한 ## 비공개 네트워크에는 어떻게 연결하나요? -Azure Portal의 작업 영역 구성 화면에서 Unrestricted, Limited, Azure VNet 네트워크 제어 모드 중 하나를 선택하는 화면 +![작업 영역 구성 화면의 네트워킹 탭을 보여주는 미리 보기 화면입니다. 송신 모드로 Unrestricted, Limited, Azure VNet 세 가지 카드가 나란히 있고 그중 Azure VNet이 선택되어 연결됨 상태로 표시됩니다. 아래에는 연결한 위임 서브넷 경로와 함께 서브넷이 /28 이상이어야 하고 Microsoft.App/environments에 위임되어야 한다는 안내, 자동으로 켜진 VNet 프라이빗 DNS 사용 옵션, 연결 테스트 단추와 VNet 연결 해제 단추가 있습니다. 그 아래 인프라 네트워크 영역에는 이 경로가 VNet을 우회하므로 NSG 규칙과 프라이빗 DNS가 적용되지 않는다는 경고와 함께 MCP 서버 접근 토글, 패키지 관리자 접근 토글, GitHub와 GitHub Enterprise, Azure DevOps 코드 저장소 선택란, 그리고 와일드카드까지 입력할 수 있는 추가 호스트 입력란이 있습니다.](sre-agent-event-lab/assets/official/azure-sre-agent-networking-vnet.png) > 출처: [네트워크 통합](https://learn.microsoft.com/azure/sre-agent/network-integration) @@ -451,6 +447,7 @@ Azure SRE Agent가 사설 네트워크에 있는 리소스에 접근하려면 ** | 패키지 레지스트리(PyPI, npm, NuGet, apt 등) | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 레지스트리별로 개별 설정할 수 있습니다. | | 코드 저장소(GitHub, GitHub Enterprise, Azure DevOps) | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 공급자별로 개별 설정할 수 있습니다. | | 원격 MCP 서버 | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 단일 토글로 설정합니다. | +| 추가 호스트 목록에 등록한 호스트 | 인프라 네트워크 | 호스트 이름이나 `*.example.com` 같은 와일드카드 패턴을 직접 입력해 관리합니다. 미리 설치한 패키지가 사용하는 호스트는 자동으로 허용되므로 그 밖의 대상만 등록하면 됩니다. | | 관리형 커넥터와 같은 커넥터 트래픽 | 공개 인터넷 | 변경할 수 없습니다. 관리형 커넥터와 같은 커넥터 트래픽은 미리 보기 기간 동안 VNet을 거치지 않고 공개 인터넷 경로로 전송됩니다. | | 프라이빗 엔드포인트를 통한 인바운드 연결 | 지원하지 않음 | VNet 통합은 아웃바운드 트래픽만 제어하며, 프라이빗 엔드포인트를 통한 인바운드 연결은 이번 미리 보기에서 지원하지 않습니다. | @@ -464,6 +461,40 @@ Azure SRE Agent가 사설 네트워크에 있는 리소스에 접근하려면 ** 6. 인프라 네트워크 토글에서 원격 MCP 서버, 패키지 레지스트리, 코드 저장소, 추가 호스트 중 공개 인터넷 경로를 허용할 항목을 선택합니다. 7. 저장한 뒤 공개 접근을 차단한 프라이빗 엔드포인트 리소스(예: 공개 접근을 비활성화한 Log Analytics 작업 영역)를 조사하도록 요청해 실제로 VNet 경로로 연결되는지 확인하세요. +VNet을 연결한 뒤에 구성을 바꿀 때는 다음 순서를 지켜야 합니다. + +- 송신 모드를 바꾸려면 먼저 VNet 연결을 해제해야 합니다. VNet이 연결되어 있는 동안에는 Unrestricted와 Limited 모드 카드가 비활성화되어 선택할 수 없습니다. +- 서브넷을 바꿀 때도 VNet 연결을 해제한 뒤 새 서브넷으로 다시 연결해야 합니다. + +### 패키지 레지스트리 대신 미리 설치를 사용할 수 있습니다 + +에이전트가 조사 중에 실행하는 스크립트가 특정 패키지를 필요로 한다면, 패키지 레지스트리 토글을 켜서 인프라 네트워크로 우회하는 대신 샌드박스 기본 이미지에 필요한 패키지를 미리 설치할 수 있습니다. 이렇게 하면 실행할 때마다 패키지가 준비된 상태로 제공되므로 공개 레지스트리로 나가는 경로를 열지 않아도 됩니다. + +설정 방법은 다음과 같습니다. + +1. 에이전트 포털에서 **설정 > 작업 영역 구성**을 열고 **Packages** 탭을 선택합니다. +2. 패키지 이름을 입력하고 패키지 관리자로 `pip` 또는 `NuGet`을 선택한 뒤 필요하면 버전을 지정합니다. +3. **패키지 추가**를 선택합니다. + +`NuGet` 항목에는 `dotnet-ef`처럼 .NET CLI 도구만 등록할 수 있으며, 라이브러리 패키지는 전역으로 설치할 수 없습니다. + +### 방화벽에서 허용해야 하는 도메인 + +에이전트 포털과 조사 기능을 사용하려면 사내 방화벽과 프록시에서 다음 도메인을 HTTP와 WebSocket 트래픽 모두에 대해 허용해야 합니다. + +| 도메인 | 용도 | +|---|---| +| `*.azuresre.ai` | 에이전트 포털과 API, 실시간 대화(WebSocket) | +| `sre.azure.com` | 에이전트 관리 포털 | +| `portal.azure.com` | Azure Portal(모니터, 로그, 관리 ID 확인) | +| `api.applicationinsights.io` | Application Insights 쿼리 API | +| `api.loganalytics.io`, `api.loganalytics.azure.com` | Log Analytics 쿼리 API | +| `*.ods.opinsights.azure.com` | Log Analytics 작업 영역 데이터 수집 | +| `management.azure.com` | Azure Resource Manager API | +| `login.microsoftonline.com`, `*.login.microsoft.com` | Microsoft Entra ID 인증 | + +Zscaler를 비롯한 일부 사내 프록시는 `*.azuresre.ai`를 기본적으로 차단합니다. 포털이 열리지 않거나 대화 화면이 응답하지 않는다면 이 도메인을 허용 목록에 추가하고, 프록시가 WebSocket 연결을 막고 있지 않은지 확인하세요. 브라우저 확장 프로그램의 영향을 배제하려면 시크릿 창에서도 확인해 보세요. + ### 알아두어야 할 제한 사항과 거버넌스 - VNet 통합은 아웃바운드 트래픽만 제어하며, 프라이빗 엔드포인트를 통한 인바운드 연결은 이번 미리 보기에서 지원하지 않습니다. @@ -507,7 +538,7 @@ Agent Hooks를 사용하면 에이전트가 결과를 반환하기 직전이나 이 지표는 왼쪽 사이드바의 Operations Hub 개요 탭에서 한 화면으로 확인할 수 있습니다. -Operations Hub 개요 탭에서 상태 표시줄, 지표 차트, 대기 중인 작업, 시스템 상태를 한 화면에서 보여주는 대시보드 화면 +![Operations Hub 개요 탭 화면입니다. 왼쪽 사이드바에는 조사 대화, 인시던트, 예약 작업, Builder, 모니터, 기능, 설정 메뉴가 있고, 오른쪽 본문에는 개요와 분석, 자동화 탭, 최근 7일 기간 선택, 원본별 일일 처리량 차트, 대기 중인 작업 41건 카드, 시스템 상태 카드가 배치되어 주요 지표를 한 화면에서 보여 줍니다.](sre-agent-event-lab/assets/official/operations-hub-overview-tab.png) > 출처: [Operations Hub](https://learn.microsoft.com/azure/sre-agent/operations-hub) From 1ee07abb5de1f80a925efdb2a278785e5dd3ddc5 Mon Sep 17 00:00:00 2001 From: hellices Date: Fri, 14 Aug 2026 09:31:59 +0900 Subject: [PATCH 7/9] test(sre-agent): lint literal emphasis markers, duplicate prose, and image alt accuracy Strengthen the briefing document contract so the final-review findings are caught by rules rather than by pinned phrases: - Add a general CommonMark emphasis lint that flags any delimiter run GitHub would render literally, including closing `**` glued to a Hangul particle, plus a self-check that the lint is not vacuous. - Detect duplicated substantive body sentences anywhere in the briefing and table rows whose description repeats the row label. - Require consistent private-network terminology. - Require the incident response flow alt text to follow the 0:00 to 5:00 timeline, including fix proposal or autonomous action, resolution, work item update, and team notification. - Require the Operations Hub alt text to describe the selected sidebar item and the empty chart state instead of implying plotted values. - Require every rendered image to carry Korean alt text that is not repeated as body prose. - Require the official network control rationale (data exfiltration, prompt injection), the transitional nature of infra network toggles, the auto-allowed hosts of configured packages and connectors, and the documented behavior when the network blocks a call. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../scripts/tests/test_briefing_docs.py | 310 +++++++++++++++++- 1 file changed, 309 insertions(+), 1 deletion(-) diff --git a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py index b3e77c02..dbbe0825 100644 --- a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py +++ b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py @@ -1,4 +1,6 @@ import re +import unicodedata +from collections import Counter from pathlib import Path @@ -46,6 +48,122 @@ def windows_after(text: str, anchor: str, size: int = 500) -> list: return windows +UNICODE_PUNCTUATION_CATEGORIES = {"Pc", "Pd", "Pe", "Pf", "Pi", "Po", "Ps"} + + +def strip_code(markdown: str) -> str: + markdown = re.sub(r"```.*?```", "", markdown, flags=re.DOTALL) + return re.sub(r"`[^`]*`", "", markdown) + + +def _is_unicode_punctuation(char) -> bool: + return char is not None and unicodedata.category(char) in UNICODE_PUNCTUATION_CATEGORIES + + +def _is_unicode_whitespace(char) -> bool: + return char is None or char.isspace() + + +def unrendered_emphasis_markers(markdown: str) -> list: + """Emphasis runs GitHub prints literally instead of rendering as bold/italic. + + Implements the CommonMark left/right-flanking delimiter rules. A closing + ``**`` that follows punctuation and is glued to a letter — the common + Korean pattern ``**굵게(bold)**을`` where a particle follows the marker — + is not right-flanking, so it can never close emphasis and GitHub shows the + raw asterisks to the reader. This is a general rule check, not a check for + one known sentence. + """ + offenders = [] + for number, line in enumerate(strip_code(markdown).splitlines(), start=1): + open_runs = [] + for match in re.finditer(r"\*+", line): + before = line[match.start() - 1] if match.start() else None + after = line[match.end()] if match.end() < len(line) else None + left_flanking = not _is_unicode_whitespace(after) and ( + not _is_unicode_punctuation(after) + or _is_unicode_whitespace(before) + or _is_unicode_punctuation(before) + ) + right_flanking = not _is_unicode_whitespace(before) and ( + not _is_unicode_punctuation(before) + or _is_unicode_whitespace(after) + or _is_unicode_punctuation(after) + ) + if right_flanking and open_runs: + open_runs.pop() + elif left_flanking: + open_runs.append(match) + else: + offenders.append((number, match.group(), line.strip())) + offenders.extend((number, run.group(), line.strip()) for run in open_runs) + return offenders + + +def emphasis_glued_to_hangul(markdown: str) -> list: + """Closing ``**`` markers immediately followed by a Hangul letter/particle.""" + pattern = re.compile(r"[^\s*]\*{1,2}[가-힣]") + return [ + match.group() + for match in pattern.finditer(strip_code(markdown)) + if _is_unicode_punctuation(match.group()[0]) + ] + + +def table_rows(markdown: str) -> list: + rows = [] + for line in strip_code(markdown).splitlines(): + line = line.strip() + if not line.startswith("|") or not line.endswith("|"): + continue + if re.fullmatch(r"\|[\s:\-|]+\|", line): + continue + cells = [ + re.sub(r"\[([^\]]+)\]\([^)]*\)", r"\1", cell).replace("**", "").strip() + for cell in line.strip("|").split("|") + ] + if len(cells) >= 2: + rows.append(cells) + return rows + + +def body_sentences(markdown: str, minimum_length: int = 30) -> list: + """Substantive body sentences, with images, captions and code removed. + + Table cells count as body prose, so a sentence copied between a table row + and a bullet list is detected. Short labels and fragments are ignored so + that legitimately repeated table values do not register as duplicates. + """ + markdown = re.sub(r"```.*?```", "", markdown, flags=re.DOTALL) + markdown = re.sub(r"!\[[^\]]*\]\([^)]*\)", "", markdown) + markdown = re.sub(r"]*>", "", markdown) + + fragments = [] + for line in markdown.splitlines(): + line = line.strip() + if not line or line.startswith(("#", ">")): + continue + if re.fullmatch(r"\|[\s:\-|]+\|", line): + continue + cells = line.strip("|").split("|") if line.startswith("|") else [line] + for cell in cells: + cell = re.sub(r"^[-*+]\s+", "", cell.strip()) + cell = re.sub(r"^\d+\.\s+", "", cell) + cell = re.sub(r"^\[[ x]\]\s+", "", cell) + cell = re.sub(r"\[([^\]]+)\]\([^)]*\)", r"\1", cell) + cell = cell.replace("**", "").replace("`", "").strip() + if cell: + fragments.append(cell) + + sentences = [] + for fragment in fragments: + for sentence in re.split(r"(?<=다\.)\s+", fragment): + sentence = re.sub(r"\s+", " ", sentence).strip() + if len(sentence) >= minimum_length and re.search(r"(다|요)\.$", sentence): + sentences.append(sentence) + return sentences + + def prose_only(markdown: str) -> str: markdown = re.sub(r"```.*?```", "", markdown, flags=re.DOTALL) markdown = re.sub(r"`[^`]+`", "", markdown) @@ -85,6 +203,60 @@ def test_briefing_uses_natural_korean_terms(): assert not re.search(pattern, prose, re.IGNORECASE), pattern +def test_briefing_has_no_emphasis_markers_github_renders_literally(): + text = BRIEFING.read_text() + + assert unrendered_emphasis_markers(text) == [], unrendered_emphasis_markers(text) + assert emphasis_glued_to_hangul(text) == [], emphasis_glued_to_hangul(text) + + +def test_emphasis_lint_catches_markers_that_commonmark_leaves_literal(): + broken = "이 기능은 **VNet 통합(VNet integration)**을 사용합니다." + fixed = "이 기능은 **VNet 통합**(VNet integration)을 사용합니다." + + assert unrendered_emphasis_markers(broken), "lint must flag unclosable markers" + assert emphasis_glued_to_hangul(broken), "lint must flag Hangul-glued markers" + assert unrendered_emphasis_markers(fixed) == [] + assert emphasis_glued_to_hangul(fixed) == [] + assert unrendered_emphasis_markers("서브넷은 **/28** 이상이어야 합니다.") == [] + assert unrendered_emphasis_markers("**Azure VNet**을 선택합니다.") == [] + + +def test_briefing_does_not_repeat_substantive_body_sentences(): + sentences = body_sentences(BRIEFING.read_text()) + counts = Counter(sentences) + + assert len(sentences) >= 100, "duplicate check must inspect the whole briefing" + repeated = sorted(sentence for sentence, count in counts.items() if count > 1) + assert repeated == [], repeated + + +def test_briefing_tables_do_not_repeat_row_labels_in_descriptions(): + offenders = [ + row + for row in table_rows(BRIEFING.read_text()) + if len(row[0]) >= 8 and row[0] in row[-1] + ] + + assert offenders == [], offenders + + +def test_briefing_uses_consistent_private_network_terms(): + text = BRIEFING.read_text() + + assert "비공개 네트워크" in text + assert "프라이빗 엔드포인트" in text + for inconsistent in ( + "사설 네트워크", + "사설 엔드포인트", + "개인 엔드포인트", + "전용 엔드포인트", + "비공개 엔드포인트", + "프라이빗 네트워크", + ): + assert inconsistent not in text, inconsistent + + def test_briefing_uses_customer_facing_honorific_style(): prose = prose_only(BRIEFING.read_text()) explanatory_lines = [ @@ -227,7 +399,24 @@ def test_official_images_are_placed_with_sections_and_sources(): OFFICIAL_IMAGE_ALT_KEYWORDS = { - "incident-response-flow.svg": ("경고", "조사", "근본 원인"), + "incident-response-flow.svg": ( + "0:00", + "0:30", + "1:30", + "3:00", + "5:00", + "경고", + "접수", + "조사", + "메트릭", + "배포", + "근본 원인", + "제안", + "자율", + "해결", + "작업 항목", + "알림", + ), "root-cause-analysis.svg": ("근거", "가설", "근본 원인"), "agent-reasoning-flow.svg": ("맥락", "추론", "승인"), "memory-unified-search.svg": ("과거", "문서", "검색"), @@ -283,11 +472,23 @@ def test_official_images_are_placed_with_sections_and_sources(): "지표", "대기 중인 작업", "시스템 상태", + "최근 7일", + "41", + "선택", + "데이터가 없", ), } FORBIDDEN_ALT_CLAIMS = { "managed-connectors-icon-grid.png": ("Salesforce", "Google Drive"), + "operations-hub-overview-tab.png": ( + "추이", + "증가", + "감소", + "막대", + "그래프가 그려", + ), + "incident-response-flow.svg": ("담당자에게 넘기", "에스컬레이션"), } @@ -313,6 +514,50 @@ def test_official_images_describe_themselves_in_alt_text(): assert keyword in alt, (name, keyword) +def test_operations_hub_alt_text_matches_the_captured_screen_state(): + alt = official_image_alt_texts()["operations-hub-overview-tab.png"] + + assert re.search(r"Operations Hub[^.]{0,40}(선택|강조)", alt), alt + assert any( + phrase in alt for phrase in ("선택한 기간", "선택된 기간") + ), alt + assert re.search(r"(표시할 )?데이터가 없", alt), alt + + +def test_incident_response_flow_alt_text_follows_the_diagram_timeline(): + alt = official_image_alt_texts()["incident-response-flow.svg"] + + positions = [alt.find(mark) for mark in ("0:00", "0:30", "1:30", "3:00", "5:00")] + assert all(position >= 0 for position in positions), alt + assert positions == sorted(positions), "timeline must be described in order" + assert re.search(r"(제안|권고)", alt), alt + assert "자율" in alt, alt + assert re.search(r"(작업 항목|티켓)", alt), alt + + +def test_every_rendered_image_has_descriptive_korean_alt_text(): + pattern = re.compile(r"!\[([^\]]*)\]\(([^)]+)\)") + images = pattern.findall(BRIEFING.read_text()) + + assert len(images) == 21, len(images) + for alt, target in images: + assert alt.strip(), target + assert re.search(r"[가-힣]", alt), target + + +def test_image_alt_text_is_not_repeated_as_body_prose(): + text = BRIEFING.read_text() + body = re.sub(r"\s+", " ", re.sub(r"!\[[^\]]*\]\([^)]*\)", "", text)) + + repeated = [] + for alt in re.findall(r"!\[([^\]]*)\]\([^)]*\)", text): + for sentence in body_sentences(alt): + if sentence in body: + repeated.append(sentence) + + assert repeated == [], repeated + + def test_official_image_alt_text_does_not_claim_absent_content(): alt_texts = official_image_alt_texts() @@ -538,9 +783,72 @@ def test_briefing_covers_official_vnet_operational_details(): any(keyword in window for keyword in ("인프라 네트워크", "공개 인터넷")) for window in host_windows ), "briefing must state where additional hosts are routed" + assert any( + "패키지" in window + and "커넥터" in window + and any(keyword in window for keyword in ("자동으로 허용", "자동 허용")) + for window in host_windows + ), ( + "briefing must state that configured packages and connectors " + "auto-allow their own hosts" + ) package_windows = windows_after(text, "미리 설치") assert any( any(keyword in window for keyword in ("레지스트리", "패키지 관리자", "토글")) for window in package_windows ), "briefing must present preinstalled packages as an alternative to registry access" + + +def test_briefing_explains_official_reasons_for_network_control(): + text = BRIEFING.read_text() + + exfiltration_windows = windows_after(text, "데이터 유출") + assert exfiltration_windows, "briefing must state the data exfiltration risk" + assert any( + any(keyword in window for keyword in ("인터넷", "조직 밖", "외부로")) + for window in exfiltration_windows + ), "data exfiltration risk must be explained, not just named" + + injection_windows = windows_after(text, "프롬프트 인젝션") + assert injection_windows, "briefing must state the prompt injection risk" + assert any( + any(keyword in window for keyword in ("조작", "악의", "공격")) + for window in injection_windows + ), "prompt injection risk must be explained, not just named" + + bypass_windows = windows_after(text, "토글") + assert any( + any(keyword in window for keyword in ("과도기", "임시", "한시적")) + and any(keyword in window for keyword in ("FQDN", "호스트 이름")) + and any( + keyword in window + for keyword in ("대신하지", "대체하지", "영구적인 해결책은 아닙니다") + ) + for window in bypass_windows + ), ( + "briefing must present infra network toggles as a transitional tool that " + "does not replace hostname-aware or FQDN-based egress filtering" + ) + + +def test_briefing_describes_official_network_blocked_call_behavior(): + text = BRIEFING.read_text() + + blocked_windows = windows_after(text, "차단") + windows_after(text, "경로가 없") + assert any( + any(keyword in window for keyword in ("네트워크 오류", "연결에 실패", "시간 초과")) + and any(keyword in window for keyword in ("조사 결과", "조사 내용", "보고")) + for window in blocked_windows + ), ( + "briefing must state that a blocked outbound call surfaces as a normal " + "network error the agent reports in its investigation output" + ) + assert any( + any(keyword in window for keyword in ("이어", "계속")) + and any(keyword in window for keyword in ("완전하지 않", "불완전")) + for window in blocked_windows + ), ( + "briefing must state that the agent continues with reachable data and " + "reports an incomplete investigation when a critical source is blocked" + ) From 5f946214c918aef4321a38bc402852f3c8d7fc07 Mon Sep 17 00:00:00 2001 From: hellices Date: Fri, 14 Aug 2026 09:37:03 +0900 Subject: [PATCH 8/9] monitor(sre-agent): fix literal bold markers, image alt accuracy, and VNet rationale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Address the final-review findings on the briefing: - Move the closing bold marker so GitHub renders "VNet 통합" in bold instead of printing the asterisks, which CommonMark leaves literal when a closing `**` follows punctuation and is glued to a Hangul particle. - Describe the Operations Hub screenshot as it is: Operations Hub is the selected sidebar item and the chart area reports that no data exists for the selected period, rather than implying plotted values. - State that configured packages and connectors auto-allow their own hosts, so the additional host list only needs everything else. - Rewrite the incident response flow alt text to follow the diagram timeline from 0:00 to 5:00, including the fix proposal or autonomous action at 3:00 and the resolution with work item update and team notification at 5:00. - Remove the duplicated inbound limitation sentence and the repeated connector label while keeping both concepts in the traffic table and the limitations list. - Use 비공개 네트워크 and 프라이빗 엔드포인트 consistently in the new section. - Add the official rationale for network control (data exfiltration and prompt injection), the transitional nature of infra network toggles versus hostname-aware or FQDN egress filtering, the SRE Agent Administrator scope, and the documented behavior when the network blocks a call. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- monitor/azure-sre-agent.md | 40 ++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/monitor/azure-sre-agent.md b/monitor/azure-sre-agent.md index fb3e06ba..2d9b6036 100644 --- a/monitor/azure-sre-agent.md +++ b/monitor/azure-sre-agent.md @@ -20,7 +20,7 @@ Azure SRE Agent는 단순히 오류 로그를 나열하지 않습니다. 어떤 ## 인시던트가 발생하면 어떻게 조사하나요? -![경고가 발생하면 Azure SRE Agent가 인시던트를 확인하고 로그와 메트릭, 배포 이력을 조사해 근본 원인을 찾은 뒤 해결하거나 담당자에게 넘기는 흐름](sre-agent-event-lab/assets/official/incident-response-flow.svg) +![경고 발생부터 해결까지 5분 안에 이어지는 흐름을 시간축으로 보여 주는 다이어그램입니다. 0:00에 PagerDuty와 Azure Monitor, ServiceNow에서 경고가 발생하고, 0:30에 에이전트가 경고를 접수해 팀에 알린 뒤 조사를 시작합니다. 1:30에는 로그 조회와 메트릭 확인, 배포 이력 연관 분석을 수행하고, 3:00에 근본 원인을 찾아 수정 방안을 제안하거나 자율 모드로 직접 조치합니다. 5:00에는 해결 상태가 되어 작업 항목이 갱신되고 팀에 알림이 전달됩니다.](sre-agent-event-lab/assets/official/incident-response-flow.svg) > 출처: [인시던트 대응 자동화](https://learn.microsoft.com/azure/sre-agent/incident-response) @@ -410,15 +410,24 @@ Azure SRE Agent는 조사 도구를 격리된 샌드박스에서 실행하고, - Azure CLI 기반 작업에는 안전 장치가 있어 삭제 계열 명령과 키 자격 증명 모음 접근은 차단됩니다. - 읽기 전용으로 잠근 리소스는 변경하지 않습니다. -Log Analytics 작업 영역이나 AKS를 비공개 네트워크로만 노출한 환경이라면 에이전트의 네트워크 모드를 VNet 통합으로 설정해 사설 엔드포인트에 접근할 수 있습니다. 이 기능은 현재 미리 보기입니다. 공개 엔드포인트만 사용하는 환경에서는 별도 VNet 구성 없이도 조사할 수 있습니다. 자세한 구성 방법은 아래 '비공개 네트워크에는 어떻게 연결하나요?' 절에서 설명합니다. +Log Analytics 작업 영역이나 AKS를 비공개 네트워크로만 노출한 환경이라면 에이전트의 네트워크 모드를 VNet 통합으로 설정해 프라이빗 엔드포인트에 접근할 수 있습니다. 이 기능은 현재 미리 보기입니다. 공개 엔드포인트만 사용하는 환경에서는 별도 VNet 구성 없이도 조사할 수 있습니다. 자세한 구성 방법은 아래 '비공개 네트워크에는 어떻게 연결하나요?' 절에서 설명합니다. ## 비공개 네트워크에는 어떻게 연결하나요? -![작업 영역 구성 화면의 네트워킹 탭을 보여주는 미리 보기 화면입니다. 송신 모드로 Unrestricted, Limited, Azure VNet 세 가지 카드가 나란히 있고 그중 Azure VNet이 선택되어 연결됨 상태로 표시됩니다. 아래에는 연결한 위임 서브넷 경로와 함께 서브넷이 /28 이상이어야 하고 Microsoft.App/environments에 위임되어야 한다는 안내, 자동으로 켜진 VNet 프라이빗 DNS 사용 옵션, 연결 테스트 단추와 VNet 연결 해제 단추가 있습니다. 그 아래 인프라 네트워크 영역에는 이 경로가 VNet을 우회하므로 NSG 규칙과 프라이빗 DNS가 적용되지 않는다는 경고와 함께 MCP 서버 접근 토글, 패키지 관리자 접근 토글, GitHub와 GitHub Enterprise, Azure DevOps 코드 저장소 선택란, 그리고 와일드카드까지 입력할 수 있는 추가 호스트 입력란이 있습니다.](sre-agent-event-lab/assets/official/azure-sre-agent-networking-vnet.png) +![작업 영역 구성 화면의 네트워킹 탭을 보여 주는 화면입니다. 제목 옆에는 미리 보기 배지가 있고, 송신 모드로 Unrestricted, Limited, Azure VNet 세 가지 카드가 나란히 있으며 그중 Azure VNet이 선택되어 연결됨 배지가 붙어 있고 나머지 두 카드는 흐리게 비활성 상태로 표시됩니다. 아래에는 연결한 위임 서브넷 경로와 함께 서브넷이 /28 이상이어야 하고 Microsoft.App/environments에 위임되어야 한다는 안내, 자동으로 켜진 VNet 프라이빗 DNS 사용 옵션, 1분 전에 확인을 마쳤다고 표시된 연결 테스트 단추와 VNet 연결 해제 단추가 있습니다. 그 아래 인프라 네트워크 영역에는 이 경로가 VNet을 우회하므로 NSG 규칙과 프라이빗 DNS가 적용되지 않는다는 경고와 함께 켜져 있는 MCP 서버 접근 토글과 패키지 관리자 접근 토글, 아직 선택하지 않은 GitHub와 GitHub Enterprise, Azure DevOps 코드 저장소 선택란, 와일드카드까지 입력할 수 있는 추가 호스트 입력란이 있습니다.](sre-agent-event-lab/assets/official/azure-sre-agent-networking-vnet.png) > 출처: [네트워크 통합](https://learn.microsoft.com/azure/sre-agent/network-integration) -Azure SRE Agent가 사설 네트워크에 있는 리소스에 접근하려면 **VNet 통합(VNet integration)**을 사용합니다. 이 기능의 공식 명칭은 VNet 통합이며, 흔히 쓰이는 표현인 'VNet 삽입(VNet injection)'은 공식 용어가 아니므로 안내나 문서에서 혼용하지 않는 것이 좋습니다. 이 기능은 현재 미리 보기입니다. +Azure SRE Agent가 비공개 네트워크에 있는 리소스에 접근하려면 **VNet 통합**(VNet integration)을 사용합니다. 이 기능의 공식 명칭은 VNet 통합이며, 흔히 쓰이는 표현인 'VNet 삽입(VNet injection)'은 공식 용어가 아니므로 안내나 문서에서 혼용하지 않는 것이 좋습니다. VNet 통합은 현재 미리 보기 상태입니다. + +### 네트워크 제어가 왜 필요한가요? + +기본값인 Unrestricted 모드에서는 에이전트가 인터넷의 모든 엔드포인트에 연결할 수 있습니다. 개발과 테스트 환경에서는 문제가 되지 않지만, 운영 환경에서는 다음 두 가지 위험이 남습니다. + +- **데이터 유출**(data exfiltration): 민감한 내부 데이터를 다루는 에이전트가 인터넷으로 자유롭게 나갈 수 있으면 조직 밖으로 데이터가 빠져나가는 경로가 생깁니다. +- **프롬프트 인젝션**(prompt injection): 공개 인터넷의 악의적인 내용은 에이전트의 판단을 조작하도록 만들어질 수 있으며, 외부 콘텐츠를 가져오는 에이전트는 그 응답을 통한 공격에 노출됩니다. + +VNet 통합을 적용하면 에이전트의 아웃바운드 호출이 조직의 네트워크 인프라를 지나갑니다. 그 결과 네트워크 로그에 기록되어 감사와 모니터링에 활용할 수 있고, 계층 4와 계층 7 방화벽 검사, 사용자 지정 DNS 구성, 기존 송신 규칙이 그대로 적용됩니다. 에이전트는 같은 네트워크의 다른 워크로드와 동일한 규칙 아래에서 동작합니다. ### 세 가지 네트워크 제어 모드 @@ -447,17 +456,17 @@ Azure SRE Agent가 사설 네트워크에 있는 리소스에 접근하려면 ** | 패키지 레지스트리(PyPI, npm, NuGet, apt 등) | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 레지스트리별로 개별 설정할 수 있습니다. | | 코드 저장소(GitHub, GitHub Enterprise, Azure DevOps) | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 공급자별로 개별 설정할 수 있습니다. | | 원격 MCP 서버 | 토글을 켜면 인프라 네트워크, 끄면 VNet의 FQDN 방화벽 규칙 | 단일 토글로 설정합니다. | -| 추가 호스트 목록에 등록한 호스트 | 인프라 네트워크 | 호스트 이름이나 `*.example.com` 같은 와일드카드 패턴을 직접 입력해 관리합니다. 미리 설치한 패키지가 사용하는 호스트는 자동으로 허용되므로 그 밖의 대상만 등록하면 됩니다. | -| 관리형 커넥터와 같은 커넥터 트래픽 | 공개 인터넷 | 변경할 수 없습니다. 관리형 커넥터와 같은 커넥터 트래픽은 미리 보기 기간 동안 VNet을 거치지 않고 공개 인터넷 경로로 전송됩니다. | -| 프라이빗 엔드포인트를 통한 인바운드 연결 | 지원하지 않음 | VNet 통합은 아웃바운드 트래픽만 제어하며, 프라이빗 엔드포인트를 통한 인바운드 연결은 이번 미리 보기에서 지원하지 않습니다. | +| 추가 호스트 목록에 등록한 호스트 | 인프라 네트워크 | 호스트 이름이나 `*.example.com` 같은 와일드카드 패턴을 직접 입력해 관리합니다. 구성한 패키지와 커넥터는 각자 사용하는 호스트를 자동으로 허용하므로, 목록에는 레지스트리와 코드 저장소 밖의 대상만 등록하면 됩니다. | +| 커넥터 트래픽(관리형 커넥터 포함) | 공개 인터넷 | 변경할 수 없습니다. 미리 보기 기간에는 VNet을 거치지 않고 공개 인터넷 경로로 전송됩니다. | +| 프라이빗 엔드포인트를 통한 인바운드 연결 | 지원하지 않음 | 이번 미리 보기에서는 아웃바운드 방향만 제어합니다. | ### 설정 절차 1. 에이전트 포털에서 **설정 > 작업 영역 구성 > 네트워킹** 탭을 엽니다. 2. 네트워크 제어 모드로 **Azure VNet**을 선택합니다. 3. 서브넷 찾아보기에서 구독, 리소스 그룹, 가상 네트워크, 서브넷을 순서대로 선택하고 연결합니다. -4. 연결하면 **Use VNet's private DNS** 옵션이 자동으로 켜집니다. 이 옵션을 사용하면 에이전트가 사설 엔드포인트 호스트 이름을 확인할 수 있습니다. -5. 사설 엔드포인트 확인이 정상적으로 동작하려면 VNet에 관련 Azure Private DNS 영역을 연결해야 합니다. Log Analytics에는 `privatelink.ods.opinsights.azure.com`, Key Vault에는 `privatelink.vaultcore.azure.net` 영역을 연결하세요. DNS를 구성하지 않으면 에이전트가 공개 엔드포인트로 돌아가거나 연결에 실패할 수 있습니다. +4. 연결하면 **Use VNet's private DNS** 옵션이 자동으로 켜집니다. 이 옵션을 사용하면 에이전트가 프라이빗 엔드포인트 호스트 이름을 확인할 수 있습니다. +5. 프라이빗 엔드포인트 확인이 정상적으로 동작하려면 VNet에 관련 Azure Private DNS 영역을 연결해야 합니다. Log Analytics에는 `privatelink.ods.opinsights.azure.com`, Key Vault에는 `privatelink.vaultcore.azure.net` 영역을 연결하세요. DNS를 구성하지 않으면 에이전트가 공개 엔드포인트로 돌아가거나 연결에 실패할 수 있습니다. 6. 인프라 네트워크 토글에서 원격 MCP 서버, 패키지 레지스트리, 코드 저장소, 추가 호스트 중 공개 인터넷 경로를 허용할 항목을 선택합니다. 7. 저장한 뒤 공개 접근을 차단한 프라이빗 엔드포인트 리소스(예: 공개 접근을 비활성화한 Log Analytics 작업 영역)를 조사하도록 요청해 실제로 VNet 경로로 연결되는지 확인하세요. @@ -466,6 +475,12 @@ VNet을 연결한 뒤에 구성을 바꿀 때는 다음 순서를 지켜야 합 - 송신 모드를 바꾸려면 먼저 VNet 연결을 해제해야 합니다. VNet이 연결되어 있는 동안에는 Unrestricted와 Limited 모드 카드가 비활성화되어 선택할 수 없습니다. - 서브넷을 바꿀 때도 VNet 연결을 해제한 뒤 새 서브넷으로 다시 연결해야 합니다. +### 인프라 네트워크 토글은 과도기 수단입니다 + +GitHub는 Azure 서비스가 아니어서 서비스 태그를 제공하지 않고, PyPI와 npm, NuGet, 컨테이너 레지스트리처럼 널리 쓰이는 공개 서비스도 전 세계에 걸친 IP 대역이 자주 바뀝니다. 계층 4 IP 기반 방화벽만으로는 이런 대상의 주소 목록을 최신 상태로 유지하기 어렵고, 목록이 오래되면 에이전트가 필요한 서비스에 도달하지 못합니다. 인프라 네트워크 토글은 이런 대상에 플랫폼 송신 경로로 도달하도록 열어 주는 설정입니다. + +다만 이 토글은 호스트 이름이나 FQDN을 인식하는 송신 필터링을 대신하지 않습니다. FQDN 규칙을 지원하는 Azure Firewall Premium이나 TLS 검사를 지원하는 네트워크 가상 어플라이언스로 옮겨 가는 동안 한시적으로 사용하는 과도기 수단으로 다루고, 네트워크 팀이 방화벽 규칙을 갱신하면 열어 둔 범위를 다시 좁히세요. + ### 패키지 레지스트리 대신 미리 설치를 사용할 수 있습니다 에이전트가 조사 중에 실행하는 스크립트가 특정 패키지를 필요로 한다면, 패키지 레지스트리 토글을 켜서 인프라 네트워크로 우회하는 대신 샌드박스 기본 이미지에 필요한 패키지를 미리 설치할 수 있습니다. 이렇게 하면 실행할 때마다 패키지가 준비된 상태로 제공되므로 공개 레지스트리로 나가는 경로를 열지 않아도 됩니다. @@ -495,10 +510,15 @@ VNet을 연결한 뒤에 구성을 바꿀 때는 다음 순서를 지켜야 합 Zscaler를 비롯한 일부 사내 프록시는 `*.azuresre.ai`를 기본적으로 차단합니다. 포털이 열리지 않거나 대화 화면이 응답하지 않는다면 이 도메인을 허용 목록에 추가하고, 프록시가 WebSocket 연결을 막고 있지 않은지 확인하세요. 브라우저 확장 프로그램의 영향을 배제하려면 시크릿 창에서도 확인해 보세요. +### 네트워크가 호출을 차단하면 어떻게 되나요? + +NSG 규칙에 막히거나 경로가 없어 아웃바운드 요청이 거부되면, 에이전트는 같은 서브넷의 다른 워크로드가 받는 것과 똑같은 네트워크 오류를 받습니다. 이때 에이전트는 실패한 사실을 조사 결과에 그대로 남기고(예: Log Analytics 작업 영역에 연결하지 못하고 시간이 초과됐다는 메시지) 접근할 수 있는 도구와 데이터로 조사를 이어 갑니다. 꼭 필요한 데이터 원본에 접근하지 못하면 조사 결과가 완전하지 않다는 사실도 함께 알려 줍니다. + ### 알아두어야 할 제한 사항과 거버넌스 - VNet 통합은 아웃바운드 트래픽만 제어하며, 프라이빗 엔드포인트를 통한 인바운드 연결은 이번 미리 보기에서 지원하지 않습니다. - Azure Policy를 적용해 인프라 네트워크 토글 자체를 제한하거나 비활성화할 수 있어 담당자가 임의로 VNet 밖으로 트래픽을 우회하지 못하도록 통제할 수 있습니다. +- 네트워크 제어 설정을 변경할 수 있는 권한은 SRE Agent Administrator 역할을 가진 사용자로 제한됩니다. 관리 ID, 사용자 위임 자격 증명, Azure RBAC 권한과 함께 네트워크 구성을 묶어서 거버넌스를 설계하세요. - Key Vault 방화벽 허용은 VNet 통합과 별개의 절차입니다. 인증서 기반 커넥터가 Key Vault에 접근해야 한다면 에이전트 포털의 설정 화면에서 아웃바운드 IP 주소를 확인한 뒤 Key Vault 방화벽의 허용 목록에 각 IP 주소를 개별적으로 추가해야 합니다. 자세한 절차는 다음 자료를 참고하세요. @@ -538,7 +558,7 @@ Agent Hooks를 사용하면 에이전트가 결과를 반환하기 직전이나 이 지표는 왼쪽 사이드바의 Operations Hub 개요 탭에서 한 화면으로 확인할 수 있습니다. -![Operations Hub 개요 탭 화면입니다. 왼쪽 사이드바에는 조사 대화, 인시던트, 예약 작업, Builder, 모니터, 기능, 설정 메뉴가 있고, 오른쪽 본문에는 개요와 분석, 자동화 탭, 최근 7일 기간 선택, 원본별 일일 처리량 차트, 대기 중인 작업 41건 카드, 시스템 상태 카드가 배치되어 주요 지표를 한 화면에서 보여 줍니다.](sre-agent-event-lab/assets/official/operations-hub-overview-tab.png) +![Operations Hub 개요 탭 화면입니다. 왼쪽 사이드바에서는 Operations Hub 항목이 선택되어 강조되어 있고 그 아래로 인시던트, 예약 작업, Builder, 모니터, 기능, 설정 메뉴가 이어집니다. 오른쪽 본문에는 개요와 인시던트 분석, 자동화 탭이 있고 기간은 최근 7일로 지정되어 있으며, 원본별 일일 처리량을 선택한 차트 영역에는 값이 그려지지 않고 선택한 기간에 표시할 데이터가 없다는 안내만 나타납니다. 그 아래에는 대기 중인 작업 41건 카드와 실시간 시스템 상태 카드가 놓여 주요 지표를 한 화면에서 확인할 수 있습니다.](sre-agent-event-lab/assets/official/operations-hub-overview-tab.png) > 출처: [Operations Hub](https://learn.microsoft.com/azure/sre-agent/operations-hub) From cd982fecc915c5d5b233ce24cd8d5a88e368fe2a Mon Sep 17 00:00:00 2001 From: hellices Date: Fri, 14 Aug 2026 09:56:54 +0900 Subject: [PATCH 9/9] test(sre-agent): exclude block-level star markers from emphasis lint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix review comment 3780214116: unrendered_emphasis_markers() treated CommonMark block-level `*` markers (list bullets like `* 항목`, and thematic breaks like `***`/`* * *`) as unclosable inline emphasis delimiters, since a lone `*` at a bullet position is neither left- nor right-flanking under the delimiter-run rules. Added test_emphasis_lint_ignores_block_level_star_markers, first captured RED against the unmodified lint, covering a valid Korean bullet, an indented bullet, an unindented bullet, and a thematic break. Fix: skip whole lines that are CommonMark thematic breaks, and skip individual `*` matches that are CommonMark list bullet markers (single `*`, <=3 spaces of indent, followed by whitespace or end of line) before running the flanking-delimiter scan. Genuine unclosable inline emphasis (including the Korean glued-particle case) is still caught; all previously passing assertions are unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../scripts/tests/test_briefing_docs.py | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py index dbbe0825..ffff4452 100644 --- a/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py +++ b/monitor/sre-agent-event-lab/scripts/tests/test_briefing_docs.py @@ -64,6 +64,24 @@ def _is_unicode_whitespace(char) -> bool: return char is None or char.isspace() +_THEMATIC_BREAK = re.compile(r" {0,3}(?:\*[ \t]*){3,}") + + +def _is_list_bullet_marker(line: str, match) -> bool: + """True when `match` is a CommonMark ``*`` list bullet, not a delimiter run. + + A single ``*`` starts a list item (and is never an emphasis delimiter) + when it sits at up to 3 spaces of line indentation and is followed by + whitespace or the end of the line — e.g. ``* 항목`` or `` * item``. + """ + if match.group() != "*": + return False + if not re.fullmatch(r" {0,3}", line[: match.start()]): + return False + after = line[match.end() : match.end() + 1] + return after in ("", " ", "\t") + + def unrendered_emphasis_markers(markdown: str) -> list: """Emphasis runs GitHub prints literally instead of rendering as bold/italic. @@ -73,11 +91,19 @@ def unrendered_emphasis_markers(markdown: str) -> list: is not right-flanking, so it can never close emphasis and GitHub shows the raw asterisks to the reader. This is a general rule check, not a check for one known sentence. + + Block-level ``*`` markers — a list bullet (``* 항목``) or a thematic break + line (``***``, ``* * *``) — are CommonMark structure, not inline emphasis + delimiters, so they are excluded from the scan before it runs. """ offenders = [] for number, line in enumerate(strip_code(markdown).splitlines(), start=1): + if _THEMATIC_BREAK.fullmatch(line): + continue open_runs = [] for match in re.finditer(r"\*+", line): + if _is_list_bullet_marker(line, match): + continue before = line[match.start() - 1] if match.start() else None after = line[match.end()] if match.end() < len(line) else None left_flanking = not _is_unicode_whitespace(after) and ( @@ -222,6 +248,21 @@ def test_emphasis_lint_catches_markers_that_commonmark_leaves_literal(): assert unrendered_emphasis_markers("**Azure VNet**을 선택합니다.") == [] +def test_emphasis_lint_ignores_block_level_star_markers(): + """CommonMark block-level `*` markers are not emphasis delimiters. + + A `*` that starts a list item, or a line of 3+ `*` that forms a + thematic break, must never be reported as an unclosable emphasis + delimiter even though it is neither left- nor right-flanking under the + inline delimiter-run rules. + """ + assert unrendered_emphasis_markers("* 항목") == [] + assert unrendered_emphasis_markers(" * item") == [] + assert unrendered_emphasis_markers("* item") == [] + assert unrendered_emphasis_markers("***") == [] + assert unrendered_emphasis_markers("* * *") == [] + + def test_briefing_does_not_repeat_substantive_body_sentences(): sentences = body_sentences(BRIEFING.read_text()) counts = Counter(sentences)