如何存储 Azure DevOps Services 的凭据

Azure DevOps Services

重要

Azure DevOps 不支持备用凭据身份验证。 如果仍在使用备用凭据,强烈建议切换到更安全的身份验证方法。

凭据安全性

Microsoft致力于确保项目保持安全和安全,而不例外。 在 Azure DevOps 中,项目受益于多层安全性和治理技术、操作实践和合规性策略。 我们在静态和传输中强制实施数据隐私和完整性。 此外,我们遵循以下有关 Azure DevOps 存储的凭据或机密的做法。 若要详细了解如何选择正确的身份验证机制,请参阅 身份验证指南。

个人访问令牌(PAT)

  • 我们存储 PAT 的哈希
  • 原始 PAT 在服务器端生成,因为通过 RNGCryptoServiceProvider 随机生成的 32 个字节,然后将调用方共享为 base-32 编码字符串。 此值未存储
  • 使用存储在密钥保管库中的 64 字节对称签名密钥作为 原始 PAT 的 HMACSHA256Hash 在服务器端生成 PAT 哈希
  • 哈希存储在数据库中

安全外壳 (SSH) 密钥

  • 我们存储封闭组织 ID 和 SSH 公钥的哈希
  • 原始公钥由调用方通过 SSL 直接提供
  • 使用存储在密钥保管库中的 64 字节对称签名密钥作为组织 ID 和原始公钥的 HMACSHA256Hash 在服务器端生成 SSH 哈希
  • 哈希存储在数据库中

OAuth 凭据 (JWT)

  • 这些令牌作为完全自我描述的 JSON Web 令牌(JWT)颁发,不会存储在我们的服务中
  • 使用密钥保管库中存储的证书验证颁发并提供给服务的 JWT 中的声明