Azure Administrator认证学习指南之在Azure中配置对存储帐户的网络访问-17
前文介绍过,当创建了存储账户之后,默认情况下您就可以访问该数据。这个时候很多时候必然会存在一些安全隐患,尤其是和和业务系统集成的时候。
很多用户通常比较喜欢多层安全性来帮助保护公司的数据,因此我们就需要借助Azure存储的防火墙和虚拟网络(VNets)以及虚拟网络服务终结点功能,允许管理员创建仅允许来自选定VNet和子网的流量的网络规则,从而为其数据创建安全的网络边界。通过启用基于网络的访问控制,这些新的以网络为中心的功能允许客户定义基于网络访问的安全性,确保只允许来自特定批准的Azure VNets或指定的公共IP范围的请求进入特定的存储帐户。用户可以将现有授权机制与新网络边界相结合,以更好地保护其数据。
要启用VNet保护,请首先启用服务终结点以便VNet中进行存储。虚拟网络服务终结点允许您将关键Azure服务资源保护到仅虚拟网络。在Internet流量通过虚拟设备或内部部署路由的情况下,服务终结点还为Azure主干上的Azure流量提供最佳路由。
选择存储账户”az103examstorage”,侧边栏设置中选择”防火墙和虚拟网络”,若要默认拒绝访问,请选择允许从”所选网络”进行访问。 若要允许来自所有网络的流量,请选择允许从”所有网络”进行访问。这里选择”所选网络”,选择”+添加现有网络”
防火墙配置页面,可以将存储帐户配置为允许从特定的公共 Internet IP 地址范围进行访问。 此配置向基于Internet的特定服务和本地网络授予访问权限,并阻止一般 Internet 流量。
使用CIDR表示法以16.17.18.0/24的形式,或使用单独的IP地址(如 16.17.18.19)提供允许的Internet地址范围。
不过需要注意的是,不支持使用”/31″或”/32″前缀大小的小型地址范围。
之后您会发现处于internet中的机器是无法查看blob存储中的数据资源的
并且上传资源的时候也会被提示无法验证文件名。
使用虚拟网络内的服务器访问存储资源时,是可以正常访问的
如果您使用Azure PowerShell完成上述操作,请参考以下
#安装Azure PowerShell并进行登录Azure订阅 Login-AzAccount #显示存储帐户默认规则的状态 (Get-AzStorageAccountNetworkRuleSet -ResourceGroupName “myresourcegroup” -AccountName “mystorageaccount”).DefaultAction #将默认规则设置为默认拒绝网络访问 Update-AzStorageAccountNetworkRuleSet -ResourceGroupName “myresourcegroup” -Name “mystorageaccount” -DefaultAction Deny #将默认规则设置为默认允许网络访问 Update-AzStorageAccountNetworkRuleSet -ResourceGroupName “myresourcegroup” -Name “mystorageaccount” -DefaultAction Allow #列出虚拟网络规则 (Get-AzStorageAccountNetworkRuleSet -ResourceGroupName “myresourcegroup” -AccountName “mystorageaccount”).VirtualNetworkRules #在现有虚拟网络和子网上启用 Azure 存储的服务终结点 Get-AzVirtualNetwork -ResourceGroupName “myresourcegroup” -Name “myvnet” | Set-AzVirtualNetworkSubnetConfig -Name “mysubnet” -AddressPrefix “0.0.0.0/24” -ServiceEndpoint “Microsoft.Storage” | Set-AzVirtualNetwork #为虚拟网络和子网添加网络规则 $subnet = Get-AzVirtualNetwork -ResourceGroupName “myresourcegroup” -Name “myvnet” | Get-AzVirtualNetworkSubnetConfig -Name “mysubnet” Add-AzStorageAccountNetworkRule -ResourceGroupName “myresourcegroup” -Name “mystorageaccount” -VirtualNetworkResourceId $subnet.Id #列出 IP 网络规则 (Get-AzStorageAccountNetworkRuleSet -ResourceGroupName “myresourcegroup” -AccountName “mystorageaccount”).IPRules #为单个 IP 地址添加网络规则 Add-AzStorageAccountNetworkRule -ResourceGroupName “myresourcegroup” -AccountName “mystorageaccount” -IPAddressOrRange “0.0.0.0” #为 IP 地址范围添加网络规则 Add-AzStorageAccountNetworkRule -ResourceGroupName “myresourcegroup” -AccountName “mystorageaccount” -IPAddressOrRange “0.0.0.0/24” |
如果您使用Azure CLI完成上述操作,请参考以下
#安装Azure CLI并进行登录Azure订阅 az login #显示存储帐户默认规则的状态 (az storage account show –resource-group “myresourcegroup” –name “mystorageaccount” –query networkRuleSet.defaultAction #将默认规则设置为默认拒绝网络访问 az storage account update –resource-group “myresourcegroup” –name “mystorageaccount” –default-action Deny #将默认规则设置为默认允许网络访问 az storage account update –resource-group “myresourcegroup” –name “mystorageaccount” –default-action Allow #列出虚拟网络规则 az storage account network-rule list –resource-group “myresourcegroup” –account-name “mystorageaccount” –query virtualNetworkRules #在现有虚拟网络和子网上启用 Azure 存储的服务终结点 az network vnet subnet update –resource-group “myresourcegroup” –vnet-name “myvnet” –name “mysubnet” –service-endpoints “Microsoft.Storage” #为虚拟网络和子网添加网络规则 $subnetid=(az network vnet subnet show –resource-group “myresourcegroup” –vnet-name “myvnet” –name “mysubnet” –query id –output tsv) az storage account network-rule add –resource-group “myresourcegroup” –account-name “mystorageaccount” –subnet $subnetid #列出 IP 网络规则 az storage account network-rule list –resource-group “myresourcegroup” –account-name “mystorageaccount” –query ipRules #为单个 IP 地址添加网络规则 az storage account network-rule add –resource-group “myresourcegroup” –account-name “mystorageaccount” –ip-address “0.0.0.0” #为 IP 地址范围添加网络规则 az storage account network-rule add –resource-group “myresourcegroup” –account-name “mystorageaccount” –ip-address “0.0.0.0/24” |
另外,如果您希望为另一个 Azure AD租户的VNet中的子网添加规则,请使用 “/subscriptions/subscription-ID/resourceGroups/resourceGroup-Name/providers/Microsoft.Network/virtualNetworks/vNet-name/subnets/subnet-name” 形式的完全限定子网 ID进行添加
【下一篇】Azure Administrator认证学习指南之使用共享访问签名 (SAS) 实现对 Azure 存储资源的控制访问-18