

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ロールベースのアクセスコントロール (RBAC) による Apache Livy および Spark のアプリケーションアクセス権限の設定
<a name="job-runs-apache-livy-rbac"></a>

Livy をデプロイするために、Amazon EMR on EKS はサーバーのサービスアカウントとロール、および Spark のサービスアカウントとロールを作成します。これらのロールには、Spark アプリケーションの設定と実行を完了するために必要な RBAC アクセス権限が必要です。

**サーバーのサービスアカウントとロールのための RBAC アクセス権限**

Amazon EMR on EKS は、Spark ジョブの Livy セッションを管理し、イングレスやその他のリソースとの間でトラフィックをルーティングするための Livy サーバーのサービスアカウントとロールを作成します。

このサービスアカウントのデフォルト名は `emr-containers-sa-livy` です。次のアクセス権限が必要です。

```
rules:
- apiGroups:
  - ""
  resources:
  - "namespaces"
  verbs:
  - "get"
- apiGroups:
  - ""
  resources:
  - "serviceaccounts"
    "services"
    "configmaps"
    "events"
    "pods"
    "pods/log"
  verbs:
  - "get"
    "list"
    "watch"
    "describe"
    "create"
    "edit"
    "delete"
    "deletecollection"
    "annotate"
    "patch"
    "label"
 - apiGroups:
   - ""
   resources:
   - "secrets"
   verbs:
   - "create"
     "patch"
     "delete"
     "watch"
 - apiGroups:
   - ""
   resources:
   - "persistentvolumeclaims"
   verbs:
   - "get"
     "list"
     "watch"
     "describe"
     "create"
     "edit"
     "delete"
     "annotate"
     "patch"
     "label"
```

**Spark のサービスアカウントとロールのための RBAC アクセス権限**

Spark ドライバーポッドには、ポッドと同じ名前空間にある Kubernetes サービスアカウントが必要です。このサービスアカウントには、エグゼキュターポッドとドライバーポッドに必要なリソースを管理するためのアクセス権限が必要です。名前空間のデフォルトサービスアカウントに必要なアクセス権限がなければ、ドライバーは失敗して終了します。以下の RBAC アクセス権限が必要です。

```
rules:
- apiGroups:
  - ""
    "batch"
    "extensions"
    "apps"
  resources:
  - "configmaps"
    "serviceaccounts"
    "events"
    "pods"
    "pods/exec"
    "pods/log"
    "pods/portforward"
    "secrets"
    "services"
    "persistentvolumeclaims"
    "statefulsets"
  verbs:
  - "create"
    "delete"
    "get"
    "list"
    "patch"
    "update"
    "watch"
    "describe"
    "edit"
    "deletecollection"
    "patch"
    "label"
```