📂
Amazon EKS
  • Amazon EKS
  • 워크스페이스 생성하기
    • Cloud9 IDE 환경 구성
    • IAM 역할 생성
    • SSH & CMK Key 생성하기
  • EKS 클러스터 구축
    • EKS 클러스터 만들기
  • 쿠버네티스 대시보드 배포
    • Kubernetes 공식 대시보드 배포
  • 마이크로서비스 배포
    • 예제 애플리케이션 배포
    • 서비스 스케일(Scaling)
    • 애플리케이션 정리하기
  • 애플리케이션 배포 - Helm
    • HELM 설치
    • Helm으로 Nginx 배포
    • Helm을 사용하여 마이크로서비스 배포
    • 정리하기
  • 리소스 관리 - POD 배치
    • NodeSelector
    • Affinity and Anti-affinity
    • 더 실용적인 사용 사례
    • 정리하기
  • 리소스 관리 - Health Checks
    • Liveness 프로브 구성
    • Readiness 프로브 구성
    • 정리하기
  • 리소스 관리 - AutoScaling
    • HPA 구성하기
    • CA 구성하기
    • 정리하기
  • 네트워킹 - 서비스 노출
    • 서비스와 애플리케이션 연결
    • 서비스에 접근하기
    • 서비스 노출
    • Ingress
    • Ingress Controller
    • 정리하기
  • 네트워크 - Calico 정책
    • Calico 설치하기
    • Stars Policy Demo
    • 정리하기
  • Updating 권한설정 - RBAC
    • 테스트 POD 설치
    • 사용자 생성 및 맵핑
    • 역할과 바인딩
    • 정리하기
  • Updating 권한설정 - IAM 그룹
    • IAM Role, Group & User 생성하기
    • RBAC 설정하기
    • EKS 엑세스 테스트
    • 정리하기
  • Updating 권한설정 - Service account
    • OIDC 자격 증명 공급자 생성하기
    • IAM 역할 생성 및 지정
    • 샘플 POD 배포
    • 정리하기
  • Updating - 네트워크 - POD Security Group
    • SG 생성하기
    • RDS 생성하기
    • CNI 구성하기
    • SG 정책
    • Pod 배포하기
    • 정리하기
  • Updating - 모니터링 - Prometheus and Grafana
    • Prometheus 배포하기
    • Grafana 배포하기
    • 정리하기(Optional)
  • Updating 모니터링 - X-Ray
    • X-Ray DaemonSet 배포하기
    • 샘플 마이크로서비스 배포
    • X-Ray console 확인
    • 정리하기(Optional)
  • Updating 모니터링 - Container Insights
    • 사전 준비
    • Container Insights 구성하기
    • 부하 테스트
    • Container Insights 확인하기
    • 정리하기(Optional)
  • Updating CD - Gitops with Flux
    • 사전 준비
    • Codepipeline
    • EKS에 배포
    • 정리하기
  • Updating Argo Rollouts
  • Updating Service Mesh - AWS App Mesh
    • Fargate 및 OBSERVABILITY 구성
    • Product Catalog App 배포
    • APP MESH 설치
    • Porting to APP MESH
    • Virtual Gateway 구성
    • Canary
    • Observability
  • Updating 버전 업그레이드 - EKS Cluster
    • Upgrade EKS control Plane
    • Upgrade EKS CORE ADD-ONs
    • Upgrade Managed Node Group
Powered by GitBook
On this page
  • 1. 역할과 바인딩 생성하기
  • 2. 역할과 바인딩 검증하기

Was this helpful?

  1. Updating 권한설정 - RBAC

역할과 바인딩

Previous사용자 생성 및 맵핑Next정리하기

Last updated 3 years ago

Was this helpful?

1. 역할과 바인딩 생성하기

앞에서 언급 했듯이, 우리는 새로운 사용자인 rbac-user가 있지만 아직 어떤 역할에도 바인딩 되지 않았습니다. 바인딩 하기 위해 기본 관리자로 다시 전환해야 합니다.

다음을 실행하여 rbac-user로 정의할 환경 변수 값을 제거 합니다.

unset AWS_SECRET_ACCESS_KEY
unset AWS_ACCESS_KEY_ID

rbac-user가 아닌 Admin 사용자를 다시 확인하기 위해 다음 명령을 실행합니다:

aws sts get-caller-identity

결과는 사용자가 더 이상 rbac-user가 아닌 것을 보여 주어야 합니다.

이제 Admin 사용자는 rbac-test 네임 스페이스에만 해당하는 pods 및 deployments에 대한 List, Get 및 Watch 액세스를 제공하는 역할을 만들어야 합니다. 이 역할을 만들려면 다음을 실행 하십시오.

cat << EoF > rbacuser-role.yaml
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: rbac-test
  name: pod-reader
rules:
- apiGroups: [""] # "" indicates the core API group
  resources: ["pods"]
  verbs: ["list","get","watch"]
- apiGroups: ["extensions","apps"]
  resources: ["deployments"]
  verbs: ["get", "list", "watch"]
EoF

사용자가 있고 역할이 있으며, 이제 RoleBinding 리소스와 함께 바인딩 합니다. 다음을 실행하여 RoleBinding을 만듭니다.

cat << EoF > rbacuser-role-binding.yaml
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: read-pods
  namespace: rbac-test
subjects:
- kind: User
  name: rbac-user
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io
EoF

다음으로, 만든 RoleBindings와 role을 적용 합니다.

kubectl apply -f rbacuser-role.yaml
kubectl apply -f rbacuser-role-binding.yaml

2. 역할과 바인딩 검증하기

이제 사용자, 역할 및 RoleBinding이 정의 되었으므로 rbac-user로 다시 전환하여 테스트 해 보겠습니다.

rbac-user로 다시 전환하려면 rbac-user 환경 변수를 제공하는 다음 명령을 실행하고 해당 변수를 가져 왔는지 확인합니다:

. rbacuser_creds.sh; aws sts get-caller-identity

rbac-user로 로그인 했음을 반영하는 출력이 표시 되어야 합니다.

rbac-user로서 이전에 실패한 명령어를 실행하여 rbac 네임 스페이스에서 파드를 가져옵니다.

kubectl get pods -n rbac-test

결과는 다음과 유사해야 합니다.

동일한 명령을 다시 실행 하지만 rbac-test 네임 스페이스 외부에 있는 경우에는 오류가 발생해야 합니다.

kubectl get pods -n kube-system

이는 바인딩 된 역할은 rbac-test 이외의 네임 스페이스에 대한 액세스 권한을 부여하지 않기 때문입니다.