你当前正在访问 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. 选择“保存”按钮。

Screenshot of selections for disabling local authentication in the Azure portal.

使用 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 服务应禁用本地身份验证方法。

Screenshot that shows disabling local authentication by using a policy.

后续步骤

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