Realm(领域)
登录后可跨设备保存划线和私人笔记登录
Realm(领域)
本页说明什么是 realm,以及它在 Polaris 中的用途。
它是什么?
Realm 在 Polaris 中充当目录(catalog)系统内的逻辑分区机制。这种隔离支持多租户,使不同的团队、环境或组织能够在同一套 Polaris 部署中独立运行。
关键特性
隔离性: 每个 realm 封装各自的资源集合,确保一个 realm 中的操作和策略不会影响其他 realm。
认证上下文: 配置 Polaris 时,主体(principal)的凭据会与特定的 realm 关联,从而使不同 realm 之间的安全问题彼此分离。
配置范围: realm 标识符用于各种配置中,例如连接字符串、功能配置等。
示例如下:
jdbc:postgresql://localhost:5432/{realm}
这样可确保每个 realm 的数据分开存储。
它在系统中如何使用?
RealmContext(领域上下文): 这是一个关键概念,用于标识并解析操作所处的上下文。例如在 DefaultRealmContextResolver 中,realm 从请求头中解析得出,随后基于解析出的 realm 标识符执行操作。
认证与授权: 例如在 DefaultAuthenticator 中,RealmContext 用于提供当前安全域的上下文,进而获取正确的 PolarisMetastoreManager——该管理器负责管理所有 Polaris 实体以及与授权相关的授权记录元数据。
隔离性: 在 JdbcBasePersistenceImpl 等类中,来自 realm 上下文的 realm id 作为主键的一部分,用于在(同一数据库实例内)隔离地管理各 realm 的实体。
评论
登录后参与评论
正在加载评论…
KnowForge