本文将指导如何配置 Azure Key Vault 网络设置以与其他应用程序和 Azure 服务配合使用。 若要详细了解不同的网络安全配置, 请阅读此处。
下面是使用 Azure 门户、Azure CLI 和 Azure PowerShell 配置 Key Vault 防火墙和虚拟网络的分步说明
- 查找您想要保护的密钥保管库。
- 选择“网络”,然后选择“防火墙和虚拟网络”信息栏 。
- 在“允许的访问来源”下,选择“所选网络”。
- 若要将现有虚拟网络添加到防火墙和虚拟网络规则,请选择“+ 添加现有虚拟网络”。
- 在打开的新边栏选项卡中,选择可访问此 Key Vault 的订阅、虚拟网络和子网。 如果虚拟网络和选择的子网没有启用服务终结点,确认想要启用服务终结点,并选择“启用”。 此操作最多可能需要 15 分钟才能生效。
- 在“IP 网络”下,可通过采用 CIDR(无类域间路由)表示法键入 IPv4 地址范围或单个 IP 地址来添加 IPv4 地址范围。
- 如果要允许 Microsoft 信任的服务跳过 Key Vault 防火墙,请选择“是”。 有关当前 Key Vault 信任的服务的完整列表,请参阅以下链接。 Azure Key Vault 信任的服务
- 选择“保存”。
还可添加新的虚拟网络和子网,然后通过选择“+ 添加新的虚拟网络”,为新创建的虚拟网络和子网启用服务终结点。 然后遵照提示操作。
下面介绍如何使用 Azure CLI 配置 Key Vault 防火墙和虚拟网络
安装 Azure CLI 并 登录。
列出可用的虚拟网络规则。 如果尚未为此密钥保管库设置任何规则,列表将为空。
az keyvault network-rule list --resource-group myresourcegroup --name mykeyvault
在现有虚拟网络和子网上为 Key Vault 启用服务终结点。
az network vnet subnet update --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --service-endpoints "Microsoft.KeyVault"
为虚拟网络和子网添加网络规则。
subnetid=$(az network vnet subnet show --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --query id --output tsv)
az keyvault network-rule add --resource-group "demo9311" --name "demo9311premium" --subnet $subnetid
添加允许流量的 IP 地址范围。
az keyvault network-rule add --resource-group "myresourcegroup" --name "mykeyvault" --ip-address "191.10.18.0/24"
如果此密钥保管库应由任何受信任的服务访问,请设置为 bypass
AzureServices
。
az keyvault update --resource-group "myresourcegroup" --name "mykeyvault" --bypass AzureServices
将默认操作设置为 Deny
,以启用网络规则。
az keyvault update --resource-group "myresourcegroup" --name "mekeyvault" --default-action Deny
下面介绍如何使用 PowerShell 配置 Key Vault 防火墙和虚拟网络:
安装最新的 Azure PowerShell 并 登录。
列出可用的虚拟网络规则。 如果尚未为此密钥保管库设置任何规则,列表将为空。
(Get-AzKeyVault -VaultName "mykeyvault").NetworkAcls
在现有虚拟网络和子网上为 Key Vault 启用服务终结点。
Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Set-AzVirtualNetworkSubnetConfig -Name "mysubnet" -AddressPrefix "10.1.1.0/24" -ServiceEndpoint "Microsoft.KeyVault" | Set-AzVirtualNetwork
为虚拟网络和子网添加网络规则。
$subnet = Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Get-AzVirtualNetworkSubnetConfig -Name "mysubnet"
Add-AzKeyVaultNetworkRule -VaultName "mykeyvault" -VirtualNetworkResourceId $subnet.Id
添加允许流量的 IP 地址范围。
Add-AzKeyVaultNetworkRule -VaultName "mykeyvault" -IpAddressRange "16.17.18.0/24"
如果此密钥保管库应由任何受信任的服务访问,请设置为 bypass
AzureServices
。
Update-AzKeyVaultNetworkRuleSet -VaultName "mykeyvault" -Bypass AzureServices
将默认操作设置为 Deny
,以启用网络规则。
Update-AzKeyVaultNetworkRuleSet -VaultName "mykeyvault" -DefaultAction Deny
参考文献
后续步骤