Secrets Manager API
카카오클라우드 Secrets Manager 서비스의 API 사용 방법은 다음과 같습니다.
안내
이 가이드는 기존 Secrets Manager API에 대한 문서입니다. 카카오클라우드 퍼블릭 클라우드에서 Secrets Manager API를 새로 연동하는 경우 OpenAPI 문서에 안내된 엔드포인트와 요청/응답 스키마를 기준으로 진행해 주세요. OpenAPI는 이 가이드와 제공 범위 및 엔드포인트가 다를 수 있습니다.
주요 정보
IAM 기반 역할 관리
Secrets Manager 서비스는 카카오클라우드의 IAM 역할 기반 액세스 제어(RBAC)를 따릅니다. 사용자 토큰으로 프로젝트 내 역할을 확인하며, 역할에 따라 API 사용 권한이 부여됩니다.
프로젝트 역할
| 역할 | 프로젝트 관리자 (Admin) | 프로젝트 멤버 (Member) | 프로젝트 리더 (Reader) | Secrets Manager 매니저 (Manager) | Secrets Manager 뷰어 (Viewer) |
|---|---|---|---|---|---|
| 시크릿 값 조회 | ✓ | ✓ | ✓ |
주의
- KMS 키 정보를 조회하기 위해서는 KMS 뷰어(Viewer) 역할 이상이 추가로 필요합니다.
- 시크릿 생성, KMS 키 변경, 버전 생성, 시크릿 값 조회 등 KMS 키를 사용해 시크릿 암호화 및 복호화를 할 수 있는 KMS 사용자(User) 역할 이상이 추가로 필요합니다.
시크릿
시크릿 관련 API는 다음과 같습니다.
시크릿 버전 값 조회
시크릿 버전의 암호화된 값을 조회합니다. 요청 시 version 파라미터를 생략하면 현재 폐기되지 않은 버전 중 가장 최신 버전인 기본 버전의 값이 자동으로 반환됩니다.
API 호출 방식
| 메서드 | 요청 URL |
|---|---|
| GET | https://secrets-manager.kr-central-2.kakaocloud.com/api/v1/secrets/{secret_id}/versions/value?version= |
Request Header
| Request Header | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
X-Auth-Token | string | 필수 | 사용자 인증 토큰 입력 |
Content-Type | string | 필수 | application/json |
Path Parameter
| Parameter | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
secret_id | string | 필수 | 시크릿의 고유 ID |
Query Parameter
| Parameter | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
version | integer | 선택 | 조회할 시크릿 버전 |
Request Body
시크릿 조회 Request Body
이 API는 요청 본문을 사용하지 않습니다.
Request
시크릿 조회 Request 예시
curl --location --request GET 'https://secrets-manager.kr-central-2.kakaocloud.com/api/v1/secrets/{secret_id}/versions/value' \
--header 'X-Auth-Token: {x-auth-token}' --header 'Content-Type: application/json'
Response Body
시크릿 조회 Response Body
{
"code": "string",
"message": "string",
"data": "string",
"requestId": "string"
}
Response Elements
| 필드명 | 유형 | 설명 |
|---|---|---|
code | string | API 요청의 응답 코드를 나타냅니다. |
message | string | API 요청의 응답 메시지를 나타냅니다. |
data | string | 저장했던 시크릿의 데이터를 나타냅니다. |
requestId | string | API 요청의 식별자를 나타냅니다. |
상태 코드
| 코드 | 응답 내용 | 설명 |
|---|---|---|
200 | OK | 성공 |
400 | Bad Request | 유효하지 않은 요청 - 에러 메시지를 참고하여 요청 수정 |
401 | Unauthorized | 유효하지 않거나 만료된 인증 토큰 - X-Auth-Token 헤더 정보 확인 요망 |
403 | Forbidden | 인증은 성공했으나 요청한 리소스 또는 작업에 대한 권한 없음 - 올바른 권한이 부여된 계정 또는 프로젝트로 요청했는지 확인 요망 |
404 | Not Found | 존재하지 않는 시크릿 - secret_id 정보 확인 요망 |
405 | Method Not Allowed | 허용되지 않은 HTTP 메서드 요청 - API의 HTTP 메서드(GET, POST 등) 확인 요망 |
409 | Conflict | 요청 처리 중 현재 리소스 상태와 충돌 발생 - 에러 메시지를 참고하여 요청 수정 |
500 | Internal Server Error | 내부 서버 에러 - 잠시 후 재요청 요망 |