Files
vpd-permission-poc/docs/design/617-dds-mcp-end-user-context/fn-get-database-access-token.md

1.1 KiB

함수 명세: getDatabaseAccessToken (#617)

상태: Draft · 분류: 복잡 — OCI IAM 외부 I/O·비밀·만료 관리

책임

MCP SSE 서비스 애플리케이션의 short-lived database-access token을 제공한다. MCP 사용자 Bearer와 혼동하거나 대체하지 않는다.

시그니처

() -> DatabaseAccessToken

규칙

  1. 개인 IAM 사용자(joungmin.ko@oracle.com)의 장기 token을 사용하지 않는다.
  2. mcp-dds-service 전용 OCI IAM 애플리케이션의 client-credentials flow를 사용한다.
  3. access token은 만료 전 안전 여유를 두고 갱신하며, 원문을 로그·DB·Redmine에 저장하지 않는다.
  4. 토큰 발급 실패 시 이전 만료 token을 재사용하지 않고 Tool DB 작업을 차단한다.
  5. secret은 배포 환경의 secret store만 사용한다.

스파이크 확인

  • OCI Identity Domain의 무료/현재 entitlement에서 database-access token 발급이 가능한지 확인한다.
  • ADB의 identity provider, TLS, pool account, application identity 조건을 실제 연결로 확인한다.

실패

DDS_CONTEXT_UNAVAILABLE로 fail-closed한다.