firewall 정책 뒤의 매칭 언어. 툴 호출을 이름, skill, 인자, 목적지로 매치한 뒤 — allow, audit, deny, sanitize, 승인 대기, 또는 비용 상한 처리합니다. 결정적이고, 페일 클로즈이며, 핫 경로에서 안전합니다.
firewall 정책은 순서가 있는 규칙 목록입니다.
이 페이지는 규칙이 표현할 수 있는 것 — 매칭 언어, 판정, 그리고 엔진이
그것들을 평가하는 방식 — 에 대한 완전한 레퍼런스입니다.규칙은 콘솔 규칙 에디터에서 작성되며, 이는 구조화된 JSON 매치 객체를
씁니다. 아래의 모든 것은 그 어휘를 기술하므로, UI에서 빌드하든
API를 통해 포스트하든 규칙을 정확하게 읽고, 추론하고,
검증할 수 있습니다.
규칙은 선언된 모든 조건이 모두 성립할 때 툴 호출에 매치합니다:
스테이지가 매치(또는 비어 있음), 툴 glob 매치, skill glob 매치(또는 비어
있음), 인자 절 매치(또는 부재), 그리고 egress 범위 매치(egress 규칙만).
엔진은 규칙을 우선순위 순으로 순회하며 첫 매치가 이깁니다.
는 http.fetch가 community.* skill에 의해 소유될 때에만 매치합니다 —
동일한 툴을 내장 skill에서는 신뢰하되 커뮤니티 것에서는 게이트하세요.
빈 skill glob은 임의의 소유자에 매치합니다. 툴 호출이 skill에 어떻게
귀속되는지는 Skills에서
다룹니다.
인자 절은 페일 클로즈합니다 — 요청이 아니라 규칙이. 경로가 해석되지
않거나, 인자가 잘못 형성되었거나, regex/CIDR이 유효하지 않으면, 절은
거짓으로 평가되고 규칙은 그저 발동하지 않습니다 — 호출은 다음 규칙
또는 기본 판정으로 떨어집니다. 깨진 절은 결코 자동 거부하지 않으며 릴레이를
크래시시키지 않습니다. “위험한 모든 것을 잡는” 규칙은 절이 특정 방식으로
실패하기를 의존하기보다, 자체 glob을 가진 명시적 deny로 작성하세요.
콘솔은 저장 시 절을 엄격하게 검증하므로(알 수 없는 연산자, 잘못된 경로,
비배열 in 값, 컴파일 불가능한 regex, 그리고 유효하지 않은 CIDR이 모두
거부됨) 잘못 형성된 절은 애초에 영속화될 수 없습니다.
항목은 CIDR, IP 리터럴, 또는 대소문자를 구분하지 않는 호스트명으로
매치됩니다; 호스트명은 최선 노력으로 해석되어 IP/CIDR 항목에 대해 다시
검사됩니다. 극성은 판정을 따릅니다: allow 판정에서는 allow 목록이
범위 내인 것을 정의하고 deny가 그로부터 예외를 깎아냅니다; 강제 판정
(deny)에서는 deny 목록이 차단되는 것을 정의하고 allow가 예외를
깎아냅니다.169.254.169.254(클라우드 메타데이터 엔드포인트)와 RFC-1918 범위는
거부할 표준적인 것입니다 — block_ssrf_egress 프리셋과 tight자율성 수준이
정확히 그것을 제공합니다.
각 단계는 선택적 min_count(기본값 1)와 선택적 egress: true(단계가
egress 호출이어야 함)를 가진 툴 glob입니다. 단계는 순서대로 발생해야
하며 — 다른 호출과의 인터리빙은 괜찮습니다 — 전체 체인은
window_seconds(0 = 무제한) 안에 완료되어야 합니다.
시퀀스는 각 호출에 인라인으로가 아니라 비동기 매처에 의해 반응적으로
강제됩니다 — * 단계를 가진 시퀀스는 그렇지 않으면 모든 단일 툴 호출에
매치할 것입니다. 그것들은 이벤트 피드를 켜고 후속 액션을 트리거할 수
있지만, 체인을 완성하는 개별 호출을 실시간으로 차단하지는 않습니다.