你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

禁止将本地(访问密钥)身份验证与 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": "eastus",
      "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 服务应禁用本地身份验证方法

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

后续步骤

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