在 Azure AI 服务中禁用本地身份验证

Azure AI Services 为所有资源提供Microsoft Entra身份验证支持。 需要集中控制和管理标识与资源凭据时,此功能可为你提供无缝集成。 组织可以禁用本地身份验证方法并强制实施Microsoft Entra身份验证。

如何禁用本地身份验证

可以使用 Azure 策略禁用本地身份验证Azure AI Services 资源应禁用密钥访问(禁用本地身份验证)。 在订阅级别或资源组级别对其进行设置,以便对一组服务强制实施策略。

如果要使用 Bicep/ARM 模板创建帐户,可以将属性 disableLocalAuth 设置为 true 以禁用本地身份验证。 有关详细信息,请参阅 Microsoft.CognitiveServices 帐户 - Bicep、ARM 模板 和 Terraform

还可以使用 PowerShell 为单个资源禁用本地身份验证。 首先使用 Connect-AzAccount 命令登录。 将参数 Set-AzCognitiveServicesAccount-DisableLocalAuth $true cmdlet 一起使用,如以下示例所示:

Set-AzCognitiveServicesAccount -ResourceGroupName "my-resource-group" -Name "my-resource-name" -DisableLocalAuth $true

注释

如果收到“无法识别 -DisableLocalAuth”的错误,请更新 Az.CognitiveServices 模块:

Update-Module -Name Az.CognitiveServices

验证本地身份验证状态

禁用本地身份验证的操作不会立即生效。 更改立即在控制平面上进行,但强制身份验证的共享网关可以继续接受以前有效的密钥,直到其缓存的配置刷新。 传播通常在几分钟内完成,但可能需要长达数小时的时间,具体取决于区域、负载和网关缓存状态。 在轮换密钥或审计访问权限时,应将这种延迟考虑在内;对于安全敏感型工作流,不要依赖访问会被立即切断。

若要确认更改已生效,请使用旧密钥发送数据平面请求,并验证服务是否返回带有 Access denied due to invalid subscription key or wrong API endpoint 错误的 HTTP 401 响应,然后才能认为本地身份验证已被完全禁用。

可以使用 PowerShell 来确定当前是否已启用本地身份验证策略。 首先使用 Connect-AzAccount 命令登录。 然后使用 cmdlet Get-AzCognitiveServicesAccount 检索资源,并检查属性 DisableLocalAuth。 值为 true 表示已禁用本地身份验证。

重新启用本地身份验证

为了启用本地身份验证,请使用参数 执行 PowerShell 命令 Set-AzCognitiveServicesAccount。 与禁用一样,更改不会立即生效。 传播通常在几分钟内完成,但网关可能需要几个小时才能再次接受本地身份验证请求。

后续步骤