19 lines
932 B
Markdown
19 lines
932 B
Markdown
# 함수 명세: `getDatabaseAccessToken` (#617)
|
|
|
|
> **상태**: Implemented · 구현: `DdsMcpDatabaseAccessTokenProvider`
|
|
|
|
## 책임
|
|
|
|
OCI IAM Confidential Application의 client-credentials token을 database-access token으로 발급·캐시한다. 이 token은 local DDS Context attach의 서비스 승인용이며 MCP 업무 사용자를 식별하지 않는다.
|
|
|
|
## 규칙
|
|
|
|
1. database resource scope로 `/oauth2/v1/token`을 호출한다.
|
|
2. 만료 전 refresh skew를 두고 갱신한다.
|
|
3. token 발급 실패 또는 응답 불완전 시 기존 만료 token을 사용하지 않고 `DDS_CONTEXT_UNAVAILABLE`로 fail-closed한다.
|
|
4. token, client secret, Authorization header는 로그·DB·Git·Redmine에 기록하지 않는다.
|
|
|
|
## 운영 검증
|
|
|
|
발급 token의 `resource_app_id`/`tenant_iss`/audience/scope가 ADB OCI IAM 설정 및 database resource와 일치해야 한다. ADB의 `OCI_IAM_DOMAIN_DB_CRED$`도 필수다.
|