본문으로 건너뛰기

주요 개념

카카오클라우드 Secrets Manager 서비스를 구성하는 핵심 요소와 정책에 대한 설명입니다. 각 개념을 이해하면 Secrets Manager를 더욱 효과적으로 활용할 수 있습니다.

시크릿

Secrets Manager 서비스에서 저장하고 관리하는 가장 기본적인 리소스 단위입니다. 데이터베이스 자격 증명, API 키, 일반 텍스트 등 민감한 정보의 컨테이너 역할을 하며, 고유 ID와 메타데이터, 그리고 여러 버전의 값을 가집니다.

시크릿 버전

시크릿 값이 업데이트될 때마다 생성되는 고유한 데이터 단위입니다.
하나의 시크릿은 여러 개의 버전을 가질 수 있으며, 각 버전은 생성된 시점의 암호화된 데이터 값을 안전하게 보존합니다.
이 버전 중 하나는 기본 버전으로 지정되어 애플리케이션이 버전을 지정하지 않고 시크릿 값을 요청할 때 사용됩니다.

기본 버전

기본 버전은 폐기되지 않은 버전 중 가장 최신 버전을 가리키며, 애플리케이션이 시크릿을 조회할 때 특정 버전을 명시하지 않으면 자동으로 반환되는 버전입니다. 다음 경우에 자동으로 갱신됩니다.

  • 새 시크릿 버전이 생성되면, 해당 버전이 새로운 기본 버전으로 지정됩니다.
  • 현재 기본 버전이 폐기되면, 폐기되지 않은 버전 중 가장 최신 버전이 새로운 기본 버전으로 지정됩니다.

시크릿 상태

하나의 시크릿은 여러 개의 버전을 가질 수 있으며, 각 버전은 고유한 상태 값을 통해 관리됩니다. 시크릿의 실제 사용 가능 여부는 이 버전의 상태에 따라 결정됩니다.

상태설명
운영(Active)버전이 활성화되어 암호화 및 복호화 작업을 수행할 수 있는 상태입니다.
- 새 버전은 운영 상태로 생성되며 기본 버전으로 설정됩니다.
정지(Deactivated)버전이 비활성화되어 일시적으로 사용을 중단시키는 상태입니다.
- 의심스러운 활동을 감지하거나, 임시로 애플리케이션을 중단해야 하는 경우 정지 상태로 변경합니다.
- 모든 버전이 정지, 폐기 상태이면 해당 시크릿은 자동으로 정지 상태가 됩니다.
- 정지 상태는 영구적인 상태가 아니며, 언제든지 운영 상태로 변경할 수 있습니다.
폐기(Destroyed)버전이 영구적으로 삭제되어 복구가 불가능한 상태가 됩니다.
- 시크릿의 모든 버전이 폐기되면 시크릿을 영구 삭제할 수 있습니다.

접근 제어

접근 제어를 사용해 시크릿 보안을 강화할 수 있습니다.
시크릿 생성자는 소유자로서 IAM 역할이 유지되는 동안, 생성한 시크릿에 대한 접근 및 관리 권한을 가집니다.

  • 접근 제어 사용: 허용 대상을 설정할 수 있습니다. 설정 가능한 대상은 동일 프로젝트 내 사용자, 그룹, 서비스 계정, 서비스 에이전트 계정이며, 실제 사용 권한은 해당 IAM 역할을 따릅니다.
  • 접근 제어 미사용: 시크릿 사용에 필요한 IAM 역할을 가진 대상은 해당 시크릿을 사용할 수 있습니다.

역할

Secrets Manager 서비스는 역할 기반 접근 제어(RBAC) 모델을 사용하여 시크릿 리소스에 대한 접근 권한을 안전하고 체계적으로 관리합니다. IAM 서비스에서 사용자에게 역할을 할당하여 허용된 작업만 수행하도록 제어할 수 있습니다.

Secrets Manager 뷰어(Viewer)

프로젝트 내에 생성된 시크릿의 목록, 상태, 버전 정보 등 리소스를 조회할 수 있는 권한을 가집니다. 단, 시크릿 값을 조회하거나, 시크릿 생성 및 상태를 변경하는 등 암호화 또는 관리 작업은 수행할 수 없습니다.

주의
  • KMS 키 정보를 조회하기 위해서는 KMS 뷰어(Viewer) 역할 이상이 추가로 필요합니다.

Secrets Manager 매니저(Manager)

시크릿 조회 권한을 포함하여, 프로젝트 내에서 시크릿을 생성, 수정, 삭제하고 시크릿 값을 변경하는 등 Secrets Manager 서비스의 관리 기능을 수행할 수 있는 권한을 가집니다. 단, 시크릿 암호화에 필요한 KMS 키 사용을 위해서는 KMS 사용자(User) 역할 이상이 필요합니다.

주의
  • 시크릿 생성, KMS 키 변경, 버전 생성, 시크릿 값 조회 등 KMS 키를 사용해 시크릿 암호화 및 복호화를 할 수 있는 KMS 사용자(User) 역할 이상이 추가로 필요합니다.