Azure 沙盒
Azure 沙盒是相互依赖的云计算配置的集合,用于在单个订阅上实现常见 Azure 服务。 此集合提供了一个灵活且经济高效的沙盒环境,用于试验 Azure 服务和功能。
根据你的 Azure 产品/服务类型和区域,完全预配的 Azure 沙盒环境的运行成本可能很高。 可以通过在不使用时停止或解除分配虚拟机 (VM) 或者通过跳过不打算使用的可选配置来降低成本。
体系结构
下载此体系结构的 Visio 文件。
组件
可以部署以下每个沙盒配置,也可以仅部署所需的配置:
- 共享服务虚拟网络、 Azure Bastion、 Azure 防火墙和 Active Directory 域控制器
- 应用程序虚拟网络、Windows Server 跳转盒、Linux 跳转盒和 Azure 文件存储共享
- Azure 虚拟机 (VM) 上的 SQL Server
- Azure SQL 数据库
- Azure Database for MySQL 灵活服务器
- Azure 虚拟 WAN 和点到站点 VPN
部署沙盒
Azure 沙盒环境需要以下先决条件:
- Microsoft Entra ID 租户
- Azure 订阅
- 适当的 Azure 基于角色的访问控制 (RBAC) 角色分配
- 服务主体
- 一个已配置的客户端环境
有关如何准备沙盒部署的详细信息,请参阅先决条件。
若要将 AzureSandbox 与 Azure 登陆区域集成,请考虑执行以下策略:
- 将沙盒订阅置于沙盒管理组中。
- 使沙盒与专用网络隔离。
- 审核沙盒订阅活动。
- 限制沙盒访问,并在不再需要时删除访问权限。
- 在到期期后停用沙盒以控制成本。
- 为沙盒订阅创建预算来控制成本。
有关详细信息,请参阅登陆区域沙盒环境。
若要部署 Azure 沙盒,请转到 AzureSandbox GitHub 存储库,然后从入门开始。 有关如何部署沙盒环境的详细信息,请参阅默认沙盒部署和已知问题。
用例
沙盒非常适合用于加速 Azure 项目。 在部署你的沙盒环境后,可以添加服务和功能。 可以将沙盒用于以下类似的活动:
- 自学
- 编程马拉松
- 测试
- 开发
- 桌面演练
- 红色团队/蓝色团队模拟
- 事件响应演练
重要
Azure 沙盒不用于生产用途。 尽管部署使用了一些最佳做法,但出于简单性和成本考虑,故意未使用其他最佳做法。
功能
基本的先决条件可能会阻止对某些 Azure 服务或功能的试验。 沙盒环境可以通过预配许多单调的核心基础结构组件来加速你的项目。 你只需关注你需要使用的服务或功能即可。
例如,你可以使用 Azure 沙盒环境提供的以下功能和配置。
从 Internet 连接到 Windows 跳转盒 VM。
- 选项 1:使用 Web 浏览器和 Azure Bastion 进行面向 Internet 的访问
- 选项 2:通过虚拟 WAN 建立点到站点 VPN 连接
使用预配置的 Active Directory 域服务本地域作为域管理员。
- 预配置的集成 DNS 服务器
- 与 Azure 专用 DNS 区域的预配置集成
- 与 Azure 专用链接专用端点的预配置集成
使用 Azure 文件存储预配置的文件共享。
将 Windows 跳转盒 VM 用作开发人员工作站。
- 加入本地域的域
- 使用预装的 Windows Server 远程服务器管理工具 (RSAT) 管理 Active Directory 和 DNS
- 带 Remote-SSH 的 Visual Studio Code 已预安装到 Linux 跳转盒中
- 已预安装 Azure 存储资源管理器、AzCopy 和 Azure Data Studio
- 已预安装 SQL Server Management Studio
- 已预安装 MySQL Workbench
使用 Linux jump box VM 虚拟机作为 DevOps 代理。
- 使用 Winbind 加入本地域的域
- 预装了 Azure CLI、PowerShell 和 Terraform
- 动态 CIFS 挂载到 Azure 文件预配置文件共享
使用预配置的 SQL Server VM。
- 加入本地域的域
通过专用终结点使用预配置的 SQL 数据库或 Azure Database for MySQL 灵活服务器。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅可靠性设计审查检查表。
重要
沙盒环境代表了一个可以被利用的攻击面。 为了降低风险,请考虑以下安全最佳做法。
在与用于预配沙盒环境的 Azure 订阅关联的 Microsoft Entra ID 租户中实现强身份验证。 遵循 SE:05 - 标识和访问管理建议中的建议。
- 对所有用户使用多重身份验证 (MFA)。
- 使用条件访问策略来限制对沙盒环境的访问。
- 使用集成的 Microsoft Entra 身份验证来授权访问 Azure 平台即服务 (PaaS) 服务,例如 SQL 数据库和 Azure 存储。
首先,使用最小特权方法授权沙盒使用。
- 将
Owner
Azure RBAC 角色分配限制为沙盒订阅所有者。 - 将
Contributor
Azure RBAC 角色分配限制为沙盒订阅用户。 - 使用 Microsoft Entra Privileged Identity Management (PIM) 管理沙箱订阅范围内的特权 Azure RBAC 角色分配,例如
Owner
、Contributor
和User Access Administrator
。
- 将
维护数据分类符合性。 例如,避免在沙盒环境中托管个人身份信息 (PII) 或其他敏感数据。 如果必须使用敏感数据,请使用合成数据或已取消标识的数据。
此外,在设计和实现沙盒环境时,请考虑安全未来计划原则。 GitHub 上的 AzureSandbox 实现展示了其中许多原则。
设计安全
限制使用共享密钥,并在需要时使用 Azure 密钥保管库保护它们。 当必须使用共享机密时,请在运行时使用托管标识从密钥保管库进行检索。 如果机密必须持久保存,请确保它们已加密,而不是以纯文本形式存储。 切勿将机密回显到控制台或日志文件,也不得将机密签入源代码管理。
为密钥保管库机密设置过期日期。
为 VM 选择来宾操作系统 (OS) 时,仅使用当前受支持且有资格接收安全更新的 OS。
默认保护
- 按照 SE:07 - 有关数据加密的建议中的建议使用加密。
- 确保加密协议和算法(例如 TLS 1.2 或更高版本和 SHA-256 或更高版本)是最新的。
- 请考虑使用主机加密或 Azure 磁盘加密对传输中的数据进行加密。 VM 挂载的托管磁盘默认为静态加密。
- 避免使用公共 IP 地址。 使用 Azure Bastion 对 VM 进行安全远程访问。
- 使用专用终结点与 Azure 服务通信。
- 禁用对 Azure 服务(例如存储和 SQL 数据库)的公共网络访问。
- 禁用 默认出站访问 并使用 基于 Azure 防火墙威胁情报的筛选。
安全操作
对沙盒订阅启用 Microsoft Defender for Cloud CSPM。
对沙盒环境中使用的所有 VM 启用 Azure 更新管理器。 设置定期修补计划。
- 对于 SQL Server VM,在 Windows 更新中启用第一方更新,以确保修补 SQL Server。
使用 Azure Monitor 和 Microsoft Sentinel 监视活动和诊断日志。
停用不再使用的单个沙盒资源和整个沙盒。
作者
本文由 Microsoft 维护, 最初由以下参与者撰写。
首席作者:
若要查看非公开领英个人资料,请登录领英。