内容提要
Azure发布了工作负载身份联合,提供更安全的Azure服务连接配置。工作负载身份联合通过强制身份的使用范围,比秘钥更严格地限制了身份的使用。此外,工作负载身份联合的配置只需一次设置,无需担心秘钥过期。可以通过脚本将现有的秘钥连接转换为工作负载身份联合连接。
延伸解读
从密钥到联合身份:安全模型的转变
工作负载身份联合通过强制身份的使用范围来提升安全性。配置在应用注册或托管身份上的联合主体(如 sc://<org>/<project>/<service connection name>)只能由 Azure DevOps 中对应的服务连接使用。这比密钥更严格,因为密钥一旦泄露,可能被用于其他目的或从其他位置访问。这种机制减少了密钥泄露带来的风险。
一次性配置,免除密钥轮换负担
使用工作负载身份联合配置 Azure 服务连接是一次性设置,无需担心密钥过期和轮换问题。这降低了维护成本,并避免了因密钥过期导致的服务中断。对于需要长期稳定运行的服务连接,这一特性尤其有价值。
如何迁移现有密钥连接
对于已使用密钥的 Azure 服务连接,可以通过选择连接后的“转换”操作进行迁移。如果需要批量转换,可以使用提供的 PowerShell 脚本作为基础。脚本会检索符合条件的服务连接,并提示用户确认转换。这为现有用户提供了平滑的迁移路径。
Q&A
Azure 工作负载身份联合现在是什么状态?
Azure 工作负载身份联合现已普遍可用(generally available)。
工作负载身份联合如何提高安全性?
工作负载身份联合通过强制身份的使用范围来提高安全性。在 App Registration 或 Managed Identity 上配置的联合主体(sc://<org>/<project>/<service connection name>)只能在 Azure DevOps 中由为其配置联合的服务连接使用。这比秘钥提供了更严格的约束,因为秘钥可能意外泄露并被用于其他目的或从其他位置使用。
使用工作负载身份联合会有什么好处?
使用工作负载身份联合的主要好处是无需担心秘钥过期。配置是一次性设置,不需要轮换秘钥来保持服务连接正常运行。
如何创建使用工作负载身份联合的新 Azure 服务连接?
在 Azure 服务连接创建体验中,选择“工作负载身份联合(自动)”(Workload identity federation (automatic))即可创建新的使用工作负载身份联合的 Azure 服务连接。
如何将现有的使用秘钥的 Azure 服务连接转换为工作负载身份联合?
可以选择连接后使用“转换”(Convert)操作来转换单个服务连接。对于多个服务连接,可以使用提供的 PowerShell 脚本进行批量转换。
转换多个服务连接的脚本需要哪些参数?
脚本需要两个参数:-Project(Azure DevOps 项目的名称)和 -OrganizationUrl(Azure DevOps 组织的 URL)。