

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Einrichten der Cluster-Zugriffskontrolle mit rollenbasierter Zugriffskontrolle (RBAC)
<a name="spark-operator-security-rbac"></a>

Um den Spark-Operator bereitzustellen, erstellt Amazon EMR in EKS zwei Rollen und Servicekonten für den Spark-Operator und die Spark-Anwendungen.

**Topics**
+ [Servicekonto und Rolle des Operators](#spark-operator-sa-oper)
+ [Spark-Servicekonto und Rolle](#spark-operator-sa-spark)

## Servicekonto und Rolle des Operators
<a name="spark-operator-sa-oper"></a>

Amazon EMR in EKS erstellt das **Operator-Servicekonto und die Rolle**, um `SparkApplications` für Spark-Aufträge und andere Ressourcen wie Services zu verwalten.

Der Standardname für dieses Servicekonto lautet `emr-containers-sa-spark-operator`.

Es gelten die folgenden Regeln für diese Servicerolle: 

```
 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-Servicekonto und Rolle
<a name="spark-operator-sa-spark"></a>

Ein Spark-Treiber-Pod benötigt ein Kubernetes-Servicekonto im selben Namespace wie der Pod. Dieses Servicekonto benötigt Berechtigungen zum Erstellen, Abrufen, Auflisten, Patchen und Löschen von Ausführer-Pods sowie zum Erstellen eines Kubernetes-Headless-Services für den Treiber. Der Treiber schlägt fehl und wird ohne das Servicekonto beendet, sofern das Standardservicekonto im Namespace des Pods nicht über die erforderlichen Berechtigungen verfügt.

Der Standardname für dieses Servicekonto lautet `emr-containers-sa-spark`.

Es gelten die folgenden Regeln für diese Servicerolle: 

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