详情页标题前

腾讯云对象存储GooseFS 接入 Kerberos 认证

详情页1

概述

Kerberos 是大数据生态系统中广泛应用的统一认证服务,GooseFS 作为大数据和数据湖场景下的加速存储服务,支持集群节点和用户访问接入 Kerberos 认证服务中。本文将详细介绍如何配置 GooseFS 接入 Kerberos 认证服务以及如何使用 Hadoop Delegation Token 认证。

GooseFS 接入 Kerberos 的认证架构



腾讯云对象存储GooseFS 接入 Kerberos 认证



GooseFS Kerberos 认证优势

与 HDFS 接入 Kerberos 的认证架构和流程基本一致,在 HDFS 上启用了 Kerberos 认证流程的应用可以很容易地迁移到 GooseFS。支持 Hadoop 的 Delegation Token 认证机制,因此可以很好地兼容 Hadoop 生态的应用作业。

配置 GooseFS 接入 Kerberos 认证

前提条件

GooseFS 1.3.0 及以上版本。确保环境中已存在 Kerberos KDC 服务,并且 GooseFS 以及应用客户端能够正常访问 Kerberos KDC 服务相关端口。

在 Kerberos KDC 中创建 GooseFS 相关的身份信息

首先,我们需要在 Kerberos KDC 中创建 GooseFS 集群 Server 与 Client 相关的 Kerberos 身份信息,然后才能继续后续的接入配置。这里我们在 Kerberos KDC 服务器上借助 kadmin.local 交互式工具来完成创建:注意kadmin.local 工具需要 root/sudo 权限执行。

$ sudo kadmin.local

如果执行成功,则进入了 kadmin 的交互式 shell 环境中:

Authenticating as principal root/admin@GOOSEFS.COM with password.kadmin.local:  

其中,kadmin.local 表示该交互式执行环境的命令提示符。

创建 GooseFS Server / Client 相关的身份信息

如下通过一个简单测试集群以及应用场景样例来介绍整个 Kerberos 的配置过程。1. 集群环境说明
采用单 Master 双 Worker 的 Standalone 部署架构:
Master(JobMaster):172.16.0.1Worker1(JobWorker1):172.16.0.2Worker2(JobWorker2):172.16.0.3Client:172.16.0.42. kadmin.local 中创建 Server 和 Client 身份认证相关信息:

kadmin.local: addprinc -randkey goosefs/172.16.0.1@GOOSEFS.COMkadmin.local: addprinc -randkey client/172.16.0.4@GOOSEFS.COM

注意 此处使用 -randkey 选项的原因在于 GooseFS 无论 Server 还是 Client 登录均使用 keytab 文件认证,不使用明文密码。若身份信息需要用于 password 登录场景,则可以去掉该选项。3. 生成导出每个身份对应的 keytab 文件:

kadmin.local: xst -k goosefs_172_16_0_1.keytab goosefs/172.16.0.1@GOOSEFS.COMkadmin.local: xst -k client_172_16_0_4.keytab client/172.16.0.4@GOOSEFS.COM

配置 GooseFS Server/Client 接入使用 Kerberos 认证

1. 将上述导出 keytab 文件分发到对应的机器上,此处建议的路径是 ${GOOSEFS_HOME}/conf/

$ scp goosefs_172_16_0_1.keytab <username>@172.16.0.1:${GOOSEFS_HOME}/conf/$ scp goosefs_172_16_0_1.keytab <username>@172.16.0.2:${GOOSEFS_HOME}/conf/$ scp goosefs_172_16_0_1.keytab <username>@172.16.0.3:${GOOSEFS_HOME}/conf/$ scp client_172_16_0_4.keytab <username>@172.16.0.4:${HOME}/.goosefs/

2. 在对应机器上,将 Server Principal KeyTab 文件的所属用户/用户组修改为 GooseFS Server 启动时所使用的用户及用户组(其目的是为了让 GooseFS 启动时有足够的权限读取)。

$ chown <GooseFS_USER>:<GOOSEFS_USERGROUP> goosefs_172_16_0_1.keytab$ # 同时修改 Unix 访问权限位$ chmod 0440 goosefs_172_16_0_1.keytab

3. 将 Client 的 KeyTab 的所属用户/用户组修改为发起 GooseFS 请求的客户端账户。其目的同样是为了保证 Client 有足够的权限读取该文件。

$ chown <client_user>:<client_usergroup> client_172_16_0_4.keytab$ # 同时修改 Unix 访问权限位$ chmod 0440 client_172_16_0_4.keytab

Server 和 Client 端 GooseFS 配置

1. Master/Worker Server 的 goosefs-site.properties


# Security properties# Kerberos propertiesgoosefs.security.authorization.permission.enabled=truegoosefs.security.authentication.type=KERBEROSgoosefs.security.kerberos.unified.instance.name=172.16.0.1goosefs.security.kerberos.server.principal=goosefs/172.16.0.1@GOOSEFS.COMgoosefs.security.kerberos.server.keytab.file=${GOOSEFS_HOME}/conf/goosefs_172_16_0_1.keytab

配置完成 GooseFS Server 端的认证配置后,重启整个集群以使得配置生效。2. Client 的 goosefs-site.properties

# Security properties# Kerberos propertiesgoosefs.security.authorization.permission.enabled=truegoosefs.security.authentication.type=KERBEROSgoosefs.security.kerberos.unified.instance.name=172.16.0.1goosefs.security.kerberos.server.principal=goosefs/172.16.0.1@GOOSEFS.COMgoosefs.security.kerberos.client.principal=client/172.16.0.4@GOOSEFS.COMgoosefs.security.kerberos.client.keytab.file=${GOOSEFS_HOME}/conf/client_172_16_0_4.keytab

注意 Client 端需要指定 Server 的 principal。其原因为在 Kerberos 认证体系中,KDC 需要知道当前 Client 所访问的 Service,而 GooseFS 是通过 Server 的 principal 区分 Client 当前请求的 Service。至此,GooseFS 接入 Kerberos 的基础认证完毕,后续客户端发起的请求都将经过 Kerberos 进行身份认证。
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/144900.html

(0)
上一篇 2023年12月9日 上午1:53
下一篇 2023年12月9日 上午1:53
详情页2

相关推荐

  • 腾讯云云点播(新)按量计费(后付费)

    说明:本文档仅针对日结计费方式的用户与 2023年09月01日后开通云点播的月结客户,若您为2023年09月01日前开通云点播的月结客户请查看(旧)按量计费(后付费)。 按量计费分类说明 计费项 说明 媒体存储 包含媒资属性设置、筛选检索、媒资删除、智能降冷、智能降码、媒资存储等管理服务,对管理媒体文件的存储类型及存储峰值用量,按管理时长计费。 媒体处…

    腾讯云 2023年12月9日
  • 腾讯云对象存储多 AZ 特性概述

    多 AZ(Multiple Availability Zones)是指由 腾讯云对象存储 推出的多 AZ 存储架构,这一存储架构能够为用户数据提供数据中心级别的容灾能力。客户数据分散存储在城市中多个不同的数据中心,当某个数据中心因为自然灾害、断电等极端情况导致整体故障时,多 AZ 存储架构依然可以为客户提供稳定可靠的存储服务。多 AZ 特性为客户提供99.9…

    腾讯云 2023年12月9日
  • DataWorks数据分析界面运行任务报这个错 ?-云小二-阿里云

    DataWorks数据分析界面运行任务报这个错 ?{“code”:”CR001″,”requestId”:”a21ef92d-b463-41a0-ac08-f76de0554227″,”url”:”https://da-us-e…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库SSL连接RDS PostgreSQL数据库-云淘科技

    本文介绍配置了SSL链路加密后,如何通过pgAdmin、psql命令行终端以及JDBC连接数据库。 前提条件 已开启SSL链路加密。如果未开启,请参见快速配置SSL加密或配置自定义证书。 已获取如下文件。 (可选)客户端证书(client.crt)、客户端证书私钥(client.key):如果在RDS控制台配置了客户端CA证书,则需要准备,获取方法请参见配置…

    2023年12月9日
  • 腾讯云CVM服务器腾讯 TencentOS Server 用户服务协议

    协议详细信息,请参见 腾讯 TencentOS Server 用户服务协议。 腾讯云云服务器官网1折活动进行中,限时活动,即将结束,速速收藏同尘科技为腾讯云授权服务中心。购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。