역할 기반 액세스 제어(RBAC)를 사용하여 클러스터 액세스 권한 설정 - Amazon EMR

역할 기반 액세스 제어(RBAC)를 사용하여 클러스터 액세스 권한 설정

Spark 운영자를 배포하기 위해 Amazon EMR on EKS는 Spark 운영자와 Spark 앱을 위한 두 가지 역할 및 서비스 계정을 생성합니다.

운영자 서비스 계정 및 역할

Amazon EMR on EKS는 Spark 작업 및 기타 리소스(예: 서비스)와 관련된 SparkApplications를 관리할 운영자 서비스 계정 및 역할을 생성합니다.

이 서비스 계정의 기본 이름은 emr-containers-sa-spark-operator입니다.

이 서비스 역할에는 다음 규칙이 적용됩니다.

rules: - apiGroups: - "" resources: - pods verbs: - "*" - apiGroups: - "" resources: - services - configmaps - secrets verbs: - create - get - delete - update - apiGroups: - extensions - networking.k8s.io resources: - ingresses verbs: - create - get - delete - apiGroups: - "" resources: - nodes verbs: - get - apiGroups: - "" resources: - events verbs: - create - update - patch - apiGroups: - "" resources: - resourcequotas verbs: - get - list - watch - apiGroups: - apiextensions.k8s.io resources: - customresourcedefinitions verbs: - create - get - update - delete - apiGroups: - admissionregistration.k8s.io resources: - mutatingwebhookconfigurations - validatingwebhookconfigurations verbs: - create - get - update - delete - apiGroups: - sparkoperator.k8s.io resources: - sparkapplications - sparkapplications/status - scheduledsparkapplications - scheduledsparkapplications/status verbs: - "*" {{- if .Values.batchScheduler.enable }} # required for the `volcano` batch scheduler - apiGroups: - scheduling.incubator.k8s.io - scheduling.sigs.dev - scheduling.volcano.sh resources: - podgroups verbs: - "*" {{- end }} {{ if .Values.webhook.enable }} - apiGroups: - batch resources: - jobs verbs: - delete {{- end }}

Spark 서비스 계정 및 역할

Spark 드라이버 포드에는 포드와 동일한 네임스페이스에 있는 Kubernetes 서비스 계정이 필요합니다. 이 서비스 계정에는 실행기 포드의 생성, 가져오기, 나열, 패치, 삭제 권한과 드라이버용 Kubernetes 헤드리스 서비스의 생성 권한이 필요합니다. 포드 네임스페이스의 기본 서비스 계정에 필요한 권한이 없으면 드라이버가 실패하고 서비스 계정 없이 종료됩니다.

이 서비스 계정의 기본 이름은 emr-containers-sa-spark입니다.

이 서비스 역할에는 다음 규칙이 적용됩니다.

rules: - apiGroups: - "" resources: - pods verbs: - "*" - apiGroups: - "" resources: - services verbs: - "*" - apiGroups: - "" resources: - configmaps verbs: - "*" - apiGroups: - "" resources: - persistentvolumeclaims verbs: - "*"