管理的标识通过在 Microsoft Entra ID 中提供自动管理的标识,确保对 Azure 服务的安全和无凭据访问。 这些标识可用于向支持Microsoft Entra 身份验证的服务进行身份验证,而无需在代码中管理凭据。 有关详细信息,请参阅 Azure 资源的托管标识。
虚拟网络流日志 可以使用用户分配的托管标识 安全地向存储流日志的存储帐户进行身份验证。 此方法无需在脚本或配置文件中嵌入凭据,从而降低凭据泄露和简化作管理的风险。
将托管标识与虚拟网络流日志配合使用的好处
将托管标识与虚拟网络流日志配合使用具有以下优势:
- 管理员可以使用基于角色的访问控制(RBAC)安全地授予对存储帐户的访问权限。
- 标识管理通过Microsoft Entra ID 进行集中管理。
- 在跨多个虚拟网络启用流日志的大型环境中非常有用。
与流量分析集成
流量分析通过用户分配的托管身份获益,能够在 Log Analytics 工作区中安全引入流量日志,而无需管理凭据。 此方法:
- 简化自动部署的访问控制。
- 符合零信任原则。
- 增强整体安全态势。
先决条件
启用了流日志的虚拟网络。 有关详细信息,请参阅 创建虚拟网络流日志。
一个 Azure 存储帐户。 有关详细信息,请参阅创建存储帐户。
用于流量分析的 Log Analytics 工作区。 有关详细信息,请参阅创建 Log Analytics 工作区。
用户分配的托管标识。 有关详细信息,请参阅创建用户分配的托管标识。
分配给托管标识的存储 Blob 数据参与者角色。 有关详细信息,请参阅 授予对资源的托管标识访问权限。
Azure PowerShell。
本文中的步骤将在本地 PC 上运行 Azure PowerShell 命令行工具。
也可以在本地安装 Azure PowerShell 以运行 cmdlet。 如果在本地运行 PowerShell,请使用 Connect-AzAccount -Environment AzureChinaCloud cmdlet 登录到 Azure。
将用户分配的托管标识与虚拟网络流日志配合使用
若要使用用户分配的托管标识创建新的虚拟网络流日志,请使用带参数的 -UserAssignedIdentityId cmdlet。
New-AzNetworkWatcherFlowLog -Enabled $true -Name <FLOW LOG NAME> -NetworkWatcherName NetworkWatcher_{REGION} -ResourceGroupName NetworkWatcherRG -StorageId <STORAGE ID> -TargetResourceId <VNET ID> -UserAssignedIdentityId <USER ASSIGNED MANAGED IDENTITY ID>
若要将用户分配的托管身份关联或取消关联到已存在的虚拟网络流日志,请使用 Set-AzNetworkWatcherFlowLog cmdlet 配合参数 -UserAssignedIdentityId。
# Associate a user-assigned managed identity to an existing flow log
Set-AzNetworkWatcherFlowLog -Enabled $true -Name <FLOW LOG NAME> -NetworkWatcherName NetworkWatcher_<REGION> -ResourceGroupName NetworkWatcherRG -StorageId <STORAGE ID> -TargetResourceId <VNET ID> -UserAssignedIdentityId <USER ASSIGNED MANAGED IDENTITY ID>
# Dissociate a user-assigned managed identity from an existing flow log
Set-AzNetworkWatcherFlowLog -Enabled $true -Name <FLOW LOG NAME> -NetworkWatcherName NetworkWatcher_<REGION> -ResourceGroupName NetworkWatcherRG -StorageId <STORAGE ID> -TargetResourceId <VNET ID> -UserAssignedIdentityId {None}