运行 Flink 应用程序的安全角色权限 - Amazon EMR

运行 Flink 应用程序的安全角色权限

本主题介绍了部署和运行 Flink 应用程序的安全角色。管理部署以及创建和管理作业需要两个角色:Operator 和 Job。本主题介绍了两个角色并列出了其权限。

要部署 Operator 并运行 Flink 任务,必须创建两个 Kubernetes 角色:一个 Operator 角色和一个任务角色。安装 Operator 时 Amazon EMR 会默认创建这两个角色。

我们使用 Operator 角色管理 flinkdeployments,为每个 Flink 任务和其他资源(例如服务)创建并管理 JobManager。

Operator 角色的默认名称为 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: - '*'

JobManager 使用任务角色为每个任务创建并管理 TaskManager 和 ConfigMap。

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