Post

Linux 쿠버네티스(6)

Linux 쿠버네티스(6)

인증(Authentication)과 권한(Authorization) 관리

둘은 다르다

API 접근 제어

  1. private key
  2. 인증서만들기
  3. context안에 유저 인증서

인증

권한 관리

  1. 권한(Authorization)
    • 특정 유저/그룹/ServiceAccount가 접근하려는 API Resource에 접근 권한을 설정
    • API Resource: pod, deployment, service, configmap, secret, …
    • 권한: get, list, watch, delete, create, update,… - 권한 있는 유저만 접근 하도록 허용
  2. 권한 제어
    • 롤(역할, role)
    • 어떤 API를 이용할 수 있는지의 정의
    • 쿠버네티스의 사용권한을 정의
    • 지정된 네임스페이스에서만 유효 - 롤 바인딩(rolebinding)
    • 사용자/그룹 또는 serviceAccount와 역할을 연결
  • 롤 만들때 명령어
    #> kubectl create role pod-reader –verb=get –resource=pods –resource-name=readablepod –resource-name=anotherpod
    • yaml파일보다 명령어 한줄 치는게 더 나으니 CKA에서는 그렇게 할것.

정리작업할 때 주의 사항

  1. 새로 만든 사용자로 작업을 수행해서는 안됨
  2. 사용자를 최고 권한 사용자로 바꾼뒤, 정리 작업 수행

[추가 실습]

  • 새로운 context 생성 »
  • (준비) 미리 사용자 존재: kubernetes-admin@cluster.local
    (준비) 미리 클러스터 존재 : cluster.local

#> kubectl config set-context NAME –cluster=’’ –user=’’
#> kubectl config use-context mycontext
#> kubectl config view

=» 이름이 여러개 == 다른 클러스터를 사용해서 다른 사용자를 사용한다.

[참고]
-> kube-ns -> kubens -> kube-ctx -> kubectx

This post is licensed under CC BY 4.0 by the author.