# v1 ServiceAccount ################################################ ## # 개발자용 서비스 어카운트(SA) 작성 # apiVersion: v1 kind: ServiceAccount metadata: name: developer namespace: prod --- ################################################ ## # 개발자SA와 클러스터롤 바인딩 # apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: developer-crb namespace: prod roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: view # 운영에서는 참조만 가능 subjects: - kind: ServiceAccount namespace: prod name: developer ##--- ## # 개발자 롤 작성 # 클러스토 롤에 포함되므로 필수는 아님 # #apiVersion: rbac.authorization.k8s.io/v1 #kind: Role #metadata: # name: developer # namespace: prod #rules: # pods 권한, Core API 지정 apiVersion: v1 #- apiGroups: [""] # resources: ["pods","pods/log","services"] # verbs: ["get", "watch", "list"] # deployment 권한 extention/appls 지정 #- apiGroups: ["extensions", "apps"] # resources: ["deployments"] # verbs: ["get", "watch", "list"] --- ## # 개발자 SA와 developer롤을 바인딩 # (클러스터 롤에 포함되므로 필수는 아님) # apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: developer-rb namespace: prod roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: developer subjects: - kind: ServiceAccount namespace: prod ## prod 네임스페이서에서의 developer에게 롤 바인딩 name: developer - kind: ServiceAccount namespace: test ## test 네임스페이스에서의 developer에게 롤 바인딩 name: developer ## # 운영 서비스를 담당하는 서비스 어카운트(SA) 작성 # apiVersion: v1 kind: ServiceAccount metadata: name: sysop namespace: prod --- ## # SA와 클러스터롤 바인딩 # apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: sysop-crb namespace: prod roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: admin subjects: - kind: ServiceAccount namespace: prod name: sysop ##--- ## # 운영 서비스 담당 롤 작성 # 클러스터 롤에 포함되므로 필수는 아님 # #apiVersion: rbac.authorization.k8s.io/v1 #kind: Role #metadata: # name: sysop # namespace: prod #rules: # 파드 접근 권한, Core API 지정 apiVersion: v1 #- apiGroups: [""] # resources: ["pods","pods/log","services"] # verbs: ["get", "watch", "list"] # deployment 접근 권한, extention/appls 지정 #- apiGroups: ["extensions", "apps"] # resources: ["deployments"] # verbs: ["get", "watch", "list"] --- ## # 운영 서비스 담당 SA와 sysop 롤 바인딩 # (클러스터 롤에 포함되므로 필수는 아님) # apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: sysop-rb namespace: prod roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: sysop subjects: - kind: ServiceAccount namespace: prod name: sysop