容器注册表的 Azure 安全基线

此安全基线将 Azure 安全基准版本 3.0 中的指南应用到容器注册表。 Azure 安全基准提供有关如何在 Azure 上保护云解决方案的建议。 内容分为 Azure 安全基准定义的安全控制和适用于容器注册表的相关指导。

可以使用 Microsoft Defender for Cloud 监视此安全基线及其建议。 Azure Policy定义将在 Microsoft Defender for Cloud 仪表板的“法规符合性”部分列出。

当某个功能具有相关的Azure Policy定义时,它们将列在此基线中,以帮助衡量 Azure 安全基准控件和建议的符合性。 某些建议可能需要付费的 Microsoft Defender 计划才能启用某些安全方案。

注意

已排除不适用于容器注册表的功能。 要了解容器注册表如何完全映射到 Azure 安全基准,请参阅完整的容器注册表安全基线映射文件。

安全配置文件

安全配置文件汇总了容器注册表的高影响行为,这可能会导致安全注意事项增加。

服务行为属性
产品类别 计算、容器
客户可以访问 HOST/OS 无访问权限
可将服务部署到客户的虚拟网络中 错误
存储静态客户内容 True

网络安全性

有关详细信息,请参阅 Azure 安全基线: 网络安全

NS-1:建立网络分段边界

功能

虚拟网络集成

说明:服务支持部署到客户的专用虚拟网络 (VNet) 。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

配置指南:不支持此功能来保护此服务。

网络安全组支持

说明:服务网络流量遵循其子网上的网络安全组规则分配。 了解详细信息

支持 默认启用 配置责任
错误 不适用 不适用

配置指南:不支持此功能来保护此服务。

NS-2:使用网络控制保护云服务

功能

说明:用于筛选网络流量的服务本机 IP 筛选功能, (不会与 NSG 或Azure 防火墙) 混淆。 了解详细信息

支持 默认启用 配置责任
True 错误 客户

配置指南:为支持专用链接功能的所有 Azure 资源部署专用终结点,为资源建立专用访问点。

参考使用 Azure 专用链接 私下连接到 Azure 容器注册表

禁用公用网络访问

说明:服务支持使用服务级别 IP ACL 筛选规则 (非 NSG 或Azure 防火墙) 或使用“禁用公用网络访问”切换开关禁用公用网络访问。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:使用服务级别 IP ACL 筛选规则禁用公用网络访问,或者在服务上启用“禁用公用网络访问”设置。

参考禁用公用网络访问

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.ContainerRegistry:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
容器注册表不得允许无限制的网络访问 默认情况下,Azure 容器注册表接受来自任何网络上的主机的 Internet 连接。 为了防止注册表受到潜在的威胁,只允许来自特定的公共 IP 地址或地址范围的访问。 如果注册表没有 IP/防火墙规则或配置的虚拟网络,它将出现在不正常资源中。 有关容器注册表网络规则的详细信息,请访问 https://aka.ms/acr/portal/public-networkhttps://aka.ms/acr/vnet Audit、Deny、Disabled 1.1.0
容器注册表应使用专用链接 通过 Azure 专用链接,在没有源位置或目标位置的公共 IP 地址的情况下,也可以将虚拟网络连接到 Azure 服务。 专用链接平台处理使用者与服务之间通过 Azure 主干网络进行的连接。通过将专用终结点映射到容器注册表,而不是整个服务,还可以防范数据泄露风险。 有关详细信息,请访问:https://aka.ms/acr/private-link Audit、Disabled 1.0.1

身份管理

有关详细信息,请参阅 Azure 安全基准:标识管理

IM-1:使用集中式标识和身份验证系统

功能

数据平面访问所需的Azure AD 身份验证

说明:服务支持使用 Azure AD 身份验证进行数据平面访问。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:默认部署上未启用其他配置。

参考使用 Azure 容器注册表进行身份验证

数据平面访问的本地身份验证方法

说明:数据平面访问支持的本地身份验证方法,例如本地用户名和密码。 了解详细信息

支持 默认启用 配置责任
True 错误 客户

功能说明:避免使用本地身份验证方法或帐户,应尽可能禁用这些方法。 请尽可能使用 Azure AD 进行身份验证。

配置指南:限制对数据平面访问使用本地身份验证方法。 而是使用 Azure Active Directory (Azure AD) 作为默认身份验证方法来控制数据平面访问。

参考创建具有存储库范围权限的令牌

IM-3:安全且自动地管理应用程序标识

功能

托管标识

说明:数据平面操作支持使用托管标识进行身份验证。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:尽可能使用 Azure 托管标识而不是服务主体,这可以向支持 Azure Active Directory (Azure AD) 身份验证的 Azure 服务和资源进行身份验证。 托管标识凭据由平台完全托管、轮换和保护,避免了在源代码或配置文件中使用硬编码凭据。

参考使用 Azure 托管标识向 Azure 容器注册表进行身份验证

服务主体

说明:数据平面支持使用服务主体进行身份验证。 了解详细信息

支持 默认启用 配置责任
True False 客户

其他指导:尽管服务主体支持作为身份验证模式,但建议尽可能使用托管标识。

参考使用服务主体Azure 容器注册表身份验证

IM-7:根据条件限制资源访问

功能

数据平面的条件访问

说明:可以使用 Azure AD 条件访问策略控制数据平面访问。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

配置指南:不支持此功能来保护此服务。

特权访问

有关详细信息,请参阅 Azure 安全基准:特权访问

PA-1:隔离和限制高度特权/管理用户

功能

本地管理员帐户

说明:服务具有本地管理帐户的概念。 了解详细信息

支持 默认启用 配置责任
True False 客户

功能说明:避免使用本地身份验证方法或帐户,应尽可能禁用这些方法。 请尽可能使用 Azure AD 进行身份验证。

配置指南:如果常规管理操作不需要,请禁用或限制任何本地管理员帐户,以便仅紧急使用。 每个容器注册表包含一个管理员用户帐户,此帐户默认禁用。

参考使用 Azure 容器注册表进行身份验证

PA-7:遵循 Just Enough Administration(最小特权)原则

功能

用于数据平面的 Azure RBAC

说明:Azure Role-Based 访问控制 (Azure RBAC) 可用于管理对服务的数据平面操作的访问。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:默认部署上未启用其他配置。

参考Azure 容器注册表角色和权限

PA-8:确定云提供商支持的访问过程

功能

客户密码箱

说明:客户密码箱可用于 Microsoft 支持访问。 了解详细信息

支持 默认启用 配置责任
True 错误 客户

配置指南:在 Microsoft 需要访问数据的支持方案中,使用客户密码箱查看,然后批准或拒绝每个 Microsoft 的数据访问请求。

参考适用于 Microsoft Azure 的客户密码箱

数据保护

有关详细信息,请参阅 Azure 安全基线: 数据保护

DP-1:对敏感数据进行发现、分类和标记

功能

敏感数据发现和分类

说明:工具 ((例如 Azure Purview 或 Azure 信息保护) )可用于服务中的数据发现和分类。 了解详细信息

支持 默认启用 配置责任
错误 不适用 不适用

配置指南:不支持此功能来保护此服务。

DP-2:监视针对敏感数据的异常情况和威胁

功能

数据丢失/丢失防护

说明:服务支持 DLP 解决方案,用于监视客户内容) 中的敏感数据移动 (。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:禁用容器注册表导出,以确保仅通过数据平面访问数据 (“docker pull”) 。 这可确保无法通过“acr 导入”或“acr 传输”将数据移出注册表。

参考容器注册表应禁用导出

DP-3:加密传输中的敏感数据

功能

传输加密中的数据

说明:服务支持数据平面的数据传输中加密。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:在默认部署上启用此项时,不需要其他配置。

参考如何在 Azure 容器注册表 上启用 TLS 1.2

DP-4:默认启用静态数据加密

功能

使用平台密钥进行静态加密

说明:支持使用平台密钥进行静态数据加密,所有客户静态内容都使用这些 Microsoft 托管密钥进行加密。 了解详细信息

支持 默认启用 配置责任
True True Microsoft

配置指南:在默认部署上启用此项时,不需要其他配置。

参考使用平台管理的密钥加密注册表

DP-5:需要时在静态数据加密中使用客户管理的密钥选项

功能

使用 CMK 进行静态数据加密

说明:服务存储的客户内容支持使用客户管理的密钥进行静态静态加密。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:如果需要符合法规,请定义使用客户管理的密钥进行加密的用例和服务范围。 使用客户管理的密钥为这些服务启用和实现静态数据加密。

参考使用客户管理的密钥加密注册表

Microsoft Defender for Cloud 监视

Azure Policy 内置定义 - Microsoft.ContainerRegistry:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应使用客户管理的密钥对容器注册表进行加密 使用客户管理的密钥来管理注册表内容的静态加密。 默认情况下,使用服务管理的密钥对数据进行静态加密,但为了满足法规符合性标准,通常需要使用客户管理的密钥。 客户管理的密钥允许使用由你创建并拥有的 Azure Key Vault 密钥对数据进行加密。 你可以完全控制并负责关键生命周期,包括轮换和管理。 更多信息请访问 https://aka.ms/acr/CMK Audit、Deny、Disabled 1.1.2

DP-6:使用安全密钥管理流程

功能

Azure 密钥保管库中的密钥管理

说明:该服务支持任何客户密钥、机密或证书的 Azure 密钥保管库集成。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

配置指南:不支持此功能来保护此服务。

资产管理

有关详细信息,请参阅 Azure 安全基准:资产管理

AM-2:仅使用已获批准的服务

功能

Azure Policy 支持

说明:可以通过Azure Policy监视和强制实施服务配置。 了解详细信息

支持 默认启用 配置责任
True 错误 客户

配置指南:使用 Microsoft Defender for Cloud 配置Azure Policy来审核和强制实施 Azure 资源的配置。 使用 Azure Monitor 在资源上检测到配置偏差时创建警报。 使用Azure Policy [拒绝] 和 [如果不存在部署] 影响,跨 Azure 资源强制实施安全配置。

参考使用 Azure Policy 审核 Azure 容器注册表的符合性

日志记录和威胁检测

有关详细信息,请参阅 Azure 安全基准:日志记录和威胁检测

LT-1:启用威胁检测功能

功能

Microsoft Defender for Service /产品/产品/服务

说明:服务具有特定于产品/服务的 Microsoft Defender 解决方案,用于监视和警报安全问题。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:使用 Microsoft Defender for Cloud 内置威胁检测功能并为容器注册表资源启用 Microsoft Defender。 适用于容器注册表的 Microsoft Defender 提供了另一层安全智能。 它会检测以非寻常和可能有害的方式访问或恶意利用容器注册表资源的尝试。

参考适用于容器的 Microsoft Defender 概述

LT-4:启用日志记录以进行调查

功能

Azure 资源日志

说明:服务生成资源日志,可提供增强的服务特定的指标和日志记录。 客户可以配置这些资源日志,并将其发送到自己的数据接收器,例如存储帐户或 Log Analytics 工作区。 了解详细信息

支持 默认启用 配置责任
True False 客户

配置指南:为容器注册表启用 Azure 资源日志。 可以使用 Microsoft Defender for Cloud 和 Azure Policy 启用资源日志和日志数据收集。 这些日志可能对调查安全事件和执行取证演练至关重要。

参考监视Azure 容器注册表

备份和恢复

有关详细信息,请参阅 Azure 安全基准:备份和恢复

BR-1:确保定期执行自动备份

功能

Azure 备份

说明:服务可由Azure 备份服务备份。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

配置指南:不支持此功能来保护此服务。

服务本机备份功能

说明:如果未使用Azure 备份) ,服务支持其自己的本机备份功能 (。 了解详细信息

支持 默认启用 配置责任
False 不适用 不适用

配置指南:不支持此功能来保护此服务。

后续步骤