쿠버네티스를 접근하는 사용자는 관리자, 개발자, 서드파티 프로그램들로 분류할 수 있다. (어플리케이션 엔드유저에 대한 인증은 어플리케이션 단에서 수행한다)
쿠버네티스에서는 자체적인 사용자 인증 기능은 제공하지 않고 파일을 이용하거나 LDAP 등 별도 계정 기능을 이용해야 한다. 단 외부 서비스들이 사용하는 '서비스 계정(sa)'은 생성하는 기능을 제공한다. 아래 파일 기반으로 한 인증 방식은 보안에 취약하므로 권장하지 않는 방식이다.
1. File
파일을 이용한 인증 방법은 csv형태로 패스워드, 계정, uid, group 을 담은 파일을 생성 후 kube-apiserver 정의 파일에 옵션으로 파일을 지정하는 것이다.
—basic-auth-file=user-details.csv
apiVersion: v1 kind: Pod metadata: creationTimestamp: null name: kube-apiserver namespace: kube-system spec: containers: - command: - kube-apiserver - --authorization-mode=Node,RBAC <content-hidden> - --basic-auth-file=/tmp/users/user-details.csv
- 계정정보가 등록된 후에 해당 계정을 이용해 인증하기 위한 방법은 아래와 같다.
- curl -v -k https://master-node-ip:6443/api/v1/pods -u "user1:password123"
2. Token
패스워드를 토큰 형태로 하여 파일에 저장할 수 있다.
—token-auth-file=user-details.csv
curl -v -k https://master-node-ip:6443/api/v1/pods —header "Authorization: Bearer 토큰값"
'Kubernetes' 카테고리의 다른 글
[Kubernetes] Namespace (0) | 2021.02.21 |
---|---|
[Kubernetes] Volume 관리 (0) | 2021.01.25 |
[Kubernetes] Network Policy (0) | 2021.01.19 |
[Kubernetes] 권한 관리(RBAC) (0) | 2020.12.30 |
[Kubernetes] 백업, 복구 (0) | 2020.12.23 |