Cognitive Services should disable local authentication
High
Azure
General
accounts-no-local-auth
Applies to
Microsoft.CognitiveServices/accounts
What CGPulse checks
A resource passes this rule when disableLocalAuth must equal true. Anything else is reported as a finding with the evaluated property value attached as evidence.
How to fix it
Disable local authentication and require Azure AD for scoped, auditable access. In Azure Portal: Cognitive Services > Identity > disable local authentication. See: https://learn.microsoft.com/en-us/azure/ai-services/disable-local-auth
Careful: Disabling key-based auth breaks ALL apps using API keys. Ensure all clients use Azure AD (Managed Identity or token) before enabling
CLI
az cognitiveservices account update --ids "{id}" --custom-domain <name> --api-properties disableLocalAuth=trueTerraform
resource "azurerm_cognitive_account" "{name}" {
name = "{name}"
resource_group_name = "{rg}"
location = var.location
kind = "CognitiveServices"
sku_name = "S0"
local_auth_enabled = false
}
Compliance frameworks
Is your environment compliant with this rule?
CGPulse checks it — and 621 others — against your Azure and AWS accounts with read-only access.
Related Azure rules
- Action Group should be enabled
- Activity Log Alert should be enabled
- AKS cluster logs should be sent to Log Analytics
- AKS cluster must enable RBAC
- AKS cluster must enable RBAC
- AKS cluster should be a private cluster
- AKS cluster should disable local accounts
- AKS cluster should enable Azure RBAC for Kubernetes