搜索

37.5. IdM ID 范围内安全和相对标识符的角色

download PDF

Identity Management(IdM)ID 范围由多个参数定义:

  • 范围名称
  • 范围的第一个 POSIX ID
  • 范围大小: 范围内的 ID 数量
  • 对应的 RID range 的第一个 相对标识符 (RID)
  • 二级 RID 范围的第一个 RID

您可以使用 ipa idrange-show 命令查看这些值:

$ ipa idrange-show IDM.EXAMPLE.COM_id_range
  Range name: IDM.EXAMPLE.COM_id_range
  First Posix ID of the range: 196600000
  Number of IDs in the range: 200000
  First RID of the corresponding RID range: 1000
  First RID of the secondary RID range: 1000000
  Range type: local domain range

安全识别符

IdM 服务器在内部使用本地域的 ID 范围中的数据,来将唯一的 安全标识符 (SIDs)分配给 IdM 用户和组。SID 存储在用户和组对象中。用户的 SID 由以下内容组成:

  • 域 SID
  • 用户的 相对标识符 (RID),它是附加到域 SID 的四位 32 位值

例如,如果域 SID 是 S-1-5-21-123-456-789,且来自此域的 RID 为 1008,则该用户的 SID 为 S-1-5-21-123-456-789-1008。

相对标识符

RID 本身以以下方式计算:

将用户的 POSIX UID 范围内的第一个 POSIX ID 减去,并将对应 RID 范围的第一个 RID 添加到结果中。例如,如果 idmuser 的 UID 为 196600008,则第一个 POSIX ID 是 196600000,第一个 RID 为 1000,则 idmuser 的 RID 为 1008。

注意

该算法计算用户的 RID 会检查给定的 POSIX ID 是否位于计算对应的 RID 前分配的 ID 范围内。例如,如果第一个 ID 是 196600000,其范围大小为 200000,则 1600000 的 POSIX ID 不在 ID 范围之外,且算法不会为其计算 RID。

二级相对标识符

在 IdM 中,POSIX UID 可以与 POSIX GID 相同。这意味着,如果 idmuser 已被 UID 196600008 存在,您仍然可以创建一个新的 idmgroup 组,其 GID 为 196600008。

但是,SID 只能定义一个对象、用户或组群。已经为 idmuser 创建的 SID 是 S-1-5-21-123-456-789-1008,它无法与 idmgroup 共享。必须为 idmgroup 生成一个替代 SID。

IdM 使用 二级相对标识符,或辅助 RID 来避免冲突 SID。这个二级 RID 由以下内容组成:

  • secondary RID 基本
  • 范围大小;默认情况下,与基本范围大小相同

在上例中,二级 RID 基本被设置为 1000000。要计算新创建的 idmgroup 的 RID:从用户的 POSIX UID 中减去范围内的第一个 POSIX ID,并将 secondary RID 范围内的第一个 RID 添加到结果。因此,Mid group 被分配为 1000008 的 RID。因此,idmgroup 的 SID 是 S-1-5-21-123-456-789-1000008。

只有之前使用手动设置 POSIX ID 创建一个组对象时,IdM 才使用二级 RID 来计算 SID。否则,自动分配可防止分配相同的 ID 两次。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.