2.5 KiB
ADR-0001: DDS MCP Context에는 개인 IAM 사용자 대신 서비스 애플리케이션을 사용한다
상태: Proposed 날짜: 2026-07-01 · 결정자: [AI] Architect · 관련 이슈: #617
맥락 (Context)
MCP SSE 서비스는 자체 Bearer로 애플리케이션 사용자를 식별하고, local DDS END USER Context를 부착해 Tool SQL을 실행해야 한다. application-mediated DDS Context에는 database-access token이 필요하다.
개인 IAM 사용자 joungmin.ko@oracle.com의 장기 token을 서비스 설정에 넣으면 개인 계정 수명주기, 감사, 회전, 퇴사, 권한 범위가 MCP 서비스의 가용성과 보안 경계에 직접 결합된다. 이 IAM 사용자는 OCI CLI를 통한 서비스 애플리케이션 등록의 관리자 역할로만 사용한다.
결정 (Decision)
mcp-dds-service라는 OCI IAM 서비스 애플리케이션을 별도로 등록하고, client-credentials flow로 short-lived database-access token을 취득한다. MCP 사용자는 IAM 사용자가 아니라 기존 CB_APP_USER 및 로컬 DDS END USER로 관리한다. client ID·client secret은 승인된 배포 환경의 secret store에만 저장하며 채팅·Redmine·Git에 남기지 않는다.
이 결정은 P0 스파이크에서 실제 OCI tenancy/ADB 설정으로 Context attach가 증명되기 전까지 Proposed 상태다.
근거 (Rationale)
서비스 신뢰와 업무 사용자 신원을 분리한다. database-access token은 서비스의 Context 부착 권한이고, DDS END USER는 DB가 DATA ROLE/DATA GRANT를 집행할 실제 권한 주체다.
결과 (Consequences)
- 긍정: 개인 계정과 서비스 실행 권한을 분리하고, 사용자별 IAM 계정 없이 DDS Context를 적용할 수 있다.
- 부정 / 비용: OCI IAM 애플리케이션 등록, token cache/rotation, TLS/DB identity 구성, secret 관리가 필요하다.
- 후속 작업: Free Identity Domain entitlement, client-credentials database token, ADB local END USER Context attach를 스파이크로 검증한다.
검토한 대안 (Alternatives Considered)
- 개인 IAM 사용자 token 고정 — 개인 수명주기·감사·권한 회전에 서비스가 종속되어 기각.
- MCP 사용자마다 IAM 사용자 생성 — ERP/기존 사용자 관리 모델을 IAM으로 중복 이전해야 하므로 기각.
- IAM 없이 자체 Bearer만 사용 — application-mediated DDS Context attach에 필요한 database-access token을 제공하지 못하므로 기각.