29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# 함수 명세: `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한다.
|