cloudflare-access

9 개의 포스트

cloudflare

모든 내부 바이브 코딩 애플리케이션을 한 번의 클릭으로 안전하게 보호하세요 (새 탭에서 열림)

AI로 애플리케이션 개발·배포가 쉬워진 만큼, 직원이 실수로 내부 애플리케이션이나 데이터를 인터넷에 노출할 위험도 커졌다. Cloudflare는 이를 막기 위해 Workers에 Cloudflare Access를 직접 연결해, 애플리케이션 코드나 개발자의 설정에 의존하지 않고 기본적으로 인증을 강제할 수 있도록 했다. 계정 전체, 개별 Worker, 프리뷰 환경에 정책을 적용하고, 코드에서는 별도의 JWT 검증 없이 인증 사용자 정보를 사용할 수 있다. ## Worker 단위로 적용하는 Cloudflare Access - Access를 Worker에 활성화하면 요청이 애플리케이션 코드에 도달하기 전에 인증이 수행된다. - 다음과 같은 접근 경로를 모두 보호할 수 있다. - 커스텀 도메인 - 라우트 - `workers.dev` 서브도메인 - 프리뷰 URL - 기존에는 호스트 이름별로 Access 정책을 설정해야 했기 때문에 새 도메인을 추가할 때마다 정책도 갱신해야 했다. - 이제 정책이 호스트 이름이 아닌 Worker에 연결되므로, 해당 Worker에 연결된 새 도메인과 URL도 자동으로 보호된다. - 보호 범위는 다음 중에서 선택할 수 있다. - 프리뷰 URL만 보호 - 모든 호스트 이름 보호 - 기존 IdP를 연결하거나 특정 이메일 주소, 도메인, 그룹만 허용할 수 있으며, 에이전트에는 서비스 토큰을 사용할 수 있다. ## 계정 전체의 Worker를 기본적으로 비공개 처리 - 계정 수준에서 Access 정책을 설정하면 현재 및 향후 생성되는 모든 Worker가 기본적으로 비공개가 된다. - 정책 적용 범위는 다음과 같이 선택할 수 있다. - 프리뷰 트래픽만 - 프로덕션 트래픽만 - 프리뷰와 프로덕션 모두 - 프로덕션은 공개해야 하지만 개발 중인 배포는 노출되면 안 되는 경우, 프리뷰 전용 정책이 유용하다. - 특정 Worker를 공개해야 한다면 계정 전체 정책을 해당 Worker에서 우회할 수 있다. ## 개별 Worker 정책과 우선순위 - 계정 전체를 잠그지 않고 특정 애플리케이션만 보호하는 것도 가능하다. - Worker 화면의 새로운 Access 탭에서 해당 애플리케이션에 적용되는 정책을 확인할 수 있다. - 여러 정책이 겹칠 경우 우선순위는 다음과 같다. 1. 호스트 이름 정책 2. Worker 정책 3. 계정 정책 ## 코드에서 인증 사용자 정보 확인 - Access가 Worker를 보호하면 요청의 `ctx` 객체에 인증 사용자 정보가 포함된다. - `ctx.access.getIdentity()`를 호출해 다음 정보를 얻을 수 있다. - 이메일 - 이름 - 그룹 - 기존에는 JWT를 직접 파싱하고 서명을 검증한 뒤 클레임을 추출해야 했지만, 이제는 Worker에서 바로 identity 객체를 사용할 수 있다. ```js export default { async fetch(request, env, ctx) { if (!ctx.access) { return new Response("Access required", { status: 403 }); } const identity = await ctx.access.getIdentity(); const email = identity?.email ?? "unknown"; return new Response(`Hello, ${email}`); } }; ``` - 사용자별 화면 구성, 권한 검사, 사용자 단위 감사 로그 등에 활용할 수 있다. ## 로컬 개발 환경에서 인증 사용자 시뮬레이션 - 배포 전에 `wrangler dev`에서 Access 사용자 정보를 테스트할 수 있다. - `wrangler.jsonc`에 개발용 Access identity를 설정한다. ```json { "access": { "dev": { "aud": "my-app", "identity": { "email": "admin@company.com" } } } } ``` - 로컬 요청에서도 `ctx.access.getIdentity()`가 프로덕션과 유사한 identity 객체를 반환한다. - 이메일 주소를 바꿔가며 사용자별 콘텐츠와 권한 동작을 배포 없이 검증할 수 있다. ## 내부 애플리케이션 플랫폼 보호 - Workers for Platforms를 이용하면 여러 애플리케이션을 대규모로 배포할 수 있다. - 각 Worker가 네임스페이스에 배포되고, 모든 요청은 하나의 dispatch Worker를 거친다. - dispatch Worker에 Access 정책을 한 번만 설정하면 이를 통해 배포되는 모든 Worker가 기본적으로 비공개가 된다. - 내부 드래그 앤 드롭 배포 플랫폼처럼 직원용 애플리케이션 플랫폼을 구축할 때 유용하다. ## FL2 기반 요청 처리 구조 - Worker 단위 Access 적용은 Cloudflare의 Rust 기반 모듈형 프록시인 FL2를 기반으로 한다. - Access가 실행되기 전에 요청이 어느 Worker로 라우팅될지 알아야 하므로, Workers 라우팅과 실행 로직을 분리해야 했다. - 라우팅을 Access보다 앞 단계로 이동함으로써 호스트 이름이 아니라 개별 Worker를 기준으로 인증 정책을 적용할 수 있게 되었다. - 기존 NGINX·Lua 기반 FL1 구조에서는 요청 파이프라인의 로직을 앞 단계로 옮기는 작업이 복잡하고 위험할 수 있었지만, FL2가 이를 가능하게 했다. 개발 조직에서는 계정 수준에서 프리뷰 배포를 우선 보호하고, 공개가 필요한 Worker만 명시적으로 예외 처리하는 방식이 실용적이다. 내부 플랫폼을 운영한다면 dispatch Worker에 Access를 적용해 새로 배포되는 모든 애플리케이션을 비공개 상태로 시작하는 것이 안전하다.

cloudflare

Cloudflare AI 검색: 에이전트에게 데이터 검색 엔진을 제공하세요 (새 탭에서 열림)

Cloudflare AI Search는 Workers AI, AI Gateway, Vectorize, R2, Browser Run 등을 직접 조합하지 않아도 에이전트용 검색 엔진을 구축할 수 있도록 개발자 경험을 개선했다. 웹사이트와 파일을 쉽게 색인하고, 여러 데이터 소스를 하나의 검색 엔드포인트나 MCP 엔드포인트로 통합할 수 있으며, 임베딩과 재순위화 비용은 일부 기본 모델 사용 시 무료다. Cloudflare는 이를 자사 문서·블로그·개발자 생태계 검색과 Dev Stack MCP에 실제로 적용하고 있다. ### 에이전트용 데이터 색인 - 구조화·비구조화 데이터를 AI 에이전트가 검색할 수 있도록 색인한다. - 개별 파일뿐 아니라 소유권을 확인할 수 있는 웹사이트도 데이터 소스로 사용할 수 있다. - AI Search가 웹 크롤링, 데이터 수집, 임베딩, 검색 결과 반환 과정을 처리한다. - 현재는 Cloudflare 계정에 등록된 zone이어야 하며, 향후 소유권 확인 방식이 확대될 예정이다. ### 사이트맵 없이 웹사이트 검색 구축 - 기존에는 웹사이트 연동에 sitemap이 필요했다. - 이제 `Discover` 파싱 옵션을 사용하면 sitemap이 없는 사이트도 링크를 따라가며 페이지를 발견하고 색인할 수 있다. - 내부적으로 Browser Run의 `/crawl` 기능을 활용해 페이지를 탐색한다. - Wrangler 명령어 예시는 다음과 같다. ```bash npx wrangler ai-search instance create cloudflare-community \ --namespace dev-stack \ --source https://community.cloudflare.com \ --type web-crawler \ --parse-type discover ``` ### 여러 검색 인스턴스를 하나로 통합 - 하나의 namespace 안에 여러 웹사이트나 데이터 인스턴스를 구성할 수 있다. - `/search`와 `/mcp` 공개 엔드포인트를 활성화하면 여러 인스턴스를 한 번에 검색할 수 있다. - 별도 Worker를 작성하지 않고도 여러 소스를 대상으로 통합 검색을 제공할 수 있다. - 검색 결과에는 출처 인스턴스 정보와 인용 가능한 청크가 포함된다. ### Worker와 MCP를 통한 검색 연동 - 기존 애플리케이션이나 MCP 서버에 검색 기능을 포함하려면 namespace를 Worker에 바인딩한다. - Worker에서는 `AI_SEARCH.search()`를 호출하고, `instance_ids`로 검색 대상들을 지정한다. - `max_num_results`로 결과 수를 제한하고 `reranking.enabled`로 재순위화를 활성화할 수 있다. - Cloudflare Dev Stack MCP는 이 방식을 사용해 Docs, Blog, API Docs, Community, Astro, Vite, Vitest, Hono, Replicate, OpenNext 등 여러 표면을 한 번에 검색한다. ```json { "ai_search_namespaces": [ { "binding": "AI_SEARCH", "namespace": "cloudflare-stack" } ] } ``` - 간단히 공유 가능한 검색 URL만 필요하다면 Worker 대신 공개 엔드포인트를 활성화하면 된다. ### 공개 엔드포인트와 사용자 도메인 - namespace에 공개 URL을 활성화하면 다음 엔드포인트가 제공된다. - `/search`: 일반 검색 API - `/mcp`: MCP 클라이언트와 에이전트 연동용 엔드포인트 - 기본 공개 URL 대신 `search.example.com/mcp`처럼 사용자 정의 도메인을 연결할 수 있다. - Cloudflare Access를 도메인 앞에 배치하면 공개 엔드포인트를 인증 기반의 비공개 검색 서비스로 전환할 수 있다. ### 예측 가능한 가격 모델 - AI Search는 임베딩 및 재순위화 비용을 포함하는 방향으로 가격 모델을 설계했다. - Workers AI 카탈로그의 일부 기본 모델을 사용하면 임베딩과 재순위화가 무료다. - 토큰 수를 직접 계산해 비용을 예측해야 하는 부담을 줄이고, 데이터 규모가 커져도 비용을 예측하기 쉽게 만드는 것이 목표다. - 가격은 현재 프리뷰 단계다. ### EmDash와 Cloudflare 서비스에 적용 - Cloudflare의 오픈소스 CMS인 EmDash에는 AI Search 플러그인을 추가할 수 있다. - 이 플러그인은 EmDash로 구축한 사이트 콘텐츠에 의미 기반 검색을 제공한다. - Cloudflare는 AI Search를 Blog, Developer Docs, Cloudflare.com, EmDash 기반 사이트 등에 실제 검색 기능으로 사용하고 있다. ### Cloudflare Dev Stack MCP 사례 - Dev Stack MCP는 Cloudflare 개발자 생태계 전체에서 최신 문서를 검색해 코딩 에이전트에 제공한다. - 검색 결과에 출처와 인용 정보가 포함되어 최신 기능과 수정 사항을 반영할 수 있다. - 기존처럼 웹 검색 후 여러 페이지를 직접 가져오는 방식보다 빠르고, 토큰 사용량이 적으며, 오래되거나 부정확한 문서를 선택할 가능성이 낮다. - MCP 설정에 다음 URL을 추가하면 에이전트에서 사용할 수 있다. ```json { "mcpServers": { "dev-stack": { "url": "https://stack.mcp.cloudflare.com/mcp" } } } ``` Cloudflare AI Search는 여러 Cloudflare 서비스를 직접 연결해야 했던 검색 구축 과정을 단순화하고, 웹사이트·문서·MCP를 하나의 검색 계층으로 묶는 데 초점을 둔다. 기존 애플리케이션에 통합하려면 Worker 방식을, 빠르게 공유 가능한 검색 기능이 필요하면 공개 `/search` 또는 `/mcp` 엔드포인트를 선택하는 것이 적합하다.

cloudflare

Cloudflare OS로 Cloudflare의 업무 방식을 재구상하는 방법 (새 탭에서 열림)

Cloudflare는 AI 에이전트가 업무 방식을 크게 바꿀 만큼 발전했지만, 생산 시스템과 내부·고객 데이터에 대한 통제가 함께 필요하다고 판단했다. 이를 위해 사내 AI 플랫폼인 **Cloudflare OS**를 구축하고, 인간의 책임·최소 권한·조직 맥락 활용을 핵심 원칙으로 삼았다. 엔지니어에게는 코드 품질과 보안을 위한 가드레일을 제공하고, 비엔지니어에게는 개발 도구가 아닌 업무 중심의 직관적인 인터페이스를 제공하려 했다. ## AI 확산과 거버넌스의 필요성 - 영업팀 직원이 AI로 여러 시스템의 API 키와 배포 파이프라인 관리자 권한을 요구하는 “SuperApp”을 만든 것이 문제의 출발점이었다. - 초기에는 정보 검색용 챗봇과 코드 작성 보조 정도로 AI를 제한했지만, 더 강력한 모델과 에이전트 도구가 등장하면서 상황이 급변했다. - 기술·비기술 직군 모두가 AI를 활용해 업무를 자동화하려 했고, 회사는 생산성을 지원하면서도 다음 자산을 보호해야 했다. - 내부 시스템 - 조직 데이터 - 고객 데이터 - 배포 및 운영 환경 - Cloudflare는 Workers, Access 등 기존 개발자·Zero Trust 제품을 조합하고 맞춤형 서비스를 추가해 Cloudflare OS를 구축했다. ## AI 도입을 위한 다섯 가지 원칙 ### 고객 문제 해결이 출발점 - AI를 사용하는 것 자체를 목표로 삼지 않는다. - 먼저 “해야 할 일(jobs to be done)”과 업무의 병목, 고객 대응의 개선 지점을 정의한다. - 그 다음 문제에 적합한 AI 도구를 선택한다. ### 모든 직원에게 도구를 제공 - 초기 AI 에이전트는 터미널, 코드 에디터, Git 저장소 등 개발자 중심의 인터페이스에 집중됐다. - 하지만 모든 직원이 개발 도구를 사용할 필요는 없다. - 직원은 자신의 도메인 전문성을 제공하고, 회사는 누구나 사용할 수 있는 직관적인 플랫폼을 제공해야 한다. ### AI 결과물은 인간이 책임진다 - AI를 팀원으로 간주하지 않고 도구와 도구 제작자로 본다. - AI 결과물의 품질 기준, 테스트 방법, 업무 흐름을 정의하고 검증하는 책임은 사람에게 있다. - 에이전트를 만든 사람이 회사를 떠나면 관리자가 해당 에이전트의 책임을 이어받는다. ### 모델보다 조직 맥락이 중요하다 - Cloudflare용 에이전트는 일반적인 지식뿐 아니라 Cloudflare의 정책, 업무 방식, 시스템 구조를 이해해야 한다. - 따라서 모델 성능 향상과 함께 신뢰할 수 있고 정제된 조직 지식 계층을 구축해야 한다. ### AI 사용 시 권한을 확대하지 않는다 - AI를 통해 시스템 원장에 접근할 때 사용자가 기존보다 더 많은 권한을 가져서는 안 된다. - 에이전트는 업무에 필요한 최소 권한만 가져야 한다. - 에이전트를 다른 사람과 공유할 때도 제작자의 권한이 아니라 사용하는 사람의 권한을 적용해야 한다. - 기존의 역할·기기·지역별 접근 제어와 서드파티 애플리케이션의 보안 설정도 AI 에이전트에 동일하게 적용해야 한다. ## 엔지니어를 위한 가드레일: Engineering Codex - AI가 코드를 매우 빠르게 작성하면서 기존 코드 리뷰 프로세스가 따라가지 못했고, 잘못된 코드도 더 빠르게 생성되는 문제가 생겼다. - Cloudflare는 엔지니어링 원칙과 모범 사례를 담은 권위 있는 가이드인 **Cloudflare Engineering Codex**를 만들었다. - Codex는 단순히 금지 목록을 제시하는 정책이 아니라, 각 영역에서 “어떻게 해야 좋은가”를 제시하는 의견이 반영된 기준이다. - 코드베이스의 각 영역에는 품질 기준에 책임을 지는 도메인 오너가 있다. - Codex는 소프트웨어 개발 생명주기 전반에 적용된다. - 작업 계획 검토 - 기술 설계 검토 - Merge Request 검토 - 장애 보고서 검토 - 최근 4개월 동안 관련 에이전트는 약 25만 건의 잠재적 문제를 발견했고, 1만 6천 건의 병합을 차단했다. - 구현이 시작되기 전 약 600건의 설계에서 아키텍처 문제를 찾아냈다. - 다음 단계는 에이전트가 생성한 결과물을 평가하는 평가 루프를 엔지니어들이 직접 정의할 수 있도록 지원하는 것이다. ## 비엔지니어를 위한 접근 방식의 전환 - 초기에는 엔지니어용 도구에 더 친절한 사용자 인터페이스만 입힌 방식으로 비엔지니어를 지원하려 했다. - 그러나 코드 저장소를 복제하고 `AGENTS.md` 같은 컨텍스트 파일을 추가하는 개발자 중심 방식은 비정형 지식 업무와 잘 맞지 않았다. - 비엔지니어의 업무는 다음과 같은 특징이 있다. - 일회성 결과물을 자주 만든다. - 여러 시스템 원장의 데이터를 함께 사용한다. - 명확한 코드 저장소나 반복 가능한 개발 프로젝트가 없는 경우가 많다. - 개발용 에이전트 환경을 그대로 제공하면 실제 문제보다 더 많은 “바이브 코딩” 앱이 만들어지는 문제가 발생했다. - Cloudflare는 이 접근이 잘못되었음을 인정하고, 사용자가 직접 도구를 조립하게 하기보다 원하지 않는 업무를 “매직 AI 이메일 봇”에 보내도록 하는 업무 중심 인터페이스로 방향을 전환했다. Cloudflare의 경험은 AI 도입에서 모델 선택보다 **권한 설계, 조직 지식의 구조화, 인간의 책임, 사용자별 인터페이스**가 더 중요할 수 있음을 보여준다. 특히 에이전트는 기존 사용자의 권한을 넘지 않도록 설계하고, 직군별 업무 방식에 맞는 도구를 제공하는 것이 안전하고 지속 가능한 도입의 핵심이다.

cloudflare

신원 인식형 분석으로 통제 불능 AI 행동 포착하기 (새 탭에서 열림)

AI 사용량의 이상 징후를 파악하려면 요청마다 검증된 사용자·에이전트 신원과 각 계정의 정상적인 사용 기준선이 필요하다. Cloudflare는 AI Gateway와 Cloudflare Access를 결합해 요청별 신원을 확인하고, User Insights로 계정별 사용 패턴에서 벗어난 행동을 탐지한다고 밝혔다. 이를 통해 비용 관리뿐 아니라 과도한 사용이나 악성·오작동 에이전트 탐지까지 가능하게 한다. ## AI Gateway를 통한 중앙 관리 - AI Gateway는 OpenAI, Anthropic, Google, Workers AI 등 여러 모델로 향하는 요청을 하나의 제어 지점으로 통합한다. - 애플리케이션뿐 아니라 Claude Code, Codex, GitHub Copilot 같은 개발자용 에이전트도 동일한 관찰·보안·거버넌스 정책을 적용할 수 있다. - 모든 AI 트래픽을 한곳에서 분석하므로 비용, 모델 사용량, 접근 제어를 통합 관리할 수 있다. ## Cloudflare Access 기반의 신원 확인 - AI Gateway 앞에 사용자 정의 도메인을 두고 Cloudflare Access로 보호할 수 있다. - Okta, Entra 등 SAML을 지원하는 ID 공급자를 이용해 인증하며, 별도의 Cloudflare API 키를 배포할 필요가 없다. - 인증된 요청에는 사용자의 Access ID가 `cf.user_id` 메타데이터로 포함된다. - 관리자는 실제 요청자를 기준으로 로그, 분석 데이터, 비용을 필터링할 수 있다. - 공유 API 키 때문에 누가 얼마나 사용했는지 알기 어려웠던 문제를 해결한다. ## 사용자별 비용 한도와 정책 - `cf.user_id`를 기반으로 사용자마다 독립적인 예산 한도를 설정할 수 있다. - 한도에 도달하면 요청을 차단하거나 더 저렴한 모델로 자동 전환할 수 있다. - 향후 ID 공급자의 그룹 정보와 연동해 팀별로 모델 접근 권한과 지출 한도를 설정할 예정이다. - 머신러닝 팀에는 최고급 모델 허용 - 지원팀에는 지출 상한 적용 - 특정 프로젝트 구성원에게 공동 예산 할당 ## User Insights의 역할 - User Insights는 AI Gateway를 통과하는 기존 트래픽을 별도 설정 없이 분석한다. - 사람과 에이전트 각각의 평소 행동 패턴을 학습하고, 그 패턴에서 벗어난 계정을 보여준다. - 비용뿐 아니라 캐시 적중률이 낮거나 컨텍스트 윈도우가 과도하게 큰 등 비용 낭비 요인도 추적한다. - 단순히 “많이 사용했는가”가 아니라 “그 계정의 평소 사용 방식과 다른가”를 판단하는 데 초점을 둔다. ## 사람과 에이전트별 행동 기준선 - 계정은 사용자든 에이전트든 시간에 따라 고유한 행동 패턴을 만든다. - 일정한 간격으로 티켓을 요약하는 에이전트와, 프롬프트·세션 길이가 불규칙한 사람은 정상 패턴이 다르다. - 따라서 모든 계정에 동일한 절대 비용 기준을 적용하면 오탐이 많아진다. - 평소 비용이 큰 사용자의 500달러 지출은 정상일 수 있다. - 평소 5달러를 쓰는 에이전트의 50달러 세션은 10배 증가한 이상 징후일 수 있다. ## 세션 비용 기반 이상 탐지 - User Insights는 개별 요청이 아니라 세션 단위로 비용을 평가한다. - 최근 30일 동안 해당 계정의 세션 비용 p95를 개인 기준선으로 사용한다. - 세션 비용이 개인 p95의 2배를 초과하면 이상 행동 후보로 분류한다. - 단, 상대적 급증만으로는 부족하므로 조직 전체 세션 비용의 p99도 함께 사용한다. - 최종적으로 다음 조건을 모두 만족하는 세션만 경고 대상이 된다. - 해당 계정의 최근 기준선보다 2배 이상 비쌈 - 조직 전체 세션 중 가장 비싼 1% 수준에 해당함 - 절대 비용 하한선도 적용해, 소액 사용자의 몇 센트짜리 급증이 불필요한 경고를 발생시키지 않도록 한다. ## 동적으로 갱신되는 기준선 - 기준선은 고정값이 아니라 계정의 최근 사용 습관에 따라 계속 변한다. - 계정의 rolling p95와 2배 임계값이 이동하므로 현재 행동에 맞는 경고가 가능하다. - 정상적인 고사용자 활동은 제외하고, 평소 패턴을 깨면서도 실제 조사 가치가 있는 고비용 세션만 추린다. - 결과적으로 관리자는 정상 트래픽을 모두 살펴보는 대신, 의심스러운 계정 중심의 “rogue behavior feed”를 확인할 수 있다. ## 보안과 비용 관리의 결합 - 이상 사용은 새로운 도구나 명백히 차단된 행동으로 나타나지 않을 수 있다. - 이미 권한을 가진 계정이나 서비스 계정이 허용된 작업을 평소보다 훨씬 많이 수행하는 방식으로 나타날 수 있다. - 따라서 사용자 신원 확인과 행동 기준선 분석을 함께 적용해야 비용 폭증과 보안 위험을 동시에 발견할 수 있다. 실무적으로는 모든 AI 요청을 AI Gateway로 통합하고, Cloudflare Access로 개인·에이전트 신원을 연결한 뒤, 사용자별 예산과 User Insights의 상대적 기준선을 함께 활용하는 방식이 권장된다.

cloudflare

WriteGuard: MCP 서버를 위한 세밀한 제어 (새 탭에서 열림)

AI 에이전트가 외부 시스템에 쓰기 권한을 가지면, 잘못된 프롬프트 하나만으로 사람의 작업 속도를 훨씬 뛰어넘는 대규모 변경을 일으킬 수 있다. Cloudflare는 에이전트별 설정이나 사용자의 감시에 의존하지 않고, MCP 도구 호출을 중앙에서 정책 적용·식별·감사하기 위해 WriteGuard를 구축했다. WriteGuard는 인간 사용자의 권한은 유지하면서 에이전트 세션을 별도로 추적하고, 위험도에 따라 작업을 허용·기록·차단한다. ## MCP의 구조와 에이전트 동작 방식 - MCP(Model Context Protocol)는 AI 애플리케이션이 외부 도구와 데이터에 연결되도록 하는 표준이다. - MCP 서버는 다음 요소를 가진 도구를 제공한다. - 도구 이름 - 설명 - 입력 스키마 - 실제 작업을 수행하는 핸들러 - 에이전트가 도구를 선택하면 MCP 클라이언트가 서버에 호출을 보내고, 서버가 Jira·GitLab·데이터베이스 등 downstream 시스템과 상호작용한다. - 따라서 도구에 쓰기 권한이 부여되면 에이전트가 외부 시스템의 상태를 직접 변경할 수 있다. ## 무제한 쓰기 권한의 위험 - 잘못 작성된 정리 작업 프롬프트가 수천 개의 티켓을 자동으로 닫을 수 있다. - 사람이 직접 수행한 작업과 에이전트가 수행한 작업이 동일한 사용자 계정으로 기록되면 원인 분석과 복구가 어려워진다. - 여러 에이전트 세션이 동시에 실행되면 네트워크 로그만으로 특정 세션을 식별하기 어렵다. - 위험한 사례는 다음과 같다. - 계약 소프트웨어의 계약 내용 변경 - 고객지원 큐에 대량 답변 전송 - 데이터베이스 테이블 전체 삭제 - Cloudflare는 모든 사용자가 에이전트를 완벽하게 설정하거나 모든 도구 호출을 감시할 수 없다고 판단했다. ## Cloudflare의 MCP 확장 - Cloudflare의 내부 에이전트는 OpenCode, Cloudflare OS, 장기 실행 에이전트 서비스 등을 통해 MCP를 사용한다. - 내부 MCP 포털이 여러 서버를 통합하며, 연결된 서버 수는 13개에서 27개로 증가했다. - 초기에는 Jira, GitLab, 위키, 운영 시스템 등을 조회하는 읽기 전용 서버로 시작했다. - 이후 엔지니어링·제품·디자인·영업·고객 성공팀에서 실제 변경 작업을 수행하는 도구를 요구했다. - 클라이언트의 skill이나 elicitation prompt만으로는 통제가 어렵기 때문에 중앙 정책 계층인 WriteGuard를 도입했다. ## WriteGuard의 역할 - WriteGuard는 MCP 서버와 도구 호출 사이에 위치하는 공통 계층이다. - 도구 설정과 요청 컨텍스트를 바탕으로 호출을 다음과 같이 처리한다. - 호출을 그대로 통과 - 에이전트 식별 정보를 추가한 뒤 통과 - 감사 이벤트를 생성 - 핸들러 실행 전에 호출 차단 - WriteGuard는 다음 기능을 하나의 장소에서 제공한다. - 도구별 정책 관리 - 사용자 및 에이전트 신원 연결 - downstream 시스템에 에이전트 정보 표시 - 중앙 감사 로그 수집 ## 도구 위험도 기반 정책 각 도구에는 위험도, 활성화 여부, 라벨링 설정을 지정한다. - **Read Only** - 이슈 검색 - Merge Request 조회 - 파이프라인 상태 확인 - **Minimal Impact** - 리액션 추가 - 알림을 읽음으로 표시 - 이슈 구독 - **Contained Write** - 댓글 작성 - Merge Request 생성 - 이슈 필드 수정 - **Critical** - Merge Request 병합 - 운영 환경 배포 실행 - 레코드 일괄 삭제 위험도는 감사 로그 기록 여부와 호출 허용 여부를 결정하며, 위험도별로 로그를 검색할 수 있다. 또한 서버 코드를 수정하지 않고도 특정 입력 필드에 일반 텍스트나 HTML 형식의 에이전트 라벨을 삽입할 수 있다. ## 사람의 권한을 유지하고 에이전트만 식별 - 내부 MCP 서버는 Cloudflare Access와 OAuth로 사용자를 인증한다. - 에이전트는 별도 계정이 아니라 사용자의 권한을 그대로 사용한다. - 따라서 Joe가 특정 이슈를 닫을 수 없다면 Joe의 에이전트도 닫을 수 없다. - 별도 에이전트 계정을 만들지 않은 이유는 다음과 같다. - 관리해야 할 권한 체계가 추가됨 - 에이전트와 책임자인 사람의 연결이 약해짐 - 대신 WriteGuard는 사용자 신원에 MCP 클라이언트와 세션 정보를 추가한다. - downstream 애플리케이션에는 사람의 권한으로 수행된 작업이라는 정보와 함께, 어떤 에이전트 세션이 작업했는지 표시할 수 있다. ## 중앙 감사 로그와 대규모 활동 분석 - WriteGuard는 각 도구 호출을 성공, 실패, 차단으로 분류한다. - 이후 감사 이벤트를 비동기적으로 내부 audit Worker에 전송한다. - 감사 이벤트에는 다음 정보가 포함된다. - MCP 서버 - 도구 이름 - 위험도 - 호출 결과 - 사용자 - 클라이언트 - 실행 시간 - 비밀번호나 민감한 값으로 분류된 입력 키의 값은 제거한다. - 비동기 로깅을 사용하므로 에이전트가 응답을 기다리는 시간에는 추가 지연이 없다. - MCP 포털 로그가 개별 호출을 보여준다면, WriteGuard 로그는 도구의 의미적 분류·에이전트 컨텍스트·백엔드 처리 결과를 함께 제공한다. - 이를 통해 특정 시스템 하나가 아니라 전체 MCP 환경에서 에이전트의 대량 활동을 검색하고 조사할 수 있다. ## GitLab 적용 방식 - 글에서는 GitLab MCP 서버의 세 도구를 예로 든다. - `get_merge_request`: Merge Request 읽기 - `create_mr_note`: 댓글 또는 노트 작성 - `merge_mr`: Merge Request 병합 - 이 도구들은 각각 읽기, 제한적 쓰기, 중요 쓰기 등 서로 다른 위험도 정책을 적용할 수 있다. - 이를 통해 동일한 GitLab 서버 안에서도 조회는 허용하되 댓글 작성이나 병합은 별도로 기록하거나 차단하는 식의 세밀한 통제가 가능하다. ## 실용적인 결론 MCP 서버에 쓰기 권한을 추가할 때는 단순한 사용자 인증만으로는 부족하다. 도구별 위험도 정책, 에이전트 세션 식별, 민감정보 제거 감사 로그, 사전 차단 기능을 중앙 계층에서 제공해야 하며, 특히 대량 변경이 가능한 작업은 높은 위험도로 분류해 별도 통제하는 것이 안전하다.

cloudflare

Cloudflare One 스택 소개: 에이전트 기반 배포 (새 탭에서 열림)

Cloudflare는 Zero Trust 도입·마이그레이션·운영을 에이전트가 수행하도록 돕는 “Cloudflare One stack”을 공개했습니다. 이 스택은 Cloudflare One 제품 지식, 의사결정 트리, 마이그레이션 로직, API 도구를 제공해 기존 네트워크를 분석하고 안전한 배포 계획과 설정을 생성합니다. 특히 Zscaler·Palo Alto Networks 등 기존 SASE 솔루션에서 Cloudflare로 이전하는 작업을 자동화하고, 운영 중인 환경의 문제 해결까지 지원하는 것이 핵심입니다. ## 네트워크 보안에서의 에이전트 활용 격차 - 조직은 이미 에이전트를 코드 작성, 보안 알림 분류, 업무 자동화에 활용하고 있습니다. - 그러나 에이전트가 조직별 네트워크 토폴로지, 인증 정책, 트래픽 흐름, 기존 공급업체 설정을 자동으로 이해하기는 어렵습니다. - Cloudflare One stack은 이러한 부족한 맥락을 보완하기 위해 Cloudflare 제품에 대한 권위 있고 구체적인 지침을 제공합니다. - 이를 통해 에이전트가 일반적인 API 호출이 아니라 권장된 보안·배포 절차에 따라 작업하도록 합니다. ## Cloudflare One stack의 구성 - 어떤 에이전트와도 사용할 수 있는 스킬 모음으로 제공됩니다. - 두 개의 경량 스킬 파일로 구성됩니다. - `cloudflare-one`: Cloudflare One 구축, 관리, 운영, 문제 해결 - `cloudflare-one-migration`: 다른 SASE 제품에서 Cloudflare로의 마이그레이션 - Cloudflare One 고객 지원 과정에서 축적된 수만 시간의 실무 지식을 기반으로 제작되었습니다. - Cloudflare Code Mode MCP 서버와 함께 사용하면 Cloudflare API에 타입이 지정된 인터페이스로 접근할 수 있습니다. - 에이전트는 실시간 계정 정보를 조회하고, 현재 설정을 검사하며, 검증된 방식으로 변경을 수행할 수 있습니다. ## 지원하는 Cloudflare One 영역 - **Cloudflare Access** - 기존 VPN과 원격 접속 환경을 대체합니다. - 애플리케이션별 인증·인가 정책을 구성합니다. - **Cloudflare Gateway** - 사용자, 네트워크, 디바이스, 데이터를 보호합니다. - **Cloudflare Tunnel·Mesh·WAN** - 애플리케이션과 네트워크 간 연결 방식을 구성합니다. - **마이그레이션** - Zscaler, Palo Alto Networks 등 기존 SASE 공급업체의 개념과 설정을 Cloudflare 방식으로 변환합니다. - **네트워크 다이어그램** - 현재 또는 제안된 네트워크 구조를 시각화합니다. - **운영 및 문제 해결** - Digital Experience Monitoring(DEX)으로 사용자 경험과 지연 문제를 분석합니다. - 트래픽을 바탕으로 보안 규칙을 추천합니다. ## VPN 교체와 신규 배포 절차 에이전트는 기존 VPN 환경을 분석한 뒤 다음과 같은 순서로 Cloudflare 구성을 제안할 수 있습니다. - 기존 VPN 애플리케이션을 목록화하고 각 애플리케이션에 필요한 연결 모델을 식별합니다. - 애플리케이션을 적절한 Cloudflare 구성요소에 매핑합니다. - Self-hosted Access 애플리케이션 - Tunnel 연결 서비스 - Mesh 연결 네트워크 세그먼트 - 서비스 중단을 최소화하도록 단계별 전환 순서를 생성합니다. - 실제 변경 전에 팀이 검토할 수 있는 구성 요약을 제공합니다. ## 공급업체 간 마이그레이션 자동화 - Zscaler Private Access 애플리케이션 정의를 Cloudflare Access 애플리케이션 정의로 변환합니다. - 사용자 그룹과 보안 정책을 Cloudflare Access 정책으로 매핑합니다. - Cloudflare API를 사용해 변환된 리소스를 계정에 생성할 수 있습니다. - 마이그레이션된 항목과 수동 검토가 필요한 예외를 별도로 정리합니다. - 이 로직은 Cloudflare의 Descaler·Deskope 프로그램에 사용된 방식으로, 기업 고객의 이전 작업을 수개월에서 수시간으로 단축한 사례를 바탕으로 합니다. ## 운영 중인 환경의 보안·성능 개선 - 실시간 계정의 트래픽을 분석해 적절한 보안 규칙을 추천합니다. - 기존 Zscaler Private Access 애플리케이션을 Cloudflare의 self-hosted Access 애플리케이션으로 자동 이전할 수 있습니다. - Secure Web Gateway HTTP 로그에서 이상 현상을 조사하고 사용자 문제를 해결할 규칙을 만들 수 있습니다. - DEX 도구를 이용해 사용자 연결 안정성과 지연 시간을 분석하고 개선 조치를 제안합니다. ## 실용적인 결론 Cloudflare One stack은 Zero Trust 전문가의 경험을 에이전트가 활용할 수 있는 구조화된 지식과 도구로 패키징한 제품입니다. 다만 네트워크 정책 변경은 영향 범위가 크므로 에이전트가 생성한 계획과 구성 요약을 먼저 검토하고, 단계적 전환과 수동 승인을 병행하는 방식이 적절합니다.

cloudflare

AI 비용이 감당할 수 없을 정도로 늘었습니다. 이제 Cloudflare가 해결할 수 있습니다. (새 탭에서 열림)

AI 사용이 확산되면서 기업은 막대한 토큰 비용을 부담하지만, 공유 API 키만으로는 누가 어떤 모델을 얼마나 사용했는지 파악하기 어렵다. Cloudflare는 AI Gateway에 달러 기준 지출 한도, 요청별 비용 추적, 모델 자동 전환 기능을 추가해 AI 비용을 통제할 수 있도록 했다. 또한 Cloudflare Access와 기존 IdP를 연동하면 사용자·팀·에이전트별 예산과 모델 사용 정책을 적용할 수 있다. ### 공유 API 키가 만드는 비용 관리의 한계 - 여러 엔지니어가 하나의 API 키를 사용하면 사용자별·팀별 비용을 추적할 수 없다. - 월말 청구서만 보고는 비용 증가 원인이 다음 중 무엇인지 알기 어렵다. - 머신러닝 팀의 신규 파이프라인 - 인턴의 고가 모델 사용 - CI 작업의 무한 반복 - 예산과 라우팅 기준이 없으면 사용자는 대부분 가장 강력하고 비싼 모델을 선택하게 된다. - 단순한 코드 리뷰 요약이나 로그 파싱에는 최첨단 모델이 필요하지 않으므로, 작업에 맞는 모델 선택과 비용 가시성이 중요하다. ### AI Gateway의 기본 역할 - 애플리케이션과 OpenAI, Anthropic, Google 등 AI 제공업체 사이에 위치하는 중간 계층이다. - 여러 제공업체와 모델을 하나의 인터페이스와 청구 체계로 관리할 수 있다. - 모든 요청의 로그, 토큰 수, 비용을 통합해 확인할 수 있다. - 응답 캐싱으로 반복 요청 비용을 줄일 수 있다. - Rate limiting으로 요청량을 제한할 수 있다. - PII와 비밀정보가 모델에 전달되기 전에 차단하는 콘텐츠 가드레일을 제공한다. - 기존에는 전체 계정 사용량은 볼 수 있었지만, 사용자별 비용 귀속이나 예산 설정은 어려웠다. ### 달러 기준 지출 한도 - 토큰 수가 아니라 실제 비용인 달러를 기준으로 예산을 설정한다. - 요청마다 모델 가격을 바탕으로 비용을 계산하고, 누적 지출을 실시간으로 한도와 비교한다. - 다음 기준을 조합해 한도를 지정할 수 있다. - 모델 - 제공업체 - 사용자, 팀, 애플리케이션 등 관리자가 정의한 속성 - 예산 기간은 고정형 또는 이동형으로 설정할 수 있다. - 매월 1일, 매주 월요일, 매일 자정에 초기화 - 최근 24시간·7일·30일처럼 이동하는 기간 - 일간·주간·월간 예산을 지원한다. - 한도에 도달하면 기본적으로 추가 요청을 차단한다. - Dynamic Routes를 사용하면 고가 모델 대신 저렴한 대체 모델로 요청을 전환할 수 있다. - 지출 한도 기능은 모든 요금제의 AI Gateway 사용자를 대상으로 오픈 베타로 제공된다. ### Cloudflare의 실제 사용 방식 - Cloudflare는 직원들의 AI 요청을 AI Gateway로 통합하고, 월간 수백만 건의 요청과 수십억 토큰을 처리한다. - 직원이 Cloudflare Access로 인증하면 JWT에서 신원을 추출한다. - 추출한 사용자 정보를 AI Gateway 요청의 메타데이터로 추가한다. - 이를 통해 다음을 확인할 수 있다. - 사용자별 토큰 소비량 - 팀별 사용량 - 조직 전체의 비용 귀속 - 단순히 공유 API 키를 사용하는 방식보다 비용의 책임 소재와 사용 패턴을 명확히 파악할 수 있다. ### Access 기반 사용자·팀별 정책 - 현재 폐쇄 베타로 제공되는 기능이다. - AI Gateway의 사용자 정의 메타데이터 방식과 달리, Cloudflare Access를 사용하면 인증된 신원을 자동으로 검증할 수 있다. - 사용자별 월간 예산을 설정할 수 있다. - 일반 엔지니어: 월 500달러 - 고급 엔지니어: 월 2,000달러 - 예산을 초과하면 요청을 차단하거나 저렴한 모델로 자동 전환할 수 있다. - IdP 그룹에 따라 팀별 모델 접근 정책을 설정할 수 있다. - ML 팀: Claude Opus, GPT-4o - 디자인 팀: 이미지·비디오 생성 모델 - 인턴: Workers AI 기반 오픈소스 모델 - CI/CD 파이프라인과 자율 에이전트에는 Access 서비스 토큰으로 고유한 신원을 부여할 수 있다. - 코드 리뷰 봇과 문서 생성기를 별도로 추적하고, 특정 에이전트의 폭주만 독립적으로 제한할 수 있다. - 로그에는 이메일, IdP 그룹, 서비스 토큰 이름이 포함되며, 이를 분석 플랫폼으로 내보내 사용자·팀·에이전트별 비용 보고서를 만들 수 있다. ### 인증 및 구성 방식 - AI Gateway 엔드포인트에 Cloudflare Access 애플리케이션을 구성한다. - 기존 IdP 그룹을 바탕으로 Access 정책을 설정한다. - 개발자나 에이전트는 OAuth 기반의 일반적인 CLI 디바이스 코드 흐름으로 인증한다. - AI Gateway가 토큰을 검증하고 인증된 신원을 자동으로 추출한다. - 별도의 Worker 작성, JWT 직접 파싱, 신뢰할 수 없는 메타데이터 헤더에 의존할 필요가 없다. ### 실용적인 적용 방향 기업은 먼저 AI Gateway를 모든 모델 요청의 단일 경로로 구성하고, 사용자·팀·애플리케이션별 로그와 비용을 수집하는 것이 좋다. 이후 업무 유형에 맞는 모델 라우팅과 달러 기준 예산을 설정하고, 마지막으로 Cloudflare Access와 IdP를 연동해 인증된 사용자 및 에이전트별 정책을 적용하면 비용 통제와 업무 연속성을 함께 확보할 수 있다.

cloudflare

우리가 배포하는 플랫폼 위에 내부적으로 구축한 AI 엔지니어링 스택 (새 탭에서 열림)

Cloudflare는 자사 플랫폼의 기술력을 집약한 내부 AI 엔지니어링 스택을 구축하여 전체 R&D 인력의 93%가 AI 도구를 일상적으로 사용하는 환경을 조성했으며, 그 결과 주간 머지 리퀘스트(Merge Request) 수를 약 두 배 가까이 증가시키는 생산성 혁신을 이뤄냈습니다. 이들은 단순한 도구 도입을 넘어 MCP(Model Context Protocol), AI Gateway, Workers AI 등을 결합한 포괄적인 아키텍처를 통해 보안과 운영 효율성을 동시에 확보했습니다. 특히 이번 프로젝트는 실제 고객에게 제공되는 상용 제품들을 내부 워크플로우에 직접 적용하여 그 실효성을 검증했다는 점에서 중요한 기술적 이정표를 제시합니다. ### 통합 플랫폼 및 보안 계층 * **보안 및 인증 관리**: Cloudflare Access를 통한 제로 트러스트 인증으로 보안을 강화하고, 모든 LLM 요청을 AI Gateway로 라우팅하여 중앙 집중식 키 관리, 비용 추적 및 데이터 보존 정책을 적용합니다. * **Workers AI 활용**: 프론티어 모델(OpenAI, Anthropic 등)뿐만 아니라 Workers AI를 통해 Kimi K2.5와 같은 오픈 소스 모델을 병행 운용하며, 특히 보안 에이전트 등의 작업에서 상용 모델 대비 약 77%의 비용 절감 효과를 거두고 있습니다. * **프록시 워커 패턴**: 모든 클라이언트 요청을 단일 프록시 워커를 통해 처리함으로써 클라이언트 설정 변경 없이도 사용자별 권한 부여 및 모델 카탈로그 관리가 가능한 제어 평면(Control Plane)을 구축했습니다. ### 에이전트 기반 인프라와 MCP * **원스톱 온보딩**: `opencode auth login` 명령 하나로 MCP 서버, 에이전트, 명령 및 권한 설정을 자동으로 구성하여 엔지니어가 설정 파일에 손대지 않고도 즉시 AI 도구를 사용할 수 있게 했습니다. * **상태 유지 및 격리 실행**: Durable Objects 기반의 Agents SDK를 사용해 장기 실행되는 에이전트 세션을 관리하며, Sandbox SDK를 통해 에이전트가 생성한 코드를 안전한 격리 환경에서 빌드하고 테스트합니다. * **워크플로우 자동화**: 복잡한 다단계 엔지니어링 작업은 Workflows 기능을 통해 자동화하며, 이는 대규모 리포지토리 전반에 걸친 변경 사항 전파를 효율적으로 지원합니다. ### 지식 체계와 품질 관리 * **기술 지식 그래프**: 오픈소스인 Backstage를 활용해 16,000개 이상의 엔티티를 포함한 지식 그래프를 구축함으로써 에이전트가 조직 내 복잡한 시스템 구조를 정확히 이해할 수 있도록 지원합니다. * **AGENTS.md와 코드 리뷰**: 각 저장소의 컨텍스트를 담은 `AGENTS.md` 파일을 생성하여 에이전트의 정확도를 높이고, CI 파이프라인에 통합된 AI 코드 리뷰어를 통해 급증하는 코드 생산량 속에서도 품질을 유지합니다. Cloudflare의 사례는 AI 도입을 고민하는 기업들에게 '플랫폼 중심 접근법'의 중요성을 시사합니다. 단순한 챗봇 도입이 아니라, 중앙 집중식 게이트웨이를 통한 가시성 확보, 격리된 샌드박스 실행 환경 구축, 그리고 내부 지식 시스템(Backstage 등)과의 결합이 뒷받침될 때 비로소 실제적인 엔지니어링 생산성 향상을 기대할 수 있습니다.

cloudflare

Access를 위한 관리형 OAuth: 클릭 한 번으로 내부 앱을 에이전트 대응 가능하게 만들기 (새 탭에서 열림)

Cloudflare는 내부 애플리케이션을 보호하는 'Cloudflare Access'에 클릭 한 번으로 활성화 가능한 'Managed OAuth' 기능을 도입하여 AI 에이전트의 접근성 문제를 해결했습니다. 기존에는 에이전트가 인증 페이지의 리다이렉션을 처리하지 못해 내부 데이터에 접근할 수 없었으나, 이제 OAuth 2.0 표준을 통해 에이전트가 사용자 대신 안전하게 인증을 수행하고 권한을 위임받을 수 있습니다. 이를 통해 기업은 수많은 레거시 앱의 코드를 수정하지 않고도 AI 에이전트가 즉시 활용할 수 있는 환경을 구축할 수 있게 되었습니다. **Managed OAuth의 작동 원리와 기술 표준** * Cloudflare Access가 직접 권한 부여 서버(Authorization Server) 역할을 수행하여 인증되지 않은 에이전트에게 `www-authenticate` 헤더를 반환합니다. * 에이전트는 RFC 9728 표준에 따라 `/.well-known/oauth-authorization-server` 경로에서 인증 서버 정보를 자동으로 탐색합니다. * RFC 7591(동적 클라이언트 등록)을 통해 에이전트가 자신을 클라이언트로 등록하고, RFC 7636(PKCE) 기반의 인증 흐름을 통해 보안성을 확보합니다. * 사용자가 인증을 승인하면 에이전트는 사용자 ID가 포함된 JWT(JSON Web Token)를 발급받아 이후 요청에 활용합니다. **레거시 앱의 즉각적인 AI 대응 환경 구축** * 수많은 내부 앱과 위키, REST API 등을 AI 에이전트가 읽을 수 있도록 개별적으로 코드를 수정하거나 별도의 MCP(Model Context Protocol) 서버를 구축할 필요가 없습니다. * Cloudflare Access 전면에 Managed OAuth를 활성화하는 것만으로 기존 앱들을 에이전트 친화적인 환경으로 즉시 업그레이드할 수 있습니다. * 특히 내부 위키와 같은 서비스의 경우 'Markdown for Agents' 기능과 Managed OAuth를 결합하여 에이전트가 보호된 콘텐츠를 원활하게 소비하도록 지원합니다. **서비스 계정 방식의 보안 한계 극복** * 정적 자격 증명을 사용하는 서비스 계정(Service Account) 방식은 감사 로그에서 실제 행위자를 파악하기 어렵고 '혼동된 대리인(Confused Deputy)' 문제에 취약합니다. * Managed OAuth는 모든 에이전트의 작업을 실제 사용자의 ID와 연결하므로, 사용자가 가진 권한 범위 내에서만 에이전트가 동작하도록 엄격히 제어합니다. * 이를 통해 기업은 보안 정책을 유지하면서도 어떤 사용자의 에이전트가 어떤 데이터에 접근했는지 명확한 감사 추적(Audit Log)을 남길 수 있습니다. **에이전트 도구의 표준 채택 권고** * 현재 대부분의 에이전트용 'web fetch' 도구는 HTTP 응답의 `www-authenticate` 헤더를 처리하지 못하는 한계가 있습니다. * Cloudflare는 에이전트가 MCP 서버뿐만 아니라 일반적인 웹 페이지나 API에 접근할 때도 RFC 9728 표준을 준수하여 자동으로 OAuth 흐름을 수행할 것을 제안합니다. * 이를 위해 오픈소스 프로젝트인 OpenCode의 web fetch 도구에 해당 표준을 적용하는 예시를 제시하며 에이전트 생태계의 표준화를 촉구하고 있습니다. 내부 인프라의 보안을 유지하면서 AI 에이전트의 활용도를 높이고 싶다면, 정적 토큰이나 서비스 계정 대신 Managed OAuth를 활성화하여 사용자 중심의 권한 위임 체계를 구축하는 것이 권장됩니다. 이는 보안 감사 가시성을 확보하는 동시에 가장 빠르고 효율적으로 내부 앱을 AI 시대에 맞게 현대화하는 방법입니다.