[Kubernetes] Authentication

쿠버네티스를 접근하는 사용자는 관리자, 개발자, 서드파티 프로그램들로 분류할 수 있다. (어플리케이션 엔드유저에 대한 인증은 어플리케이션 단에서 수행한다)

쿠버네티스에서는 자체적인 사용자 인증 기능은 제공하지 않고 파일을 이용하거나 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

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