

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de permissões de acesso ao cluster com o controle de acesso por perfil (RBAC)
<a name="spark-operator-security-rbac"></a>

Para implantar o operador do Spark, o Amazon EMR no EKS cria dois perfis e duas contas de serviço para o operador do Spark e para as aplicações do Spark.

**Topics**
+ [Perfil e conta de serviço do operador](#spark-operator-sa-oper)
+ [Perfil e conta de serviço do Spark](#spark-operator-sa-spark)

## Perfil e conta de serviço do operador
<a name="spark-operator-sa-oper"></a>

O Amazon EMR no EKS cria **o perfil e a conta de serviço do operador** para gerenciar `SparkApplications` para trabalhos do Spark e para outros recursos, como serviços.

O nome padrão para esta conta de serviço é `emr-containers-sa-spark-operator`.

As seguintes regras se aplicam para este perfil de serviço: 

```
 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 }}
```

## Perfil e conta de serviço do Spark
<a name="spark-operator-sa-spark"></a>

Um pod do driver do Spark precisa de uma conta de serviço do Kubernetes no mesmo namespace que o pod. Esta conta de serviço precisa de permissões para criar, obter, listar, aplicar patches e excluir pods de executores e para criar um serviço descentralizado do Kubernetes para o driver. O driver apresentará falhas e será encerrado sem a conta de serviço, a menos que a conta de serviço padrão no namespace do pod tenha as permissões obrigatórias.

O nome padrão para esta conta de serviço é `emr-containers-sa-spark`.

As seguintes regras se aplicam para este perfil de serviço: 

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