MAPREDUCE服务 MRS-准备Flink应用安全认证:安全认证
安全认证
Flink整个系统有两种认证方式:
- 使用kerberos认证:Flink yarn client与Yarn Resource Manager、JobManager与Zookeeper、JobManager与HDFS、TaskManager与HDFS、Kafka与TaskManager、TaskManager和Zookeeper。
- 使用YARN内部的认证机制:Yarn Resource Manager与Application Master(简称AM)。
Flink的JobManager与YARN的AM是在同一个进程下。
表1 安全认证方式 安全认证方式
说明
配置方法
Kerberos认证
当前只支持keytab认证方式。
- 从KDC服务器上下载用户keytab,并将keytab放到Flink客户端所在主机的某个文件夹下(例如/home/flinkuser/keytab)。
- 在“${FLINK_HOME}/conf/flink-conf.yaml”上配置:
- keytab路径。
security.kerberos.login.keytab: /home/flinkuser/keytab/user.keytab
说明:“/home/flinkuser/keytab/”表示的是用户保存keytab的目录。
- principal名(即开发用户名)。
security.kerberos.login.principal:flinkuser
- 对于HA模式,如果配置了ZooKeeper,还需要设置ZK kerberos认证相关的配置。配置如下:
zookeeper.sasl.disable: false security.kerberos.login.contexts: Client
- 如果用户对于Kafka client和Kafka broker之间也需要做kerberos认证,配置如下:
security.kerberos.login.contexts: Client,KafkaClient
- keytab路径。
YARN内部认证方式
该方式是YARN内部的认证方式,不需要用户配置。
-
当前一个Flink集群只支持一个用户,一个用户可以创建多个Flink集群。