需要安全传输以确保安全连接

可以通过为存储帐户设置“需要安全传输”属性,将存储帐户配置为仅接受来自安全连接的请求。 要求安全传输时,来自不安全连接的任何请求都会被拒绝。 Azure 建议始终要求对所有存储帐户进行安全传输,除非你使用的是 NFS Azure 文件共享。 必须禁用安全传输所需的属性才能使 NFS Azure 文件共享正常工作。

要求安全传输时,必须通过 HTTPS 调用 Azure 存储 REST API 操作。 通过 HTTP 发出的任何请求都会被拒绝。 默认情况下,创建存储帐户时,会启用“需要安全传输”属性。

Azure Policy 提供内置策略,以确保存储帐户需要安全传输。 有关详细信息,请参阅 Azure Policy 内置策略定义中的“存储”部分。

如果存储帐户需要安全传输,则在不加密的情况下通过 SMB 连接到 Azure 文件共享会失败。 不安全连接的示例包括在不加密的情况下通过 SMB 2.1 或 SMB 3.x 建立的连接。

注意

由于 Azure 存储对自定义域名不支持 HTTPS,因此使用自定义域名时不应用此选项。

此安全传输设置不适用于 TCP。 在 Azure Blob 存储中使用 TCP(不安全)通过 NFS 3.0 协议支持进行连接会成功。

需要在 Azure 门户中进行安全传输

Azure 门户中创建存储帐户时,可启用“需要安全传输”属性。 也可以为现有存储帐户启用该设置。

新的存储帐户需要安全传输

  1. 在 Azure 门户中打开“创建存储帐户”窗格。

  2. 在“高级”页上,选中“启用安全传输”复选框 。

    “创建存储帐户”边栏选项卡

对现有存储帐户需要安全传输

  1. 在 Azure 门户中选择现有存储帐户。

  2. 在存储帐户菜单窗格的“设置”下,选择“配置” 。

  3. 在“需要安全传输”下,选择“启用”。

    “存储帐户”菜单窗格

在代码中要求安全传输

若要以编程方式要求安全传输,请在存储帐户上设置“enableHttpsTrafficOnly”属性为“真” 。 可以使用存储资源提供程序 REST API、客户端库或工具来设置此属性:

要求通过 PowerShell 进行安全传输

注意

建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

本示例需要 Azure PowerShell 模块 Az 0.7 或更高版本。 运行 Get-Module -ListAvailable Az 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure PowerShell 模块

运行 Connect-AzAccount -Environment AzureChinaCloud,创建与 Azure 的连接。

使用以下命令行检查该设置:

Get-AzStorageAccount -Name "{StorageAccountName}" -ResourceGroupName "{ResourceGroupName}"
StorageAccountName     : {StorageAccountName}
Kind                   : Storage
EnableHttpsTrafficOnly : False
...

使用以下命令行启用该设置:

Set-AzStorageAccount -Name "{StorageAccountName}" -ResourceGroupName "{ResourceGroupName}" -EnableHttpsTrafficOnly $True
StorageAccountName     : {StorageAccountName}
Kind                   : Storage
EnableHttpsTrafficOnly : True
...

要求通过 Azure CLI 进行安全传输

若要运行此示例,请安装最新版本的 Azure CLI。 若要开始,请运行 az login 以创建与 Azure 的连接。

适用于 Azure CLI 的示例是针对 bash shell 编写的。 若要在 Windows PowerShell 或命令提示符中运行此示例,可能需要更改脚本的元素。

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

使用以下命令检查该设置:

az storage account show -g {ResourceGroupName} -n {StorageAccountName}
{
  "name": "{StorageAccountName}",
  "enableHttpsTrafficOnly": false,
  "type": "Microsoft.Storage/storageAccounts"
  ...
}

使用以下命令启用该设置:

az storage account update -g {ResourceGroupName} -n {StorageAccountName} --https-only true
{
  "name": "{StorageAccountName}",
  "enableHttpsTrafficOnly": true,
  "type": "Microsoft.Storage/storageAccounts"
  ...
}

后续步骤

适用于 Blob 存储的安全建议