你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

云规模分析中的策略

考虑部署之前,组织必须设置防护措施。 借助 Azure 策略,可以针对资源一致性、法规遵从性、安全性、成本和管理实施治理。

背景

云规模分析的核心原则是根据需要轻松创建、读取、更新和删除资源。 然而,虽然向开发人员授予不受限制的资源访问权限可以使他们变得敏捷,但也可能会产生意外成本。 解决此问题的方法就是采用资源访问调控。 此调控是根据组织的目标和要求,对 Azure 资源的使用持续进行管理、监视和审核的过程。

首先采用云采用框架企业级登陆区域已经使用了此概念。 云规模分析添加了自定义 Azure 策略来构建这些标准。 然后将这些标准应用于数据管理登陆区域和数据登录区域。

显示 Azure 治理如何工作的示意图。

在确保云规模分析中的安全性和合规性时,Azure Policy 很重要。 它可帮助强制执行标准并大规模评估合规性。 策略可用于评估 Azure 中的资源,并将这些资源与所需的属性进行比较。 可以将多个策略或业务规则组合到一个计划中。 各个策略或计划可以分配到 Azure 中的不同范围。 这些范围可能是管理组、订阅、资源组或单独的资源。 此分配将应用于范围内的所有资源,也可根据需要使用例外排除子范围。

设计注意事项

云规模分析中的 Azure 策略的开发考虑了以下设计注意事项:

  • 使用 Azure 策略实施治理并强制实施资源一致性、法规遵从性、安全性、成本和管理方面的规则。
  • 使用可用的预生成策略来节省时间。
  • 将策略分配到管理组树中可能的最高级别,以简化策略管理。
  • 限制根管理组范围内的 Azure Policy 分配,以避免通过继承范围内的排除项进行管理。
  • 仅在必要时使用策略例外,并且需要批准。

用于云规模分析的 Azure 策略

实现自定义策略可以让你使用 Azure Policy 执行更多内容。 云规模分析附带一组预先创建的策略,可帮助你在环境中实现任何所需的防护措施。

Azure Policy 应该是 Azure(数据)平台团队的核心工具,以确保数据管理登陆区域、数据登陆区域以及组织租户内的其他登陆区域内的资源合规。 此平台功能应用于引入护栏并强制遵守相应管理组范围内的整体批准服务配置。 例如,平台团队可以使用 Azure Policy 对托管在数据平台环境中的任何存储帐户实施专用终结点,或对与存储帐户建立的任何连接实施传输中的 TLS 1.2 加密。 如果正确实施,这将禁止任何数据应用程序团队在各自的租户范围内托管处于不合规状态的服务。

负责的 IT 团队应使用此平台功能来解决他们的安全性和合规性问题,并在(数据)登陆区域内采用自助服务方法。

云规模分析包含与资源和成本管理、身份验证、加密、网络隔离、日志记录、复原能力等相关的自定义策略

注意

默认情况下,在部署期间不会应用提供的策略。 它们应仅被视为指导,并可以根据业务要求应用。 策略应始终应用于可能的最高级别, 在大多数情况下,将为管理组。 GitHub 存储库中提供了所有策略。

注意

默认情况下,在部署期间不会应用下面提供的策略。 它们应仅被视为指导,并可以根据业务要求应用。 策略应始终应用于可能的最高级别,在大多数情况下,将是管理组。 GitHub 存储库中提供了所有策略。

所有服务

策略名称 策略区域 说明
Deny-PublicIp 网络隔离 限制部署公共 IP。
Deny-PrivateEndpoint-PrivateLinkServiceConnections 网络隔离 拒绝Microsoft Entra 租户和订阅之外的资源的专用终结点。
Deploy-DNSZoneGroup-{Service}-PrivateEndpoint 网络隔离 通过服务专用终结点的参数来部署专用 DNS 区域组的配置。 用于将配置强制执行到单个专用 DNS 区域。
DiagnosticSettings-{Service}-LogAnalytics Logging 将 Azure Cosmos DB 的诊断设置发送到 Log Analytics 工作区。

存储

策略名称 策略区域 说明
Append-Storage-Encryption 加密 对存储帐户强制执行加密。
Deny-Storage-AllowBlobPublicAccess 网络隔离 禁止对存储帐户中所有 Blob 或容器的公共访问。
Deny-Storage-ContainerDeleteRetentionPolicy 复原能力 对存储帐户强制执行超过 7 天的容器删除保留策略。
Deny-Storage-CorsRules 网络隔离 拒绝存储帐户的 cors 规则。
Deny-Storage-InfrastructureEncryption 加密 对存储账户强制执行基础结构(双重)加密。
Deny-Storage-MinimumTlsVersion 加密 对存储帐户强制执行最低 TLS 版本 1.2。
Deny-Storage-NetworkAclsBypass 网络隔离 将存储帐户强制执行为无网络绕过。
Deny-Storage-NetworkAclsIpRules 网络隔离 对存储帐户强制执行网络 IP 规则。
Deny-Storage-NetworkAclsVirtualNetworkRules 网络隔离 拒绝存储帐户的虚拟网络规则。
Deny-Storage-Sku 资源管理 强制执行存储帐户 SKU。
Deny-Storage-SupportsHttpsTrafficOnly 加密 强制 https 流量用于存储帐户。
Deploy-Storage-BlobServices 资源管理 为存储帐户部署 Blob 服务默认设置。
Deny-Storage-RoutingPreference 网络隔离
Deny-Storage-Kind 资源管理
Deny-Storage-NetworkAclsDefaultAction 网络隔离

密钥保管库

策略名称 策略区域 说明
Audit-KeyVault-PrivateEndpointId 网络隔离 审核密钥保管库的其他订阅中创建的公共终结点。
Deny-KeyVault-NetworkAclsBypass 网络隔离 对密钥保管库强制执行绕过网络级别规则。
Deny-KeyVault-NetworkAclsDefaultAction 网络隔离 对密钥保管库强制执行默认网络 acl 级别操作。
Deny-KeyVault-NetworkAclsIpRules 网络隔离 对密钥保管库强制执行网络 IP 规则。
Deny-KeyVault-NetworkAclsVirtualNetworkRules 网络隔离 拒绝密钥保管库的虚拟网络规则。
Deny-KeyVault-PurgeProtection 复原能力 对密钥保管库强制执行清除保护。
Deny-KeyVault-SoftDelete 复原能力 对密钥保管库强制执行最小保留天数的软删除。
Deny-KeyVault-TenantId 资源管理 对密钥保管库强制执行租户 ID。

Azure 数据工厂

策略名称 策略区域 说明
Append-DataFactory-IdentityType 身份验证 对数据工厂强制使用系统分配的标识。
Deny-DataFactory-ApiVersion 资源管理 拒绝数据工厂 V1 的旧 API 版本。
Deny-DataFactory-IntegrationRuntimeManagedVirtualNetwork 网络隔离 拒绝未连接到托管虚拟网络的 Integration Runtime。
Deny-DataFactory-LinkedServicesConnectionStringType 身份验证 拒绝链接服务的非 Key Vault 存储的机密。
Deny-DataFactory-ManagedPrivateEndpoints 网络隔离 拒绝链接服务的外部专用终结点。
Deny-DataFactory-PublicNetworkAccess 网络隔离 拒绝对数据工厂的公共访问。
Deploy-DataFactory-ManagedVirtualNetwork 网络隔离 为数据工厂部署托管虚拟网络。
Deploy-SelfHostedIntegrationRuntime-Sharing 复原能力 与数据节点中的数据工厂共享在数据中心托管的自承载集成运行时。

Azure Synapse Analytics

策略名称 策略区域 说明
Append-Synapse-LinkedAccessCheckOnTargetResource 网络隔离 创建 Synapse 工作区时,在托管的 vnet 设置中强制执行 LinkedAccessCheckOnTargetResource
Append-Synapse-Purview 网络隔离 在中央 Purview 实例与 Synapse 工作区之间强制执行连接。
Append-SynapseSpark-ComputeIsolation 资源管理 创建 Synapse Spark 池但没有计算隔离时,会添加它。
Append-SynapseSpark-DefaultSparkLogFolder Logging 创建 Synapse Spark 池但没有日志记录时,会添加它。
Append-SynapseSpark-SessionLevelPackages 资源管理 创建 Synapse Spark 池但没有会话级别包时,会添加它。
Audit-Synapse-PrivateEndpointId 网络隔离 审核 Synapse 的其他订阅中创建的公共终结点。
Deny-Synapse-AllowedAadTenantIdsForLinking 网络隔离
Deny-Synapse-Firewall 网络隔离 设置 Synapse 的防火墙。
Deny-Synapse-ManagedVirtualNetwork 网络隔离 创建 Synapse 工作区但没有托管虚拟网络时,会添加它。
Deny-Synapse-PreventDataExfiltration 网络隔离 强制防止 Synapse 托管虚拟网络的数据外泄。
Deny-SynapsePrivateLinkHub 网络隔离 拒绝 Synapse 专用链接中心。
Deny-SynapseSpark-AutoPause 资源管理 对 Synapse Spark 池强制执行自动暂停。
Deny-SynapseSpark-AutoScale 资源管理 对 Synapse Spark 池强制执行自动缩放。
Deny-SynapseSql-Sku 资源管理 拒绝某些 Synapse SQL 池 SKU。
Deploy-SynapseSql-AuditingSettings Logging 将 Synapse SQL 池的审核日志发送到 log analytics。
Deploy-SynapseSql-MetadataSynch 资源管理 为 Synapse SQL 池设置元数据同步。
Deploy-SynapseSql-SecurityAlertPolicies Logging 部署 Synapse SQL 池安全警报策略。
Deploy-SynapseSql-TransparentDataEncryption 加密 部署 Synapse SQL 透明数据加密。
Deploy-SynapseSql-VulnerabilityAssessment Logging 部署 Synapse SQL 池漏洞评估。

Azure Purview

策略名称 策略区域 说明
Deny-Purview 资源管理 限制部署 Purview 帐户以避免激增。

Azure Databricks

策略名称 策略区域 说明
Append-Databricks-PublicIp 网络隔离 禁止 Databricks 工作区上的公共访问。
Deny-Databricks-Sku 资源管理 拒绝非高级 Databricks SKU。
Deny-Databricks-VirtualNetwork 网络隔离 拒绝 databricks 的非虚拟网络部署。

通过群集策略在 Databricks 工作区中应用的其他策略:

群集策略名称 策略区域
限制 Spark 版本 资源管理
限制群集大小和 VM 类型 资源管理
强制执行成本标记 资源管理
强制执行自动缩放 资源管理
强制执行自动暂停 资源管理
限制每小时 DBU 资源管理
拒绝公共 SSH 身份验证
群集凭据直通身份验证已启用 身份验证
启用进程隔离 网络隔离
强制执行 Spark 监视 Logging
强制执行群集日志 Logging
仅允许 SQL、Python 资源管理
拒绝其他设置脚本 资源管理

Azure IoT 中心

策略名称 策略区域 说明
Append-IotHub-MinimalTlsVersion 加密 对 iot 中心强制执行最低 TLS 版本。
Audit-IotHub-PrivateEndpointId 网络隔离 审核 iot 中心的其他订阅中创建的公共终结点。
Deny-IotHub-PublicNetworkAccess 网络隔离 拒绝 iot 中心的公用网络访问。
Deny-IotHub-Sku 资源管理 强制执行 iot 中心 SKU。
Deploy-IotHub-IoTSecuritySolutions 安全性 为 IoT 中心部署 Microsoft Defender for IoT。

Azure 事件中心

策略名称 策略区域 说明
Deny-EventHub-Ipfilterrules 网络隔离 拒绝为 Azure 事件中心添加 ip 筛选器规则。
Deny-EventHub-MaximumThroughputUnits 网络隔离 拒绝 SQL 服务器的公共网络访问。
Deny-EventHub-NetworkRuleSet 网络隔离 对 Azure 事件中心强制执行默认虚拟网络规则。
Deny-EventHub-Sku 资源管理 拒绝 Azure 事件中心的某些 AKUs。
Deny-EventHub-Virtualnetworkrules 网络隔离 拒绝为 Azure 事件中心添加虚拟网络规则。

Azure 流分析

策略名称 策略区域 说明
Append-StreamAnalytics-IdentityType 身份验证 对流分析强制使用系统分配的标识。
Deny-StreamAnalytics-ClusterId 资源管理 强制使用流分析群集。
Deny-StreamAnalytics-StreamingUnits 资源管理 强制执行流分析流式处理单元的数量。

Azure 数据资源管理器

策略名称 策略区域 说明
Deny-DataExplorer-DiskEncryption 加密 对数据资源管理器强制使用磁盘加密。
Deny-DataExplorer-DoubleEncryption 加密 对数据资源管理器强制使用双重加密。
Deny-DataExplorer-Identity 身份验证 对数据资源管理器强制使用系统或用户分配的标识。
Deny-DataExplorer-Sku 资源管理 强制执行数据资源管理器 SKU。
Deny-DataExplorer-TrustedExternalTenants 网络隔离 拒绝数据资源管理器的外部租户。
Deny-DataExplorer-VirtualNetworkConfiguration 网络隔离 对数据资源管理器强制执行虚拟网络引入。

Azure Cosmos DB

策略名称 策略区域 说明
Append-Cosmos-DenyCosmosKeyBasedMetadataWriteAccess 身份验证 拒绝 Azure Cosmos DB 帐户的基于密钥的元数据写入访问权限。
Append-Cosmos-PublicNetworkAccess 网络隔离 强制不对 Azure Cosmos DB 帐户进行公共网络访问。
Audit-Cosmos-PrivateEndpointId 网络隔离 审核在 Azure Cosmos DB 的其他订阅中创建的公共终结点。
Deny-Cosmos-Cors 网络隔离 拒绝 Azure Cosmos DB 帐户的 CORS 规则。
Deny-Cosmos-PublicNetworkAccess 网络隔离 拒绝 Azure Cosmos DB 帐户的公共网络访问。

Azure 容器注册表

策略名称 策略区域 说明
Audit-ContainerRegistry-PrivateEndpointId 网络隔离 审核认知服务的其他订阅中创建的公共终结点。
Deny-ContainerRegistry-PublicNetworkAccess 网络隔离 拒绝对容器注册表的公共网络访问。
Deny-ContainerRegistry-Sku 资源管理 对容器注册表强制执行高级 Sku。

Azure 认知服务

策略名称 策略区域 说明
Append-CognitiveServices-IdentityType 身份验证 对认知服务强制使用系统分配的标识。
Audit-CognitiveServices-PrivateEndpointId 网络隔离 审核认知服务的其他订阅中创建的公共终结点。
Deny-CognitiveServices-Encryption 加密 对认知服务强制使用加密。
Deny-CognitiveServices-PublicNetworkAccess 网络隔离 禁止对认知服务的公共网络访问。
Deny-CognitiveServices-Sku 资源管理 拒绝认知服务免费 SKU。
Deny-CognitiveServices-UserOwnedStorage 网络隔离 对认知服务强制执行用户拥有的存储。

Azure 机器学习

策略名称 策略区域 说明
Append-MachineLearning-PublicAccessWhenBehindVnet 网络隔离 拒绝对机器学习工作区从 vnet 后的公共访问。
Audit-MachineLearning-PrivateEndpointId 网络隔离 审核机器学习的其他订阅中创建的公共终结点。
Deny-MachineLearning-HbiWorkspace 网络隔离 在整个环境中强制执行高业务影响机器学习工作区。
Deny-MachineLearningAks 资源管理 拒绝机器学习中的 AKS 创建(不附加)。
Deny-MachineLearningCompute-SubnetId 网络隔离 拒绝机器学习计算群集和实例的公共 IP。
Deny-MachineLearningCompute-VmSize 资源管理 限制机器学习计算群集和实例的允许 VM 大小。
Deny-MachineLearningComputeCluster-RemoteLoginPortPublicAccess 网络隔离 拒绝通过 SSH 对群集的公共访问。
Deny-MachineLearningComputeCluster-Scale 资源管理 为机器学习计算群集强制执行缩放设置。

Azure SQL 托管实例

策略名称 策略区域 说明
Append-SqlManagedInstance-MinimalTlsVersion 加密 对 SQL 托管实例服务器强制执行最低 TLS 版本。
Deny-SqlManagedInstance-PublicDataEndpoint 网络隔离 拒绝 SQL 托管实例的公共数据终结点。
Deny-SqlManagedInstance-Sku 资源管理
Deny-SqlManagedInstance-SubnetId 网络隔离 强制执行对 SQL 托管实例子网的部署。
Deploy-SqlManagedInstance-AzureAdOnlyAuthentications 身份验证 对SQL 托管实例强制实施仅输入身份验证Microsoft。
Deploy-SqlManagedInstance-SecurityAlertPolicies Logging 部署 SQL 托管实例安全警报策略。
Deploy-SqlManagedInstance-VulnerabilityAssessment Logging 部署 SQL 托管实例漏洞评估。

Azure SQL 数据库

策略名称 策略区域 说明
Append-Sql-MinimalTlsVersion 加密 对 SQL 服务器强制执行最低 TLS 版本。
Audit-Sql-PrivateEndpointId 网络隔离 审核 Azure SQL 的其他订阅中创建的公共终结点。
Deny-Sql-PublicNetworkAccess 网络隔离 拒绝 SQL 服务器的公共网络访问。
Deny-Sql-StorageAccountType 复原能力 强制执行异地冗余数据库备份。
Deploy-Sql-AuditingSettings Logging 部署 SQL 审核设置。
Deploy-Sql-AzureAdOnlyAuthentications 身份验证 对 SQL Server 强制实施仅限条目的身份验证Microsoft。
Deploy-Sql-SecurityAlertPolicies Logging 部署 SQL 安全警报策略。
Deploy-Sql-TransparentDataEncryption 加密 部署 SQL 透明数据加密。
Deploy-Sql-VulnerabilityAssessment Logging 部署 SQL 漏洞评估。
Deploy-SqlDw-AuditingSettings Logging 部署 SQL DW 审核设置。

Azure Database for MariaDB

策略名称 策略区域 说明
Append-MariaDb-MinimalTlsVersion 加密 对 MariaDB 服务器强制执行最低 TLS 版本。
Audit-MariaDb-PrivateEndpointId 网络隔离 审核 MariaDB 的其他订阅中创建的公共终结点。
Deny-MariaDb-PublicNetworkAccess 网络隔离 拒绝对 MariaDB 服务器的公共网络访问。
Deny-MariaDb-StorageProfile 复原能力 强制执行最小保留时间(天)的异地冗余数据库备份。
Deploy-MariaDb-SecurityAlertPolicies Logging 为 MariaDB 部署 SQL 安全警报策略

Azure Database for MySQL

策略名称 策略区域 说明
Append-MySQL-MinimalTlsVersion 加密 对 MySQL 服务器强制执行最低 TLS 版本。
Audit-MySql-PrivateEndpointId 网络隔离 审核 MySQL 的其他订阅中创建的公共终结点。
Deny-MySQL-InfrastructureEncryption 加密 对 MySQL 服务器强制执行基础结构加密。
Deny-MySQL-PublicNetworkAccess 网络隔离 拒绝 MySQL 服务器的公共网络访问。
Deny-MySql-StorageProfile 复原能力 强制执行最小保留时间(天)的异地冗余数据库备份。
Deploy-MySql-SecurityAlertPolicies Logging 为 MySQL 部署 SQL 安全警报策略。

Azure Database for PostgreSQL

策略名称 策略区域 说明
Append-PostgreSQL-MinimalTlsVersion 加密 对 PostgreSQL 服务器强制执行最低 TLS 版本。
Audit-PostgreSql-PrivateEndpointId 网络隔离 审核 PostgreSQL 的其他订阅中创建的公共终结点。
Deny-PostgreSQL-InfrastructureEncryption 加密 对 PostgreSQL 服务器强制执行基础结构加密。
Deny-PostgreSQL-PublicNetworkAccess 网络隔离 拒绝 PostgreSQL 服务器的公共网络访问。
Deny-PostgreSql-StorageProfile 复原能力 强制执行最小保留时间(天)的异地冗余数据库备份。
Deploy-PostgreSql-SecurityAlertPolicies Logging 为 PostgreSQL 部署 SQL 安全警报策略。
策略名称 策略区域 说明
Append-Search-IdentityType 身份验证 强制使用 Azure AI 搜索的系统分配标识。
Audit-Search-PrivateEndpointId 网络隔离 审核在 Azure AI 搜索的其他订阅中创建的公共终结点。
Deny-Search-PublicNetworkAccess 网络隔离 拒绝 Azure AI 搜索的公共网络访问。
Deny-Search-Sku 资源管理 强制实施 Azure AI 搜索 SKU。

Azure DNS

策略名称 策略区域 说明
Deny-PrivateDnsZones 资源管理 限制部署专用 DNS 区域以避免激增。

网络安全组

策略名称 策略区域 说明
Deploy-Nsg-FlowLogs Logging 部署 NSG 流日志和流量分析。

批处理

策略名称 策略区域 说明
Deny-Batch-InboundNatPools 网络隔离 拒绝批处理帐户 VM 池的入站 NAT 池。
Deny-Batch-NetworkConfiguration 网络隔离 拒绝批处理帐户 VM 池的公共 IP 地址。
Deny-Batch-PublicNetworkAccess 网络隔离 拒绝批处理帐户的公共网络访问。
Deny-Batch-Scale 资源管理 拒绝批处理帐户 VM 池的某些缩放配置。
Deny-Batch-VmSize 资源管理 拒绝批处理帐户 VM 池的某些 VM 大小。

用于 Redis 的 Azure 缓存

策略名称 策略区域 说明
Deny-Cache-Enterprise 资源管理 拒绝 Redis Cache Enterprise。
Deny-Cache-FirewallRules 网络隔离 拒绝 Redis 缓存的防火墙规则。
Deny-Cache-MinimumTlsVersion 加密 对 Redis 缓存强制执行最低 TLS 版本。
Deny-Cache-NonSslPort 网络隔离 对 Redis 缓存强制关闭非 SSL 端口。
Deny-Cache-PublicNetworkAccess 网络隔离 禁止对 Redis 缓存的公共网络访问。
Deny-Cache-Sku 资源管理 对 Redis 缓存强制执行某些 SkKU。
Deny-Cache-VnetInjection 网络隔离 对 Redis 缓存强制使用私有终结点并拒绝 vnet 注入。

容器实例

策略名称 策略区域 说明
Deny-ContainerInstance-PublicIpAddress 网络隔离 拒绝从 Azure 机器学习创建的公共容器实例。

Azure 防火墙

策略名称 策略区域 说明
Deny-Firewall 资源管理 限制部署 Azure 防火墙以避免激增。

HDInsight

策略名称 策略区域 说明
Deny-HdInsight-EncryptionAtHost 加密 对 HDInsight 群集强制执行主机加密。
Deny-HdInsight-EncryptionInTransit 加密 对 HDInsight 群集强制执行传输中加密。
Deny-HdInsight-MinimalTlsVersion 加密 对 HDInsight 群集强制执行最低 TLS 版本。
Deny-HdInsight-NetworkProperties 网络隔离 对 HDInsight 群集强制执行专用链接启用。
Deny-HdInsight-Sku 对 HDInsight 群集强制执行某些 SKU。
Deny-HdInsight-VirtualNetworkProfile 网络隔离 对 HDInsight 群集强制执行虚拟网络注入。

Power BI

策略名称 策略区域 说明
Deny-PrivateLinkServicesForPowerBI 资源管理 限制部署 Power BI 的专用链接服务以避免激增。

后续步骤