11장. 애플리케이션에서 서비스 계정 사용
11.1. 서비스 계정 개요
서비스 계정은 구성 요소가 API에 직접 액세스할 수 있는 OpenShift Container Platform 계정입니다. 서비스 계정은 각 프로젝트 내에 존재하는 API 오브젝트입니다. 서비스 계정을 사용하면 일반 사용자의 자격 증명을 공유하지 않고도 API 액세스 권한을 유연하게 제어할 수 있습니다.
OpenShift Container Platform CLI 또는 웹 콘솔을 사용하면 API 토큰을 통해 API에 대한 인증이 수행됩니다. 일반 사용자의 자격 증명을 사용하지 않고도 API에 액세스할 수 있도록 구성 요소를 서비스 계정과 연결할 수 있습니다. 예를 들어, 서비스 계정을 사용하면 다음을 수행할 수 있습니다.
- Pod를 생성하거나 삭제하기 위해 복제 컨트롤러를 통해 API를 호출합니다.
- 검색을 위해 컨테이너 내부 애플리케이션을 통해 API를 호출합니다.
- 모니터링 또는 통합을 위해 외부 애플리케이션을 통해 API를 호출합니다.
각 서비스 계정의 사용자 이름은 프로젝트와 이름에서 파생됩니다.
system:serviceaccount:<project>:<name>
모든 서비스 계정은 다음 두 그룹의 멤버이기도 합니다.
그룹 | 설명 |
---|---|
system:serviceaccounts | 시스템의 모든 서비스 계정이 포함됩니다. |
system:serviceaccounts:<project> | 지정된 프로젝트의 모든 서비스 계정이 포함됩니다. |
각 서비스 계정에는 다음 두 가지 시크릿이 자동으로 포함됩니다.
- API 토큰
- OpenShift Container Registry 자격 증명
생성된 API 토큰 및 레지스트리 인증 정보는 만료되지 않지만 시크릿을 삭제하여 무효화할 수 있습니다. 시크릿을 삭제하면 새로운 시크릿이 자동으로 생성되어 대체됩니다.