Configuración de los permisos de las aplicaciones de Apache Livy y Spark con control de acceso basado en roles (RBAC)
Para implementar Livy, Amazon EMR en EKS crea una cuenta y un rol de servicio de servidor y un rol y una cuenta de servicio de Spark. Estos roles deben tener los permisos RBAC necesarios para finalizar la configuración y ejecutar las aplicaciones de Spark.
Permisos RBAC para el rol y la cuenta de servicio del servidor
Amazon EMR en EKS crea el rol y la cuenta de servicio de servidor de Livy para administrar sesiones de Livy para los trabajos de Spark y enrutar el tráfico hacia y desde los recursos de entrada y otros recursos.
El nombre predeterminado de esta cuenta de servicio es emr-containers-sa-livy
. Debe tener los siguientes permisos.
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"
Permisos RBAC para el rol y la cuenta de servicio de Spark
Un pod controlador de Spark necesita una cuenta de servicio de Kubernetes en el mismo espacio de nombres que el pod. Esta cuenta de servicio necesita permisos para administrar los pods ejecutores y cualquier recurso que requiera el pod controlador. A menos que la cuenta de servicio predeterminada del espacio de nombres tenga los permisos necesarios, el controlador fallará y se cerrará. Los siguientes permisos RBAC son necesarios.
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"