弹性 MapReduce Kerberos 基础使用

EMR 集群使用 mit 的 kerberos 来作为 kdc 服务,使用 kerberos,首先要创建域(realm),再添加相关角色的 principal(包括 server 和 client),新建的 EMR 集群已经完成相关创建工作,并将支持的组件和 hadoop 用户加入数据库中,默认为 hadoop 用户生成了 keytab 文件,路径为 /var/krb5kdc/emr.keytab。

相关产品
弹性 MapReduce 产品页,含版本规格、价格与购买入口。

注意:说明:

注意:EMR-V2.6.0 及 EMR-V3.2.1 以上新版本 Kerberos 已集成 LDAP ,并在控制台支持 用户管理 功能,建议使用新版本创建 EMR 安全集群。

一、开发准备

·确认你已经开通了腾讯云,并且创建了一个 EMR 集群,详情参考创建集群。

·在创建 EMR 集群时选择 Hadoop 集群类型,选择集成 LDAP 组件的版本,并开启 Kerberos 认证。

注意:说明:

二、创建用户

使用 用户管理 功能新建一个用户,此处以 tencent 用户为例,用户创建后 EMR 集群将自动创建此用户 principal 并加入 Kerberos 数据库中。

登录到 Master 节点,在 root 用户下,使用以下命令查看当前 principal :

kadmin.local

返回以下信息,说明新建用户已经成功加入 Kerberos 数据库中。

Authenticating as principal root/admin@EMR-RIELJCFJ with password.kadmin.local: list_principals…tencent@EMR-RIELJCFJ

三、删除用户

和创建用户相同,删除用户也可以在 用户管理 界面上完成,删除用户后,kerberos 数据库中该用户也会同步删除。

四、kinit 验证

登录到 Master 节点,使用以下命令进行 kinit 验证:

kinit ${username}

注意:说明:

注意:其中 ${username} 为你在用户管理创建的用户名,输入该命令后,会提示你输入密码,此时输入创建用户时的密码即可完成验证。

kinit 对应的是向 kdc 获取 TGT 的步骤。它会向 /etc/krb5.conf 中指定的 kdc server 发送请求,此时使用 klist 命令:

klist

返回以下信息说明 TGT 请求成功。

Ticket cache: FILE:/tmp/krb5cc_0Default principal: tencent@EMR-RIELJCFJValid starting Expires Service principal2024-01-08T14:25:43 2024-01-09T02:25:43 krbtgt/EMR-RIELJCFJ@EMR-RIELJCFJ renew until 2024-01-15T14:25:43

除了使用用户密码的方式进行 kinit 验证,也可以直接使用本地 keytab 的方式进行 kinit 验证,在 用户管理 界面下载对应用户 keytab 文件,使用本地 keytab 文件进行登录验证:

kinit -kt ${keytab_file_path} ${kerberos_user_name}

注意:说明:

注意:其中 ${keytab_file_path} 为保存的 keytab 路径,${kerberos_user_name} 为你创建的 kerberos 用户名。

赞 (0)
上一篇 4天前
下一篇 4天前