구성 속성
모든 Contexa 구성 속성에 대한 전체 참조입니다. 모든 속성은 application.yml에서 설정하며 Spring Boot의 @ConfigurationProperties 메커니즘을 통해 바인딩됩니다. 속성은 아래 5개 카테고리로 구성됩니다.
구성 카테고리
Contexa는 모든 모듈에 걸쳐 27개의 @ConfigurationProperties 클래스를 제공합니다. 카테고리를 선택하여 전체 속성 참조를 확인하세요.
인프라
ContexaProperties, Bridge, Cache, OpenTelemetry, Redis, Kafka, Event, Router, Pipeline, Plane, Cold Path
코어 플랫폼, 브리지, 캐시, 텔레메트리, 분산 런타임 속성
보안
Zero Trust, HCAD, Session, Step-Up, Decision Plane, Distributed Enforcement
Zero Trust, HCAD, 세션, 강제 적용 속성
AI 엔진
Tiered LLM, Mapping, Advisor, RAG, Streaming, PgVector
Tiered LLM, 매핑, Advisor, RAG, 스트리밍, 벡터 스토어 속성
Identity
Authentication Context, MFA, State Machine
인증 컨텍스트와 상태 머신 속성
IAM
Policy Combining, Step-Up, Admin Console
정책 결합, Step-Up, 관리자 콘솔 속성
필수 속성
Contexa를 시작할 때 구성해야 할 가장 중요한 속성입니다:
| 속성 | 기본값 | 설명 |
|---|---|---|
contexa.enabled |
true |
전체 Contexa 플랫폼의 마스터 스위치 |
contexa.infrastructure.mode |
STANDALONE |
STANDALONE (인메모리) 또는 DISTRIBUTED (Redis + Kafka) |
contexa.llm.enabled |
true |
AI 기반 보안 결정을 위한 LLM 통합 활성화 |
contexa.security.zerotrust.enabled |
true |
Zero Trust 지속적 검증 활성화 |
spring.auth.state-type |
OAUTH2 |
상태 관리: SESSION 또는 OAUTH2. 생략 가능 — 기본값으로 대부분의 환경에서 동작합니다. |
contexa.llm.selection.chat.priority |
"" |
쉼표로 구분한 채팅 제공자 우선순위 (예: ollama,anthropic,openai). 해석기가 목록 순서대로 사용 가능한 제공자를 선택합니다. |
최소 구성
Standalone 모드에서 Contexa를 시작하기 위한 최소 application.yml입니다:
contexa:
enabled: true
infrastructure:
mode: standalone
llm:
enabled: true
selection:
chat:
priority: ollama,anthropic,openai
chat:
ollama:
base-url: http://127.0.0.1:11434
model: qwen2.5:14b
rag:
enabled: true
contexa.security:
zerotrust:
enabled: true
spring:
auth:
state-type: SESSION
ai:
security:
layer1:
model: qwen2.5:14b
layer2:
model: exaone3.5:latest
Contexa 코어 속성
contexa 접두사 아래의 최상위 속성으로, ContexaProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa | |||
.enabled |
boolean |
true |
전체 Contexa 플랫폼을 활성화 또는 비활성화하는 마스터 스위치 |
.infrastructure.mode |
enum |
STANDALONE |
인프라 모드: STANDALONE (인메모리) 또는 DISTRIBUTED (Redis, Kafka) |
.infrastructure.redis.enabled |
boolean |
true |
분산 캐싱을 위한 Redis 통합 활성화 |
.enterprise.enabled |
boolean |
false |
런타임이 제공하는 엔터프라이즈 전용 통합을 활성화합니다 |
.infrastructure.kafka.enabled |
boolean |
true |
이벤트 스트리밍을 위한 Kafka 통합 활성화 (Distributed 모드) |
.infrastructure.observability.enabled |
boolean |
true |
관측 인프라 활성화 |
.infrastructure.observability.open-telemetry-enabled |
boolean |
true |
분산 추적을 위한 OpenTelemetry 통합 활성화 |
LLM 속성
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.llm | |||
.enabled | boolean | true | AI 기반 보안 결정을 위한 LLM 통합 활성화 |
.advisor-enabled | boolean | true | AI Advisor 체인 활성화 |
.selection.chat.mode | enum | DYNAMIC_PRIORITY | 채팅 제공자 선택 방식: DYNAMIC_PRIORITY는 우선순위 목록 순회, SPRING_PRIMARY는 Spring @Primary 빈 사용 |
.selection.chat.priority | String | "" | 쉼표 구분 채팅 제공자 우선순위 (예: ollama,anthropic,openai). mode가 DYNAMIC_PRIORITY일 때 사용합니다 |
.selection.embedding.mode | enum | DYNAMIC_PRIORITY | 임베딩 제공자 선택 방식 |
.selection.embedding.priority | String | "" | 쉼표 구분 임베딩 제공자 우선순위 (예: ollama,openai) |
.chat.ollama.base-url | String | "" | Ollama 채팅 런타임을 사용할 때 필요한 전용 기본 URL입니다 |
.chat.ollama.model | String | "" | Contexa 채팅 런타임에서 사용할 Ollama 채팅 모델명 |
.chat.ollama.keep-alive | String | "" | Ollama 채팅 런타임에 전달하는 선택적 keep-alive 값 |
.embedding.ollama.dedicated-runtime-enabled | boolean | false | 공유 채팅 런타임 대신 전용 Ollama 임베딩 런타임 사용 여부 |
.embedding.ollama.base-url | String | "" | dedicated-runtime-enabled가 true일 때 사용하는 전용 임베딩 런타임 URL |
.embedding.ollama.model | String | "" | Ollama 임베딩 런타임에서 사용할 임베딩 모델명 |
Tiered LLM 및 외부 제공자 구성
Contexa는 계층 선택 정보를 contexa.security.tiered*에서 읽습니다. Anthropic/OpenAI 같은 외부 제공자는 표준 spring.ai.* 속성을 사용하고, Ollama 런타임 선택은 spring.ai.ollama.*가 아니라 contexa.llm.*에서 관리합니다.
| 속성 | 타입 | 설명 |
|---|---|---|
spring.ai | ||
.llm.layer1.model | String | 1차 분석 단계에 사용할 Tier-1 모델명 |
.llm.layer2.model | String | 심화 분석과 에스컬레이션에 사용할 Tier-2 모델명 |
.prompt-compression.enabled | boolean | 계층형 실행을 위한 런타임 프롬프트 압축 활성화 |
.layer1.timeout.total-ms | long | Tier-1 실행 경로 전체 타임아웃 예산 |
.layer2.timeout-ms | long | Tier-2 실행 경로 전체 타임아웃 예산 |
.anthropic.api-key | String | 표준 Spring AI Anthropic 클라이언트용 API 키 |
.openai.api-key | String | 표준 Spring AI OpenAI 클라이언트용 API 키 |
.openai.base-url | String | 프록시나 호환 엔드포인트 사용 시 OpenAI 기본 URL 재정의 |
벡터 스토어 속성
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.rag | |||
.enabled | boolean | true | Contexa 내부의 RAG 하위 시스템 활성화 |
.defaults.top-k | int | 10 | 일반 검색에 사용하는 기본 문서 개수 |
.defaults.similarity-threshold | double | 0.7 | 일반 검색에 사용하는 기본 유사도 임계값 |
.behavior.lookback-days | int | 30 | RAG 검색 필터가 사용하는 행동 이력 조회 기간(일) |
.risk.top-k | int | 50 | 위험 분석 중심 검색에 사용하는 문서 개수 |
.risk.similarity-threshold | double | 0.8 | 위험 분석 중심 검색에 사용하는 유사도 임계값 |
.lab.batch-size | int | 50 | RAG Lab 배치 크기 |
.lab.validation-enabled | boolean | true | Lab 단계의 검증 패스 활성화 |
.lab.enrichment-enabled | boolean | true | Lab 단계의 보강(enrichment) 패스 활성화 |
.lab.top-k | int | 100 | Lab 검색 개수 |
.lab.similarity-threshold | double | 0.75 | Lab 유사도 임계값 |
.etl.batch-size | int | 100 | 벡터 ETL에서 사용하는 문서 배치 크기 |
.etl.vector-table-name | String | vector_store | Contexa ETL 작업에서 사용하는 논리 벡터 테이블명 |
.etl.chunk-size | int | 500 | 벡터 ETL에서 사용하는 문서 청크 크기 |
.etl.chunk-overlap | int | 50 | 벡터 ETL에서 사용하는 청크 오버랩 크기 |
.etl.behavior.retention-days | int | 90 | ETL 행동 아티팩트 보존 기간(일) |
contexa.vectorstore.pgvector | |||
.dimensions | int | 1024 | pgvector 스토어에서 사용하는 임베딩 차원 수 |
.batch-size | int | 100 | 벡터 저장 시 사용하는 배치 크기 |
.top-k | int | 100 | pgvector 어댑터 내부의 기본 검색 개수 |
.similarity-threshold | double | 0.5 | pgvector 어댑터에서 적용하는 최소 유사도 임계값 |
.search-timeout-ms | long | 10000 | pgvector 조회 타임아웃 예산 |
.store-timeout-ms | long | 10000 | pgvector 저장 타임아웃 예산 |
.document.chunk-size | int | 1000 | 소스 문서를 저장용으로 준비할 때 사용하는 청크 크기 |
.document.chunk-overlap | int | 200 | 소스 문서를 저장용으로 준비할 때 사용하는 청크 오버랩 |
Zero Trust 속성
contexa.security.zerotrust 아래의 속성으로, SecurityZeroTrustProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.security.zerotrust | |||
.enabled |
boolean |
true |
Zero Trust 평가 엔진 활성화 |
.threat.initial |
double |
0.3 |
새 세션에 할당되는 초기 위협 점수 |
.cache.ttl-hours |
int |
24 |
신뢰 평가 캐시 TTL (시간 단위) |
.cache.session-ttl-minutes |
int |
30 |
세션 캐시 TTL (분 단위) |
.cache.invalidated-ttl-minutes |
int |
60 |
무효화된 세션 캐시 TTL (분 단위) |
.redis.timeout |
int |
5 |
Redis 작업 타임아웃 (초 단위) |
.redis.update-interval-seconds |
int |
30 |
Redis에 신뢰 점수를 동기화하는 간격 |
.session.tracking-enabled |
boolean |
true |
AI 기반 세션 추적 활성화 |
HCAD 속성
contexa.hcad 접두사 아래의 계층적 컨텍스트 인식 탐지(HCAD) 속성으로, HcadProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.hcad | |||
.enabled | boolean | true | HCAD 이상 탐지 엔진 활성화 |
.filter-order | int | 100 | 보안 필터 체인에서의 HCAD 필터 순서 |
.similarity.hot-path-threshold | double | 0.7 | 핫 패스 평가 단계에서 사용하는 유사도 임계값 |
.baseline.learning.enabled | boolean | true | 지속적 기준선 학습 활성화 |
.baseline.bootstrap.initial-samples | int | 10 | 초기 기준선을 허용하기 전 필요한 부트스트랩 샘플 수 |
.baseline.statistical.min-samples | int | 20 | 통계 기반 기준선 갱신에 필요한 최소 샘플 수 |
자율 보안 속성
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.autonomous | |||
.enabled | boolean | true | 자율 보안 응답 처리 활성화 |
.event-timeout | long | 30000 | 자율 이벤트 처리 타임아웃 (밀리초 단위) |
세션 보안 속성
contexa.security.session 아래의 속성으로, SecuritySessionProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.security.session | |||
.cookie.name |
String |
SESSION |
세션 쿠키 이름 |
.header.name |
String |
X-Auth-Token |
토큰 기반 세션의 세션 헤더 이름 |
.bearer.enabled |
boolean |
true |
Bearer 토큰 세션 확인 활성화 |
전체 구성 예제
모든 주요 구성 섹션을 보여주는 전체 application.yml입니다:
contexa:
enabled: true
infrastructure:
mode: standalone
redis:
enabled: true
kafka:
enabled: false
observability:
enabled: true
open-telemetry-enabled: true
hcad:
enabled: true
similarity:
hot-path-threshold: 0.7
baseline:
min-samples: 10
cache-ttl: 3600
llm:
enabled: true
advisor-enabled: true
selection:
chat:
mode: DYNAMIC_PRIORITY
priority: ollama,anthropic,openai
embedding:
mode: DYNAMIC_PRIORITY
priority: ollama,openai
chat:
ollama:
base-url: http://127.0.0.1:11434
model: qwen2.5:14b
keep-alive: 24h
embedding:
ollama:
dedicated-runtime-enabled: false
model: mxbai-embed-large
rag:
enabled: true
defaults:
top-k: 10
similarity-threshold: 0.7
etl:
vector-table-name: vector_store
chunk-size: 500
chunk-overlap: 50
autonomous:
enabled: true
event-timeout: 30000
contexa.hcad:
enabled: true
filter-order: 100
baseline:
learning:
enabled: true
contexa.security:
zerotrust:
enabled: true
mode: ENFORCE
threat:
initial: 0.3
cache:
ttl-hours: 24
session-ttl-minutes: 30
redis:
timeout: 5
update-interval-seconds: 30
session:
cookie:
name: SESSION
header:
name: X-Auth-Token
bearer:
enabled: true
spring:
auth:
state-type: SESSION
ai:
security:
layer1:
model: qwen2.5:14b
layer2:
model: exaone3.5:latest
tiered:
prompt-compression:
enabled: true
anthropic:
api-key: ${ANTHROPIC_API_KEY:}
openai:
api-key: ${OPENAI_API_KEY:}
vectorstore:
pgvector:
dimensions: 1024
batch-size: 100
top-k: 100
similarity-threshold: 0.5
document:
chunk-size: 1000
chunk-overlap: 200
ContexaProperties 빠른 참조
ContexaProperties의 핵심 contexa.* 속성 목록입니다. 각 섹션은 상세 하위 페이지로 연결됩니다.
마스터 스위치
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.enabled | boolean | true | Contexa 플랫폼 전체 마스터 스위치. |
HCAD (행동 분석)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.hcad.enabled | boolean | true | Contexa 쪽 HCAD 래퍼 토글 활성화. |
contexa.hcad.similarity.hot-path-threshold | double | 0.7 | ContexaProperties가 노출하는 핫 패스 유사도 임계값. |
contexa.hcad.baseline.min-samples | int | 10 | Contexa 래퍼 속성의 기준선 최소 샘플 수. |
contexa.hcad.baseline.cache-ttl | int | 3600 | Contexa 래퍼 속성의 기준선 캐시 TTL(초). |
LLM (언어 모델)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.llm.enabled | boolean | true | LLM 통합 활성화. |
contexa.llm.advisor-enabled | boolean | true | Advisor 체인 활성화. |
contexa.llm.selection.chat.mode | enum | DYNAMIC_PRIORITY | 채팅 제공자 선택 방식. |
contexa.llm.selection.chat.priority | String | "" | 쉼표 구분 채팅 제공자 우선순위 (예: ollama,anthropic,openai). |
contexa.llm.selection.embedding.mode | enum | DYNAMIC_PRIORITY | 임베딩 제공자 선택 방식. |
contexa.llm.selection.embedding.priority | String | "" | 쉼표 구분 임베딩 제공자 우선순위 (예: ollama,openai). |
contexa.llm.chat.ollama.base-url | String | "" | Ollama 채팅 런타임 URL. |
contexa.llm.embedding.ollama.dedicated-runtime-enabled | boolean | false | 전용 임베딩 런타임 사용 여부. |
RAG (검색 증강 생성)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.rag.enabled | boolean | true | RAG 파이프라인 래퍼 활성화. |
contexa.rag.defaults.top-k | int | 10 | 기본 검색 개수. |
contexa.rag.defaults.similarity-threshold | double | 0.7 | 기본 유사도 임계값. |
contexa.rag.etl.vector-table-name | String | vector_store | ETL 출력용 논리 벡터 테이블명. |
자율 에이전트
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.autonomous.enabled | boolean | true | 자율 보안 처리 활성화. |
contexa.autonomous.event-timeout | long | 30000 | 이벤트 처리 타임아웃(밀리초). |
인프라스트럭처
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.infrastructure.mode | enum | STANDALONE | STANDALONE (인메모리) 또는 DISTRIBUTED (Redis + Kafka). |
contexa.infrastructure.redis.enabled | boolean | true | 분산 캐싱을 위한 Redis 활성화. |
contexa.infrastructure.kafka.enabled | boolean | true | 이벤트 스트리밍을 위한 Kafka 활성화. |
contexa.infrastructure.observability.enabled | boolean | true | 관측 가능성 활성화. |
contexa.infrastructure.observability.open-telemetry-enabled | boolean | true | OpenTelemetry 통합 활성화. |
contexa.enterprise.enabled | boolean | false | 런타임이 제공할 때 엔터프라이즈 전용 통합 활성화. |
SaaS 통합 (Enterprise)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.saas.enabled | boolean | false | Contexa Cloud와의 SaaS 통합 활성화. |
contexa.saas.endpoint | String | https://saas.ctxa.ai | SaaS 플랫폼 엔드포인트 URL. |
contexa.saas.include-reasoning | boolean | false | 전송되는 결정(decision)에 추론 내역을 포함합니다. |
contexa.saas.include-raw-analysis-data | boolean | false | 전송되는 결정에 원시 분석 데이터를 포함합니다. |
contexa.saas.outbox-batch-size | int | 50 | 이벤트 전달용 Outbox 배치 크기. |
contexa.saas.max-retry-attempts | int | 10 | 실패한 이벤트 전달의 최대 재시도 횟수. |
contexa.saas.retry-initial-backoff-ms | long | 1000 | 재시도 초기 백오프 지연. |
contexa.saas.retry-max-backoff-ms | long | 60000 | 재시도 최대 백오프 지연. |
contexa.saas.dispatch-interval-ms | long | 30000 | SaaS 전달 작업의 디스패치 주기. |
contexa.saas.pseudonymization-secret | String | default-dev-secret-change-in-prod | 가명화(pseudonymization) 비밀값. 운영 환경에서는 반드시 교체해야 합니다. |
contexa.saas.global-correlation-secret | String | default-dev-correlation-secret | 테넌트 간 상관관계 비밀값. 운영 환경에서 교체 필수. |
contexa.saas.oauth2 | |||
.enabled | boolean | true | SaaS 전달용 OAuth2 client_credentials 활성화. |
.registration-id | String | contexa-saas-client | Spring Security OAuth2 등록 ID. |
.token-uri | String | https://saas.ctxa.ai/oauth2/token | SaaS 토큰 엔드포인트 URL. |
.client-id | String | dev-client | OAuth2 클라이언트 ID. |
.client-secret | String | dev-secret | OAuth2 클라이언트 시크릿. |
.scope | String | (기본 11 scope) | 쉼표 구분 OAuth2 스코프 목록. 활성화된 모든 전달 기능에 필요한 스코프를 포함해야 합니다. |
.expiry-skew-seconds | int | 30 | 토큰 만료 오차 보정(초). |
contexa.saas.decision-feedback | |||
.enabled | boolean | false | 결정 피드백 전달 활성화. |
.endpoint-path | String | /api/saas/runtime/ai-tuning/feedback-ingestions | 결정 피드백 수집 경로. |
contexa.saas.baseline-signal | |||
.enabled | boolean | false | 베이스라인 신호 공유 활성화. |
.endpoint-path | String | /api/saas/runtime/ai-tuning/baseline-signals | 베이스라인 신호 게시 경로. |
.seed-endpoint-path | String | /api/saas/runtime/ai-tuning/baseline-seed | 베이스라인 시드 Pull 경로. |
.publish-interval-ms | long | 604800000 | 베이스라인 게시 주기(기본 7일). |
.initial-delay-ms | long | 300000 | 초기 게시 지연(기본 5분). |
.seed-pull-interval-ms | long | 3600000 | 시드 Pull 주기(기본 1시간). |
.seed-initial-delay-ms | long | 120000 | 시드 Pull 초기 지연(기본 2분). |
.seed-cache-ttl-minutes | int | 180 | 시드 캐시 TTL(기본 3시간). |
.minimum-organization-baseline-count | int | 3 | 조직 단위 최소 샘플 수. |
.minimum-user-baseline-count | int | 25 | 사용자 단위 최소 샘플 수. |
.hour-bucket-limit | int | 8 | 게시 배치별 시간 버킷 상한. |
.day-bucket-limit | int | 7 | 게시 배치별 일 버킷 상한. |
.operating-system-limit | int | 6 | OS 지문 버킷 상한. |
.industry-category | String | GENERAL | 조직 업종 카테고리 태그. |
contexa.saas.threat-intelligence | |||
.enabled | boolean | false | 위협 인텔리전스 Pull 활성화. |
.endpoint-path | String | /api/saas/runtime/ai-tuning/threat-signals | 위협 신호 Pull 경로. |
.pull-interval-ms | long | 3600000 | Pull 주기(기본 1시간). |
.initial-delay-ms | long | 0 | 초기 Pull 지연. |
.signal-limit | int | 5 | Pull당 신호 수 제한. |
.prompt-limit | int | 3 | 프롬프트 인젝션 샘플 제한. |
.cache-ttl-minutes | int | 90 | 로컬 캐시 TTL. |
contexa.saas.threat-outcome | |||
.enabled | boolean | false | 위협 결과 전달 활성화. |
.endpoint-path | String | /api/saas/runtime/ai-tuning/threat-outcomes | 위협 결과 수집 경로. |
contexa.saas.threat-knowledge | |||
.enabled | boolean | false | 위협 지식 Pull 활성화. |
.endpoint-path | String | /api/saas/runtime/ai-tuning/threat-knowledge-pack | 위협 지식 팩 Pull 경로. |
.runtime-policy-endpoint-path | String | /api/saas/runtime/ai-tuning/threat-runtime-policy | 런타임 정책 Pull 경로. |
.pull-interval-ms | long | 3600000 | Pull 주기. |
.initial-delay-ms | long | 0 | 초기 Pull 지연. |
.case-limit | int | 12 | Pull당 케이스 수 제한. |
.prompt-limit | int | 3 | 프롬프트 인젝션 샘플 제한. |
.cache-ttl-minutes | int | 90 | 로컬 캐시 TTL. |
contexa.saas.detection-strategy | |||
.enabled | boolean | false | 탐지 전략 Pull 활성화. |
.endpoint-path | String | /api/saas/runtime/ai-tuning/detection-strategy-pack | 탐지 전략 팩 Pull 경로. |
.pull-interval-ms | long | 3600000 | Pull 주기. |
.initial-delay-ms | long | 0 | 초기 Pull 지연. |
.strategy-limit | int | 12 | Pull당 전략 수 제한. |
.prompt-limit | int | 3 | 프롬프트 인젝션 샘플 제한. |
.cache-ttl-minutes | int | 90 | 로컬 캐시 TTL. |
contexa.saas.calibration-profile | |||
.enabled | boolean | false | 캘리브레이션 프로파일 Pull 활성화. |
.endpoint-path | String | /api/saas/runtime/ai-tuning/calibration-profile-pack | 캘리브레이션 프로파일 팩 Pull 경로. |
.pull-interval-ms | long | 3600000 | Pull 주기. |
.initial-delay-ms | long | 0 | 초기 Pull 지연. |
.profile-limit | int | 12 | Pull당 프로파일 수 제한. |
.cache-ttl-minutes | int | 90 | 로컬 캐시 TTL. |
contexa.saas.performance-telemetry | |||
.enabled | boolean | false | 성능 텔레메트리 전달 활성화. |
.endpoint-path | String | /api/saas/runtime/ai-tuning/performance-telemetry | 성능 텔레메트리 수집 경로. |
.publish-interval-ms | long | 3600000 | 게시 주기. |
.initial-delay-ms | long | 60000 | 초기 게시 지연. |
contexa.saas.prompt-context-audit | |||
.enabled | boolean | false | 프롬프트 컨텍스트 감사 전달 활성화. |
.endpoint-path | String | /api/saas/runtime/prompt-context-audits | 프롬프트 컨텍스트 감사 수집 경로. |
HCAD 엔진 (contexa.hcad 접두사)
HcadProperties에 바인딩되는 고급 HCAD 엔진 튜닝 속성 전수입니다. 기본값이 대부분 환경에 적합하므로, 운영 베이스라인 검토 후에만 조정하세요.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.hcad.enabled | boolean | true | HCAD 엔진 마스터 토글. |
contexa.hcad.filter-order | int | 100 | HCAD 가로채기 Servlet 필터 순서. |
contexa.hcad.threshold | |||
.base | double | 0.7 | 기본 이상치 임계값. |
.min | double | 0.3 | 적응형 조정의 하한. |
.max | double | 0.95 | 적응형 조정의 상한. |
.adjustment-rate | double | 0.01 | 단계별 임계값 조정률. |
.sensitivity | double | 1.0 | 민감도 배율. |
.warn | double | 0.7 | 경고 수준 임계값. |
contexa.hcad.cache | |||
.max-size | int | 100000 | 메모리 분석 캐시 최대 엔트리 수. |
.ttl-ms | long | 300000 | 캐시 엔트리 TTL (기본 5분). |
.clear-on-startup | boolean | false | 시작 시 캐시 비우기. |
.local.ttl-minutes | int | 10 | 노드별 로컬 캐시 TTL. |
contexa.hcad.analysis | |||
.max-age-ms | long | 3600000 | 재사용 가능 분석의 최대 보관 기간 (기본 1시간). |
contexa.hcad.baseline | |||
.min-confidence | double | 0.3 | 베이스라인 수용 최소 신뢰도. |
.update-alpha | double | 0.1 | 베이스라인 업데이트용 지수 평활 계수. |
.learning.alpha | double | 0.1 | 온라인 학습 계수. |
.learning.enabled | boolean | true | 베이스라인 온라인 학습 활성화. |
.bootstrap.enabled | boolean | true | 초기 샘플 기반 부트스트랩 활성화. |
.bootstrap.initial-samples | int | 10 | 부트스트랩에 필요한 초기 샘플 수. |
.bootstrap.max-anomaly-score | double | 0.85 | 부트스트랩 단계에서 허용하는 이상치 점수 상한. |
.statistical.enabled | boolean | true | 통계적 베이스라인 분기 활성화. |
.statistical.min-samples | int | 20 | 통계적 베이스라인 최소 샘플 수. |
.statistical.update-interval | int | 10 | 통계적 업데이트 사이 샘플 수. |
.statistical.z-score-threshold | double | 3.0 | Z-score 이상치 임계값. |
.redis.ttl-days | int | 30 | Redis에 저장되는 베이스라인 TTL. |
contexa.hcad.feedback | |||
.learning-rate | double | 0.1 | 피드백 기반 학습률. |
.retrain-threshold | double | 0.7 | 이 정확도 미만일 때 재학습을 트리거. |
.window-size | int | 1000 | 슬라이딩 피드백 윈도우 크기. |
.baseline.update-threshold | double | 0.95 | 베이스라인 업데이트 신뢰도 임계값. |
contexa.hcad.orchestrator | |||
.enabled | boolean | true | HCAD 오케스트레이터 활성화. |
.feedback-interval | int | 300 | 피드백 집계 주기(초). |
.sync-batch-size | int | 50 | 동기화 배치 크기. |
.performance-tracking | boolean | true | 성능 추적 활성화. |
contexa.hcad.vector | |||
.embedding-dimension | int | 384 | 벡터 임베딩 차원. |
.cache-ttl-hours | int | 24 | 벡터 캐시 TTL. |
.max-cached-embeddings | int | 1000 | 최대 캐시 임베딩 수. |
.similarity-threshold | double | 0.85 | 벡터 유사도 임계값. |
.scenario-detection-enabled | boolean | true | 벡터 유사도 기반 시나리오 감지 활성화. |
contexa.hcad.session | |||
.cookie-name | String | JSESSIONID | 상관관계 식별용 세션 쿠키명. |
.header-name | String | X-Session-Id | 상관관계 식별용 세션 헤더명. |
contexa.hcad.signal | |||
.chi-square-threshold | double | 14.07 | 카이제곱 이상치 임계값. |
.history-size | int | 100 | 신호 이력 버퍼 크기. |
.covariance.min-samples | int | 30 | 공분산 계산 최소 샘플 수. |
.geoip.provider | String | api | GeoIP 제공자 식별자. |
.geoip.api-url | String | https://ipapi.co/{ip}/json/ | GeoIP 조회 URL 템플릿. |
.timing.bucket-count | int | 7 | 타이밍 버킷 수. |
.timing.interval.history-size | int | 100 | 타이밍 간격 이력 크기. |
contexa.hcad.sampling | |||
.random.floor | double | 0.01 | 랜덤 샘플링 하한. |
.random.ceiling | double | 0.03 | 랜덤 샘플링 상한. |
.composite.identifier.enabled | boolean | true | 복합 식별자 샘플링 활성화. |
contexa.hcad.adaptive | |||
.adjustment-rate | double | 0.1 | 적응형 조정률. |
.cusum.threshold | double | 5.0 | CUSUM 드리프트 감지 임계값. |
.cusum.slack | double | 0.5 | CUSUM slack 값. |
.baseline.window | int | 100 | 적응형 베이스라인 윈도우 크기. |
.min.trust.score | double | 0.7 | 최소 신뢰도 점수 하한. |
contexa.hcad.resource | |||
.sensitive-patterns | List<String> | [] | 민감 리소스로 분류할 URL 패턴. 애플리케이션에서 채웁니다. |
contexa.hcad.similarity | |||
.hot-path-threshold | double | 0.7 | HCAD 핫패스 빠른 결정용 유사도 임계값. |
contexa.hcad.redis | |||
.key-prefix | String | hcad:baseline:v2: | HCAD 베이스라인 데이터의 Redis 키 접두사. |
contexa.hcad.geoip | |||
.enabled | boolean | false | 로컬 GeoIP 조회 활성화. |
.db-path | String | data/GeoLite2-City.mmdb | MaxMind GeoLite2 데이터베이스 경로. |
contexa.hcad.pre-trigger | |||
.enabled | boolean | true | 프리트리거 빠른 경로 활성화. |
.cooldown-seconds | int | 15 | 프리트리거 쿨다운 윈도우(초). |
.in-flight-ttl-seconds | int | 15 | 진행 중 요청 TTL. |
.negative-cache-seconds | int | 3 | 네거티브 캐시 보관 기간. |
.redline-score | int | 70 | 레드라인(차단) 위험 점수. |
.high-risk-score | int | 50 | 고위험 점수 임계값. |
.medium-risk-score | int | 30 | 중위험 점수 임계값. |
.low-baseline-confidence-threshold | double | 0.35 | 낮은 베이스라인 신뢰도 트리거 임계값. |
.failed-login-burst-threshold | int | 3 | 로그인 실패 버스트 카운트. |
.request-burst-threshold | int | 12 | 급증 요청 버스트 카운트. |
.rapid-request-interval-ms | long | 1000 | 급증 요청 간격 윈도우(ms). |
.sensitive-path-indicators | List<String> | [/admin/, /export, /download, /sensitive/, /critical/] | 민감도를 높이는 URL 경로 조각. |
LLM 바인딩 (contexa.llm.bindings)
이름 기반 채팅·임베딩 제공자 바인딩. contexa.llm.selection.*과 함께 사용되어 요청별 활성 제공자를 결정합니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.llm.bindings.chat.<name> | |||
.bean-name | String | "" | 이 바인딩이 가리킬 Spring 빈 이름. |
.provider | String | "" | 제공자 식별자 (예: ollama, anthropic, openai). |
.model-id | String | "" | Contexa에 노출되는 논리 모델 식별자. |
.aliases | List<String> | [] | 같은 바인딩으로 해석될 별칭 목록. |
.enabled | boolean | true | 이 바인딩 활성화. |
.primary | boolean | false | Spring @Primary 채팅 모델로 지정. |
contexa.llm.bindings.embedding.<name> | |||
.bean-name | String | "" | 이 임베딩 바인딩의 Spring 빈 이름. |
.provider | String | "" | 임베딩 제공자 식별자. |
.model-id | String | "" | 논리 임베딩 모델 식별자. |
.aliases | List<String> | [] | 별칭 목록. |
.enabled | boolean | true | 이 바인딩 활성화. |
.primary | boolean | false | @Primary 임베딩 모델로 지정. |
Advisor 체인 (contexa.advisor)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.advisor.chain-profile | String | STANDARD | Advisor 체인 프로파일 이름. |
contexa.advisor.security.enabled | boolean | true | 보안 Advisor 등록 활성화. |
contexa.advisor.security.order | int | 50 | 체인 내 보안 Advisor 순서. |
contexa.advisor.security.require-authentication | boolean | false | 보안 Advisor가 인증된 주체를 요구하는지 여부. |
contexa.advisor.soar.approval.enabled | boolean | true | SOAR 승인 Advisor 활성화. |
contexa.advisor.soar.approval.order | int | 100 | SOAR 승인 Advisor 순서. |
contexa.advisor.soar.approval.timeout | int | 300 | SOAR 승인 타임아웃(초). |
스트리밍 (contexa.streaming)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.streaming.final-response-marker | String | (프로토콜 상수) | 최종 응답 청크 마커. |
contexa.streaming.streaming-marker | String | (프로토콜 상수) | 스트리밍 모드 마커. |
contexa.streaming.json-start-marker | String | (프로토콜 상수) | JSON 블록 시작 마커. |
contexa.streaming.json-end-marker | String | (프로토콜 상수) | JSON 블록 종료 마커. |
contexa.streaming.timeout | Duration | 5분 | 전체 스트리밍 타임아웃. |
contexa.streaming.max-retries | int | 3 | 스트리밍 실패 시 최대 재시도 횟수. |
contexa.streaming.retry-delay | Duration | 1초 | 초기 재시도 지연. |
contexa.streaming.retry-multiplier | double | 1.5 | 지수 백오프 배율. |
contexa.streaming.marker-buffer-size | int | 100 | 마커 감지용 버퍼 크기. |
contexa.streaming.sentence-buffering-enabled | boolean | true | 부분 문장 버퍼링 후 전달 활성화. |
OpenTelemetry (contexa.opentelemetry)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.opentelemetry.enabled | boolean | true | OpenTelemetry exporter 활성화. |
contexa.opentelemetry.service-name | String | contexa-core | OTel 서비스 이름. |
contexa.opentelemetry.exporter-endpoint | String | http://localhost:4317 | OTLP gRPC 엔드포인트. |
contexa.opentelemetry.sampling-probability | double | 1.0 | 추적 샘플링 확률(0.0–1.0). |
캐시 (contexa.cache)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.cache.type | enum | REDIS | 캐시 백엔드 타입: LOCAL, REDIS, HYBRID. |
contexa.cache.local.max-size | int | 1000 | 로컬 캐시 최대 엔트리 수. |
contexa.cache.local.default-ttl-seconds | int | 60 | 로컬 캐시 기본 TTL. |
contexa.cache.redis.default-ttl-seconds | int | 300 | Redis 캐시 기본 TTL. |
contexa.cache.redis.key-prefix | String | contexa:cache: | Redis 키 접두사. |
contexa.cache.pubsub.enabled | boolean | true | Pub/Sub 기반 캐시 무효화 활성화. |
contexa.cache.pubsub.channel | String | contexa:cache:invalidation | 무효화 이벤트 Pub/Sub 채널. |
contexa.cache.domains.<domain> — 도메인: users, roles, permissions, groups, policies, soar, hcad | |||
.local-ttl-seconds | int | 가변 | 도메인별 로컬 TTL (users/roles/groups 3600–14400, permissions 28800, policies 30, soar 900, hcad 86400). |
.redis-ttl-seconds | int | 가변 | 도메인별 Redis TTL (로컬과 동일, 단 policies=300). |
브릿지 (contexa.bridge)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.bridge.enabled | boolean | true | SecurityContext 브릿지 활성화. |
contexa.bridge.populate-security-context | boolean | true | Spring Security로부터 Contexa SecurityContext를 채웁니다. |
contexa.bridge.authentication.prefer-security-context | boolean | true | 인증 매핑 시 SecurityContext를 토큰 클레임보다 우선합니다. |
contexa.bridge.authentication.security-context.enabled | boolean | true | SecurityContext 쪽으로의 인증 브릿지 활성화. |
contexa.bridge.authentication.security-context.display-name-keys | List<String> | [displayName, name, fullName, userName, username, preferred_username] | 표시 이름으로 해석할 클레임 키. |
contexa.bridge.authentication.security-context.principal-type-keys | List<String> | [principalType, userType, actorType, token_use] | 주체 유형 클레임 키. |
contexa.bridge.authentication.security-context.authentication-type-keys | List<String> | [authenticationType, authMethod, loginMethod, method, factorType] | 인증 유형 클레임 키. |
contexa.bridge.authentication.security-context.authentication-assurance-keys | List<String> | [authenticationAssurance, authLevel, loa, acr] | 보증 수준 클레임 키. |
contexa.bridge.authentication.security-context.mfa-keys | List<String> | [mfa, mfaVerified, mfaCompleted, secondFactorVerified, amr] | MFA 플래그 클레임 키. |
contexa.bridge.authentication.security-context.auth-time-keys | List<String> | [authenticationTime, authenticatedAt, loginTime, issuedAt, auth_time, iat] | 인증 시각 클레임 키. |
contexa.bridge.authorization.security-context.enabled | boolean | true | 인가 브릿지 활성화. |
contexa.bridge.authorization.security-context.authorization-effect-keys | List<String> | [authorizationEffect, effect, decision, decisionEffect] | 인가 effect 클레임 키. |
contexa.bridge.authorization.security-context.privileged-keys | List<String> | [privileged, isPrivileged, privilegedFlow] | 권한 승격 플래그 클레임 키. |
contexa.bridge.authorization.security-context.policy-id-keys | List<String> | [policyId, policy, decisionPolicy] | 정책 ID 클레임 키. |
contexa.bridge.authorization.security-context.policy-version-keys | List<String> | [policyVersion, version] | 정책 버전 클레임 키. |
contexa.bridge.authorization.security-context.scope-tag-keys | List<String> | [scopeTags, scopes, scope, permissionScopes, scp] | 스코프 태그 클레임 키. |
contexa.bridge.authorization.security-context.role-keys | List<String> | [effectiveRoles, roles, roleSet, groups] | 역할 클레임 키. |
contexa.bridge.authorization.security-context.authority-keys | List<String> | [effectiveAuthorities, authorities, permissions, grantedAuthorities, scope, scp] | 권한(authority) 클레임 키. |
contexa.bridge.authorization.session.enabled | boolean | true | 세션에 인가 컨텍스트 저장. |
contexa.bridge.delegation.session.enabled | boolean | true | 세션에 위임 컨텍스트 저장. |
contexa.bridge.session.enabled | boolean | true | 세션 기반 브릿지 저장 활성화. |
contexa.bridge.sync.enabled | boolean | true | 사용자 동기화 활성화. |
contexa.bridge.sync.min-refresh-interval-seconds | long | 60 | 사용자 새로고침 최소 주기. |
contexa.bridge.sync.synthetic-email-domain | String | shadow.contexa.local | 섀도우 사용자용 합성 이메일 도메인. |
Spring AI 계층 전략 (contexa.security.tiered)
Layer 1(빠른 경로)과 Layer 2(전문가 분석) 런타임 세부 튜닝입니다. TieredStrategyProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.security.tiered.layer1 | |||
.vector-search-limit | int | 3 | Layer 1 벡터 검색 결과 개수. |
.default-budget-profile | String | CORTEX_L1_INTERACTIVE_STRICT | Layer 1 기본 프롬프트 예산 프로파일. |
.rag.similarity-threshold | double | 0.5 | Layer 1 RAG 유사도 임계값. |
.session.max-recent-actions | int | 100 | Layer 1 최근 행동 윈도우 크기. |
.cache.max-size | int | 1000 | Layer 1 캐시 크기. |
.cache.ttl-minutes | int | 30 | Layer 1 캐시 TTL. |
.timeout.total-ms | long | 5000 | Layer 1 전체 타임아웃. |
.timeout.llm-ms | long | 3200 | Layer 1 LLM 호출 타임아웃. |
.timeout.rag-ms | long | 900 | Layer 1 RAG 호출 타임아웃. |
.prompt.max-similar-events | int | 2 | Layer 1 프롬프트 내 유사 이벤트 최대 개수. |
.prompt.max-rag-documents | int | 3 | Layer 1 프롬프트 내 RAG 문서 최대 개수. |
.prompt.include-event-id | boolean | false | 원본 이벤트 ID 포함 여부. |
.prompt.include-raw-timestamp | boolean | false | 원본 타임스탬프 포함 여부. |
.prompt.include-raw-session-id | boolean | false | 원본 세션 ID 포함 여부. |
.prompt.include-full-user-agent | boolean | false | 전체 User-Agent 포함 여부. |
contexa.security.tiered.layer2 | |||
.timeout-ms | long | 7000 | Layer 2 전체 타임아웃. |
.enable-soar | boolean | false | Layer 2에서 SOAR 에스컬레이션 활성화. |
.rag-top-k | int | 5 | Layer 2 RAG top-k. |
.default-budget-profile | String | CORTEX_L2_EXPERT_STRICT | Layer 2 기본 프롬프트 예산 프로파일. |
.rag.similarity-threshold | double | 0.5 | Layer 2 RAG 유사도 임계값. |
.cache.max-size | int | 1000 | Layer 2 캐시 크기. |
.cache.ttl-minutes | int | 30 | Layer 2 캐시 TTL. |
contexa.security.tiered.truncation | |||
.layer1.user-agent | int | 150 | Layer 1 User-Agent 자르기 길이. |
.layer1.payload | int | 200 | Layer 1 페이로드 자르기 길이. |
.layer1.rag-document | int | 180 | Layer 1 RAG 문서 자르기 길이. |
.layer2.user-agent | int | 150 | Layer 2 User-Agent 자르기 길이. |
.layer2.payload | int | 1000 | Layer 2 페이로드 자르기 길이. |
.layer2.rag-document | int | 500 | Layer 2 RAG 문서 자르기 길이. |
contexa.security.tiered.vector-cache | |||
.max-size | int | 10000 | 벡터 캐시 크기. |
.expire-minutes | int | 5 | 벡터 캐시 만료 시간. |
.enabled | boolean | true | 벡터 캐시 활성화. |
.record-stats | boolean | true | 캐시 통계 기록. |
contexa.security.tiered.security | |||
.trusted-proxies | List<String> | [] | 신뢰 리버스 프록시 CIDR 목록. |
.trusted-proxy-validation-enabled | boolean | true | 신뢰 프록시 검증 활성화. |
contexa.security.tiered.prompt-compression / .prompt-runtime | |||
.prompt-compression.enabled | boolean | true | 프롬프트 압축 활성화. |
.prompt-runtime.native-structured-output-enabled | boolean | true | 네이티브 구조화 출력 활성화. |
.prompt-runtime.native-structured-output-disabled-profiles | List<String> | [] | 네이티브 구조화 출력을 비활성화할 프로파일 목록. |
.prompt-runtime.telemetry-enabled | boolean | true | 프롬프트 런타임 텔레메트리 활성화. |
Spring AI 태스크 매핑 (contexa.security.mapping)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.security.mapping.task-to-tier | Map<String, Integer> | {} | 태스크별 계층 오버라이드. |
contexa.security.mapping.task-to-analysis-level | Map<String, String> | {} | 태스크별 분석 수준 오버라이드. |
contexa.security.mapping.task-configs | Map<String, Object> | {} | 태스크별 구성 오버라이드. |
contexa.security.mapping.defaults.tier1-tasks | String[] | [THREAT_FILTERING, QUICK_DETECTION] | 기본 Tier 1 태스크 목록. |
contexa.security.mapping.defaults.tier2-tasks | String[] | [CONTEXTUAL_ANALYSIS, BEHAVIOR_ANALYSIS, CORRELATION] | 기본 Tier 2 태스크 목록. |
contexa.security.mapping.defaults.tier3-tasks | String[] | [EXPERT_INVESTIGATION, INCIDENT_RESPONSE, FORENSIC_ANALYSIS, SOAR_AUTOMATION, APPROVAL_WORKFLOW] | 기본 Tier 3 태스크 목록. |
contexa.security.mapping.defaults.default-tier | Integer | 2 | 기본 Tier(폴백). |
contexa.security.mapping.defaults.default-analysis-level | String | NORMAL | 기본 분석 수준(폴백). |
보안 이벤트·라우터·Redis·Kafka·세션·파이프라인·Plane·ColdPath·StepUp
추가 런타임 수준 튜닝 영역입니다. 기본값이 운영 환경에 적합하므로 지침이 있을 때만 조정하세요.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.security.coldpath (SecurityColdPathProperties) | |||
.confidence.layer1-base | double | 0.5 | Layer 1 콜드패스 기본 신뢰도. |
.confidence.layer2-base | double | 0.7 | Layer 2 콜드패스 기본 신뢰도. |
contexa.security.event (SecurityEventProperties) | |||
.publishing.enabled | boolean | true | 보안 이벤트 게시 활성화. |
.publishing.exclude-uris | String | /actuator,/health,/metrics | 게시 제외 URI. |
.publishing.anonymous.enabled | boolean | true | 익명 이벤트 게시. |
.executor.core-pool-size | int | 코어×2 | 게시자 실행자 코어 크기. |
.executor.max-pool-size | int | 코어×4 | 게시자 실행자 최대 크기. |
.executor.queue-capacity | int | 10000 | 게시자 큐 용량. |
.tier.critical.max-latency-ms | int | 100 | Critical 계층 지연 예산. |
.tier.contextual.max-latency-ms | int | 1000 | Contextual 계층 지연 예산. |
.tier.general.max-latency-ms | int | 10000 | General 계층 지연 예산. |
.tier.general.sampling-rate | double | 0.1 | General 계층 샘플링 비율. |
.deduplication.enabled | boolean | true | 이벤트 중복 제거 활성화. |
.deduplication.window-minutes | int | 5 | 중복 제거 윈도우. |
.deduplication.cache-size | int | 10000 | 중복 제거 캐시 크기. |
contexa.security.router (SecurityRouterProperties) | |||
.threshold.soar | double | 0.9 | SOAR 에스컬레이션 임계값. |
.threshold.block | double | 0.8 | 차단 조치 임계값. |
.threshold.analysis-confidence | double | 0.6 | 분석 신뢰도 임계값. |
.threshold.pass-through | double | 0.6 | 통과 임계값. |
contexa.security.session (SecuritySessionProperties) | |||
.create.allowed | boolean | true | 세션 생성 허용. |
.header.name | String | X-Auth-Token | 세션 토큰 헤더. |
.bearer.enabled | boolean | true | Bearer 토큰 수락. |
.hijack.channel | String | security:session:hijack:event | 세션 하이재킹 이벤트 채널. |
.hijack.detection.enabled | boolean | true | 세션 하이재킹 감지 활성화. |
.cookie.name | String | SESSION | 세션 쿠키 이름. |
.threat.ip-change-risk | double | 0.4 | IP 변경에 대한 위험 점수. |
.threat.ua-change-risk | double | 0.3 | UA 변경에 대한 위험 점수. |
.threat.rapid-access-threshold-ms | int | 100 | 급속 접근 임계값. |
.threat.rapid-access-risk | double | 0.2 | 급속 접근 위험 점수. |
.threat.thresholds.monitoring | double | 0.5 | 모니터링 임계값. |
.threat.thresholds.grace-period | double | 0.7 | 유예 기간 임계값. |
.threat.thresholds.invalidation | double | 0.9 | 무효화 임계값. |
security.redis (SecurityRedisProperties) | |||
.channel.authorization | String | security:authorization:events | 인가 이벤트 채널. |
.channel.authentication | String | security:events | 인증 이벤트 채널. |
.channel.incident | String | security:incidents | 인시던트 이벤트 채널. |
.channel.threat | String | security:threats | 위협 이벤트 채널. |
.channel.audit | String | security:audit:events | 감사 이벤트 채널. |
.channel.general | String | security:events | 일반 이벤트 채널. |
.stream.authorization / .incident / .threat / .audit / .general / .authentication | String | security:stream:* | 도메인별 Redis Streams 이름. |
.stream.maxlen | int | 10000 | Redis Stream 최대 길이. |
.ttl.minutes | int | 60 | 보안 Redis 키 TTL. |
.memory.max-mb | int | 1024 | 보안 Redis 메모리 예산. |
.memory.warning-threshold | double | 0.8 | 메모리 경고 임계값. |
.memory.critical-threshold | double | 0.9 | 메모리 치명 임계값. |
security.kafka (SecurityKafkaProperties) | |||
.topic.authorization | String | security-authorization-events | 인가 토픽. |
.topic.authentication | String | auth-events | 인증 토픽. |
.topic.incident | String | security-incident-events | 인시던트 토픽. |
.topic.threat | String | threat-indicators | 위협 토픽. |
.topic.audit | String | security-audit-events | 감사 토픽. |
.topic.general | String | security-events | 일반 토픽. |
.topic.dlq | String | security-events-dlq | DLQ 토픽. |
.topic.soar-action | String | soar-action-events | SOAR 액션 토픽. |
.dlq.max-retries | int | 3 | DLQ 최대 재시도. |
.dlq.retry-delay-ms | int | 5000 | DLQ 재시도 지연. |
.dlq.alert-threshold | int | 10 | DLQ 경보 임계값. |
contexa.security.pipeline (SecurityPipelineProperties) | |||
.kafka.topic | String | security-events | 기본 파이프라인 Kafka 토픽. |
contexa.security.plane (SecurityPlaneProperties) | |||
.agent.name | String | SecurityPlaneAgent-1 | Plane 에이전트 식별자. |
.agent.auto-start | boolean | true | Plane 에이전트 자동 시작. |
.agent.organization-id | String | default-org | 에이전트 조직 ID. |
.agent.execution-mode | String | ASYNC | 에이전트 실행 모드. |
.agent.auto-approve-low-risk | boolean | false | 저위험 액션 자동 승인. |
.agent.event-timeout-ms | long | 30000 | 에이전트 이벤트 처리 타임아웃. |
.agent.max-deferred-retries | int | 3 | 연기 재시도 최대 횟수. |
.kafka.bootstrap-servers | String | localhost:9092 | Kafka 부트스트랩 서버. |
.kafka.group-id | String | security-plane-consumer | Kafka 컨슈머 그룹. |
.kafka.topics.security-events / .threat-indicators / .network-events / .auth-events | String | (각각 기본값) | Plane Kafka 토픽 이름. |
.monitor.queue-size | int | 10000 | 모니터 큐 크기. |
.monitor.batch-size | int | 8 | 모니터 배치 크기. |
.monitor.flush-interval-ms | long | 500 | 모니터 플러시 주기. |
.monitor.correlation-window-minutes | int | 10 | 모니터 상관관계 윈도우. |
.monitor.dedup-window-minutes | int | 5 | 모니터 중복 제거 윈도우. |
.notifier.batch-size | int | 10 | 알림자 배치 크기. |
.notifier.async-enabled | boolean | true | 알림자 비동기 모드. |
.notifier.critical-threshold | double | 0.8 | 알림자 치명 임계값. |
.redis.batch-size | int | 50 | Plane Redis 배치 크기. |
.redis.cache.ttl-minutes | int | 60 | Plane Redis 캐시 TTL. |
.redis.channel.security-events | String | security:events | Plane Redis 보안 이벤트 채널. |
.redis.channel.threat-alerts | String | security:threats | Plane Redis 위협 경보 채널. |
.llm-executor.core-pool-size | int | 2 | LLM 실행자 코어 크기. |
.llm-executor.max-pool-size | int | 2 | LLM 실행자 최대 크기. |
.llm-executor.queue-capacity | int | 50 | LLM 실행자 큐 용량. |
.deduplication.enabled | boolean | true | Plane 중복 제거 활성화. |
.deduplication.window-minutes | int | 5 | 중복 제거 윈도우. |
.deduplication.cache-size | int | 10000 | 중복 제거 캐시 크기. |
contexa.security.stepup (SecurityStepUpProperties) | |||
.max-attempts | int | 3 | 스텝업 최대 시도 횟수. |
.lockout-duration | int | 300 | 잠금 지속 시간(초). |
contexa.iam.admin / contexa.policy | |||
contexa.iam.admin.rest-docs-path | String | /docs/index.html | IAM 어드민 REST 문서 경로. |
contexa.policy.combining-algorithm | enum | FIRST_APPLICABLE | XACML 정책 조합 알고리즘. |