更新时间:2024-12-09 GMT+08:00

Guardian

Guardian基本原理

Guardian是一个在存算分离场景下为HDFS、Hive、Spark、HBase、Loader、HetuEngine等服务提供访问OBS的临时认证凭据的服务,只有对接OBS的场景下才需要安装Guardian组件。Guardian的典型特性包括:
  • 提供获取访问OBS的临时认证凭据的能力。
  • 提供访问OBS的细粒度权限控制的能力。
  • 提供访问OBS的临时认证凭据的统一缓存刷新能力。

Guardian服务端主要是TokenServer角色提供功能和能力,TokenServer支持多实例部署,每个实例都可以提供相同的功能,单点故障不影响服务功能,且对外提供RPC和HTTPS接口获取访问OBS的临时认证凭据。

Guardian架构

Guardian的基本架构如图 Guardian架构所示。

图1 Guardian架构

Guardian与其他组件的关系

HDFS、Hive、Spark、Flink、HBase、Loader、HetuEngine在访问OBS之前,会先通过访问Guardian获取到访问OBS的临时凭据。Guardian会根据当前登录的用户去访问IAM请求生成带细粒度鉴权内容的临时凭据再返回给组件,组件拿此凭据去访问OBS,OBS根据凭据决定当前用户是否有权限访问。

图2 Guardian与其他组件的关系