

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

# Flink アプリケーションを実行するためのセキュリティロールのアクセス権限
<a name="jobruns-flink-kubernetes-security"></a>

このトピックでは、Flink アプリケーションをデプロイして実行するためのセキュリティロールについて説明します。デプロイを管理し、ジョブを作成および管理するには、オペレーターロールとジョブロールの 2 つのロールが必要です。このトピックでは、それらを紹介し、そのアクセス権限を一覧表示します。

## ロールベースのアクセスコントロール
<a name="jobruns-flink-kubernetes-security-rbac"></a>

オペレータをデプロイし、Flink ジョブを実行するには、オペレータロールとジョブロールという 2 つの Kubernetes ロールを作成する必要があります。Amazon EMR は、オペレータをインストールするときに、デフォルトでロールを 2 つ作成します。

## オペレータロール
<a name="jobruns-flink-kubernetes-security-operator-role"></a>

オペレータロールを使用すると、`flinkdeployments` を管理して Flink ジョブやその他のリソース (サービスなど) ごとに JobManager を作成および管理できます。

オペレータロールのデフォルト名は `emr-containers-sa-flink-operator` で、使用するには以下の権限が必要です。

```
rules:
- apiGroups:
  - ""
  resources:
  - pods
  - services
  - events
  - configmaps
  - secrets
  - serviceaccounts
  verbs:
  - '*'
- apiGroups:
  - rbac.authorization.k8s.io
  resources:
  - roles
  - rolebindings
  verbs:
  - '*'
- apiGroups:
  - apps
  resources:
  - deployments
  - deployments/finalizers
  - replicasets
  verbs:
  - '*'
- apiGroups:
  - extensions
  resources:
  - deployments
  - ingresses
  verbs:
  - '*'
- apiGroups:
  - flink.apache.org
  resources:
  - flinkdeployments
  - flinkdeployments/status
  - flinksessionjobs
  - flinksessionjobs/status
  verbs:
  - '*'
- apiGroups:
  - networking.k8s.io
  resources:
  - ingresses
  verbs:
  - '*'
- apiGroups:
  - coordination.k8s.io
  resources:
  - leases
  verbs:
  - '*'
```

## ジョブロール
<a name="jobruns-flink-security-job-role"></a>

JobManager は、ジョブロールを使用して、ジョブごとに TaskManagers と ConfigMaps を作成および管理します。

```
rules:
- apiGroups:
  - ""
  resources:
  - pods
  - configmaps
  verbs:
  - '*'
- apiGroups:
  - apps
  resources:
  - deployments
  - deployments/finalizers
  verbs:
  - '*'
```