Compartilhar via

使用 Azure Service Bus 禁用本地或共享访问密钥身份验证

可通过两种方法对Azure Service Bus资源进行身份验证:

  • Microsoft Entra ID
  • 共享访问签名 (SAS)

Microsoft Entra ID提供优于共享访问签名(SAS)的安全性和易用性。 使用Microsoft Entra ID时,无需将令牌存储在代码中,并面临潜在的安全漏洞风险。 建议尽可能将Microsoft Entra ID用于Azure Service Bus应用程序。

本文介绍如何禁用 SAS 密钥身份验证(或本地身份验证),并仅使用Microsoft Entra ID进行身份验证。

使用门户禁用本地身份验证

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

  1. Azure 门户中,导航到 Service Bus 命名空间。

  2. 在“概述”页的“基本部分”中,为“本地身份验证”选择“启用”。

    ```xml 截图显示了启用了本地身份验证的 Service Bus 命名空间的“概述”页面。 ```

  3. 在“本地身份验证”页上,选择“禁用”,然后选择“确定”。

    屏幕截图显示在“本地身份验证”页上选择了“禁用”选项。

使用模板禁用本地身份验证

可以通过将 disableLocalAuth 属性设置为 true来禁用Service Bus命名空间的本地身份验证,如以下模板所示。

@description('Name of the Service Bus namespace')
param namespaceName string

@description('Location for all resources.')
param location string = resourceGroup().location

resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
  name: namespaceName
  location: location
  sku: {
    name: 'Standard'
    tier: 'Standard'
  }
  properties: {
    disableLocalAuth: true
  }
}

Azure策略

可以将 禁用本地身份验证 Azure 策略分配给 Azure 订阅或资源组,以便强制禁用订阅或资源组中所有 Service Bus 命名空间的本地身份验证。

Azure 策略禁用位置身份验证的截图。

请参阅以下内容,了解Microsoft Entra ID和 SAS 身份验证。