我们如何存储Azure DevOps Services凭据
Azure DevOps Services
重要
自 2020 年 3 月 2 日开始,Azure DevOps 不再支持备用凭据身份验证。 如果你仍在使用备用凭据,强烈建议你切换到更安全的身份验证方法(例如个人访问令牌)。 了解详细信息。
凭据安全性
Microsoft 致力于确保项目无一例外地保持安全可靠。 在 Azure DevOps 中,项目受益于多层安全和治理技术、操作实践和合规性策略。 我们在静态和传输中强制实施数据隐私和完整性。 此外,对于 Azure DevOps 存储的凭据或机密,我们遵循以下做法。 若要详细了解如何选择正确的身份验证机制,请参阅 身份验证指南。
个人访问令牌 (PAC)
- 我们存储 PAT 的哈希
- 原始 PAT 在服务器端以 32 字节的形式在内存中生成,这些字节通过 RNGCryptoServiceProvider 随机生成,然后作为 base-32 编码字符串与调用方共享。 此值未存储
- PAT 哈希是使用密钥保管库中存储的 64 字节对称签名密钥在服务器端作为原始 PAT 的 HMACSHA256Hash 生成的内存中
- 哈希存储在数据库中
保护 shell (SSH) 密钥
- 存储封闭式组织 ID 和 SSH 公钥的哈希
- 原始公钥由调用方通过 SSL 直接提供
- SSH 哈希是使用密钥保管库中存储的 64 字节对称签名密钥作为组织 ID 和原始公钥的 HMACSHA256Hash 在服务器端的内存中生成的
- 哈希存储在数据库中
OAuth 凭据 (JWT)
- 这些令牌作为完全自描述的 JSON Web 令牌颁发 (JWT) ,不会存储在我们的服务中
- 使用密钥保管库中存储的证书验证已颁发并呈现给服务的 JWT 中的声明
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈