서비스 계정 관리
더 많은 작업
- Service Account Management; 서비스 계정 관리(비인간 신원 관리)
- 사람이 아닌 애플리케이션·스크립트·배치 작업·AI 에이전트가 시스템에 접근할 때 쓰는 서비스 계정을 식별·통제·검토하는 관리 활동
웹 서버가 DB에 접속할 때, 백업 스크립트가 파일 서버에 로그인할 때, CI/CD 파이프라인이 클라우드에 배포할 때 쓰는 계정이 서비스 계정이다. 클라우드와 마이크로서비스, 자동화가 늘면서 조직 안의 비인간 신원(NHI, non-human identity) 수가 사람 계정 수를 크게 넘어서는 경우가 흔해졌다. 그런데 서비스 계정은 인사 시스템에 등록되지 않아 입사·퇴사 절차에 걸리지 않고, 장애가 두려워 비밀번호도 바꾸지 않는 경우가 많다. CISSP 5.5 항목은 서비스 계정 관리를 별도 항목으로 두고, 5.5 접근 권한 검토의 대상에도 서비스 계정을 명시한다.
| 종류 | 예 | 인증 수단 |
|---|---|---|
| OS·도메인 서비스 계정 | 윈도우 서비스, 리눅스 데몬 실행 계정 | 비밀번호, 관리형 서비스 계정 |
| 애플리케이션 계정 | 웹 애플리케이션의 DB 접속 계정 | 비밀번호, 인증서 |
| 클라우드 워크로드 신원 | 서비스 주체(service principal), 관리 ID, 클라우드 IAM 역할 | 단기 토큰, 인증서, 연합 토큰 |
| API 키·토큰 | 외부 SaaS 연동, 봇, 웹훅 | 장기 API 키, 액세스 토큰 |
| 파이프라인 신원 | CI/CD 배포 계정 | 저장된 비밀값 또는 워크로드 신원 연합 |
| AI 에이전트 | 업무를 자율 수행하며 여러 시스템 API를 호출하는 에이전트 | 위임 토큰, 워크로드 신원 |
| 위험 | 설명 |
|---|---|
| 높은 권한 | 설치할 때 편하자고 도메인 관리자나 DB 소유자 권한을 준 채 방치한다. |
| 비밀번호 미변경 | 바꾸면 서비스가 멈출까 봐 몇 년째 같은 비밀번호를 쓴다. 만료 없음으로 설정되기도 한다. |
| 대화형 로그인 | 사람이 서비스 계정으로 직접 로그인해 작업한다. 누가 했는지 추적할 수 없다. |
| 소유자 불명 | 만든 사람이 퇴사해 아무도 용도를 모른다. 그래서 지우지도 못한다. |
| 비밀값 노출 | 설정 파일, 소스 코드, 스크립트, CI 로그에 비밀번호·키가 평문으로 남는다. |
| 재사용 | 한 계정을 여러 애플리케이션이 같이 써서 하나가 털리면 모두 노출된다. |
OWASP의 Non-Human Identities Top 10(2025)은 부적절한 폐기(Improper Offboarding)를 1위, 비밀값 유출(Secret Leakage)을 2위로 꼽고, 과도한 권한, 장기 비밀값(Long-Lived Secrets), 비인간 신원 재사용, 사람의 비인간 신원 사용(Human Use of NHI) 등을 함께 들고 있다.
| 대책 | 내용 |
|---|---|
| 목록화 | 모든 서비스 계정을 대장에 올리고 용도, 사용 시스템, 권한, 인증 수단, 만료일을 기록한다. 이름 규칙(예: svc- 접두어)으로 사람 계정과 구분한다. |
| 소유자 지정 | 계정마다 책임자(사람)를 지정한다. 소유자가 퇴사·전보하면 소유권을 넘기는 절차를 계정 수명 주기 관리에 넣는다. |
| 최소 권한 | 실제로 필요한 자원·작업만 허용한다. 도메인 관리자 같은 광범위한 권한은 주지 않는다. |
| 대화형 로그인 금지 | 그룹 정책 등으로 콘솔·원격 데스크톱 로그인을 막고, 허용된 호스트에서만 쓰게 한다. 사람이 쓴 흔적이 보이면 경보한다. |
| 관리형 서비스 계정 | 윈도우의 그룹 관리 서비스 계정(gMSA)은 비밀번호를 윈도우가 자동으로 관리·변경하고 여러 서버가 같은 신원을 쓰게 해 준다. 사람이 비밀번호를 알 필요가 없다. |
| 워크로드 신원·단기 토큰 | 클라우드에서는 관리 ID나 워크로드 신원 연합을 써서 장기 비밀값 없이 짧은 수명의 토큰을 받는다. 마이크로소프트는 관리 ID를 쓰면 개발자가 자격 증명을 관리할 필요가 없고 자격 증명에 접근할 수도 없다고 설명한다. |
| 비밀 순환 | 장기 비밀이 불가피하면 금고에 보관하고 자동으로 주기 교체한다(자격 증명 관리 참고). |
| 감시·검토 | 서비스 계정의 행위 기준선을 두고 이상을 탐지하며, 정기 접근 권한 검토에서 미사용 계정을 비활성화한다. |
ISC2는 AI 에이전트를 비인간 신원으로 관리해야 할 대상으로 CISSP 도메인에 포함시켰다. AI 에이전트는 사람의 지시를 받아 여러 도구와 API를 연쇄적으로 호출하므로, 일반 서비스 계정보다 행동 범위를 예측하기 어렵다.
- 에이전트마다 별도 신원을 주고, 사람 계정의 자격 증명을 그대로 넘기지 않는다.
- 위임받은 권한은 작업 범위와 시간을 제한한 토큰으로 준다.
- 프롬프트 인젝션으로 에이전트가 의도하지 않은 작업을 하도록 조작될 수 있으므로, 고위험 작업(결제, 삭제, 권한 변경)에는 사람 승인을 거치게 한다.
- 에이전트가 무엇을 호출했는지 로그를 남겨 책임 추적을 가능하게 한다.
Microsoft Entra 조건부 접근도 에이전트 신원에 제로 트러스트 정책을 적용하는 기능을 두는 등, 주요 신원 플랫폼이 AI 에이전트를 별도 신원 유형으로 다루기 시작했다.
- 서비스 계정에는 반드시 사람 소유자를 지정한다. 소유자 불명 계정은 비활성화 후 영향 확인을 거쳐 정리한다.
- 서비스 계정으로 사람이 대화형 로그인하는 것은 책임 추적성을 깨는 위반이다.
- 비밀번호 순환이 어렵다는 이유로 영구 비밀번호를 두지 말고, 관리형 서비스 계정이나 단기 토큰으로 바꾼다.
- 접근 권한 검토 대상에는 사용자뿐 아니라 시스템·서비스 계정도 포함된다.
- AI 에이전트도 비인간 신원으로 보고 최소 권한, 기한부 토큰, 행위 기록을 적용한다.
- OWASP Non-Human Identities Top 10 – OWASP
- Group Managed Service Accounts overview – Microsoft Learn
- What are workload identities? – Microsoft Learn
- What are managed identities for Azure resources? – Microsoft Learn