使用 Azure SignalR 服务 禁用本地(访问密钥)身份验证

可通过两种方法对Azure SignalR 服务资源进行身份验证:Microsoft Entra ID和访问密钥。 与访问密钥方法相比,Microsoft Entra ID提供卓越的安全性和易用性。

使用 Microsoft Entra ID,无需在代码中存储令牌,从而降低潜在安全漏洞的风险。 强烈建议尽可能为Azure SignalR 服务资源使用Microsoft Entra ID。

重要

禁用本地身份验证可能会产生以下后果:

  • 当前访问密钥集会被永久删除。
  • 使用当前访问密钥集签名的令牌将变得不可用。

使用Azure门户

本部分介绍如何使用Azure门户禁用本地身份验证。

  1. Azure 门户中,转到 Azure SignalR 服务 资源。

  2. 在菜单边栏的“设置”部分,选择“密钥”

  3. 对于“访问密钥”,请选择“禁用”。

  4. 选择“保存”按钮。

在 Azure 门户中选择禁用本地身份验证的屏幕截图。

使用Azure 资源管理器模板

可以通过将 disableLocalAuth 属性设置为 true来禁用本地身份验证,如以下Azure 资源管理器模板所示:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "resource_name": {
      "defaultValue": "test-for-disable-aad",
      "type": "String"
    }
  },
  "variables": {},
  "resources": [
    {
      "type": "Microsoft.SignalRService/SignalR",
      "apiVersion": "2022-08-01-preview",
      "name": "[parameters('resource_name')]",
      "location": "chinanorth3",
      "sku": {
        "name": "Premium_P1",
        "tier": "Premium",
        "size": "P1",
        "capacity": 1
      },
      "kind": "SignalR",
      "properties": {
        "tls": {
          "clientCertEnabled": false
        },
        "features": [
          {
            "flag": "ServiceMode",
            "value": "Default",
            "properties": {}
          },
          {
            "flag": "EnableConnectivityLogs",
            "value": "True",
            "properties": {}
          }
        ],
        "cors": {
          "allowedOrigins": ["*"]
        },
        "serverless": {
          "connectionTimeoutInSeconds": 30
        },
        "upstream": {},
        "networkACLs": {
          "defaultAction": "Deny",
          "publicNetwork": {
            "allow": [
              "ServerConnection",
              "ClientConnection",
              "RESTAPI",
              "Trace"
            ]
          },
          "privateEndpoints": []
        },
        "publicNetworkAccess": "Enabled",
        "disableLocalAuth": true,
        "disableAadAuth": false
      }
    }
  ]
}

使用Azure策略

若要对Azure订阅或资源组中的所有Azure SignalR 服务资源强制禁用本地身份验证,可以分配以下Azure策略:Azure SignalR 服务应禁用本地身份验证方法

显示使用策略禁用本地身份验证的屏幕截图。

后续步骤

请参阅以下文档,了解身份验证方法: