【问题标题】:Is Azure AAD application ID unique in whole Azure?Azure AD 应用程序 ID 在整个 Azure 中是否唯一?
【发布时间】:2019-06-11 20:19:35
【问题描述】:

我知道 AAD 应用程序 ID 在一个目录(租户)中是唯一的。它是一个指南,显然应该在全世界都是独一无二的,但可能会发生碰撞。问题是:Azure 在生成 AAD 应用程序 ID 时是否验证它在所有其他目录中是否唯一?

【问题讨论】:

  • 我知道用户 SPN 是全球唯一的,但应用 ID 似乎只是随机 GUID。任何两个都不太可能匹配,但有可能。也许有人可以 MS 可以验证是否在后台进行了一些检查,以便所有 GUID 都是唯一的?

标签: azure azure-active-directory guid


【解决方案1】:

如果您查看应用程序属性的official document,您会知道application id

分配给应用程序的唯一标识符 Azure AD 的应用程序。不可为空。只读

Azure 应用程序 ID 如何唯一生成:

应用程序 ID (GUID) 分解如下:

  1. 60 位时间戳,
  2. 48 位计算机标识符,
  3. 14 位唯一性,并且
  4. 六位是固定的

总共 128 位。 该算法的目标是使用时间和位置的组合(相对论极客的“时空坐标”)作为唯一性密钥。

但是,例如,有可能从同一台机器快速连续生成两个 GUID,它们在时间上非常接近,以至于时间戳相同。这就是唯一性的用武之地。

当时间似乎停滞不前(如果两个 GUID 请求快速连续)或倒退(如果系统时钟设置为比原来更早的新时间),则增加唯一性,以便从“第二次五点钟”生成的 GUID 不会与“第一次五点钟”生成的 GUID 发生冲突。

一旦您了解了它是如何工作的,很明显您不能仅仅丢弃 GUID 的一部分,因为所有部分(当然,除了固定部分)一起工作以建立唯一性。这就是一切的运作方式。

注意:即使有时网络地址也考虑为GUID

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 2019-10-27
    相关资源
    最近更新 更多