具有公共访问权限的 Azure VM 磁盘

问题描述 投票:0回答:2

为什么“具有公共访问权限的 Azure VM 磁盘”的建议步骤指向启用与专用终结点的专用访问链接,而不是仅仅禁用 VM 磁盘上的公共访问。 我尝试手动禁用公共访问,但没有看到任何影响。如果禁用公共访问可行,那么我正在考虑申请 `# 连接到 Azure 连接-AzAccount

# Get all VM disks with public access enabled

$disks = Get-AzDisk | Where-Object { $_.DiskState -eq 'Attached' -and $_.DiskSizeGB -gt 0 -and $\_.PublicAccess -eq 'Enabled' }

# Disable public access for each disk

foreach ($disk in $disks) {
Write-Host "Disabling public access for disk $($disk.Name)..."

    # Update the disk with public access disabled
    $disk | Set-AzDiskAccess -Access Read -DisallowPublicAccess
    Write-Host "Public access disabled for disk $($disk.Name)."

}

试图找出保持合规性的最佳和最简单的方法。

azure azure-virtual-machine
2个回答
1
投票

Private Endpoint with Private Access Link
磁盘启用
Azure VM
将为访问磁盘提供更多安全性和控制,但不会阻止来自其他
Azure resources
Azure Virtual Network
内的访问。

如果禁用

Azure VM
磁盘上的公共访问,将限制来自公共互联网的访问,并且不会提供与使用
Private Endpoint and Private Access Link
相同级别的隔离和控制。

建议将

Private Endpoint
Private Access Link
用于具有公共访问权限的
Azure VM
磁盘,旨在提供符合网络安全最佳实践的高度安全的解决方案。

以下是更新后的脚本,用于禁用所有已启用公共访问的 VM 磁盘上的公共访问。

    #Get all VM disks with public access enabled
    $disks = Get-AzDisk | Where-Object { $_.DiskState -eq 'Attached' -and $_.DiskSizeGB -gt 0 -and $_.PublicAccess -eq 'Enabled' }
    
    #Disable public access for each disk
    foreach ($disk in $disks) {
        Write-Host "Disabling public access for disk $($disk.Name)..."
        
        # Update the disk with public access disabled
        $disk | New-AzDiskUpdateConfig -PublicNetworkAccess "Disabled" -NetworkAccessPolicy "AllowPrivate"
        Write-Host "Public access disabled for disk $($disk.Name)."
    }

输出:

enter image description here


0
投票

在这里,这实际上可以禁用所有磁盘上的公共访问(不使用专用端点)

$disks = Get-AzDisk |其中对象 {$_.PublicNetworkAccess -eq '启用'} foreach ($disk in $disks) {$disk | $disk New-AzDiskUpdateConfig -PublicNetworkAccess“已禁用”-NetworkAccessPolicy“DenyAll”|更新-AzDisk -resourcegroup $($disk.resourcegroupname) -diskname $($disk.name)}

© www.soinside.com 2019 - 2024. All rights reserved.