Azure 샌드박스
Azure Sandbox는 단일 구독에서 공통 Azure 서비스를 구현하기 위한 상호 종속적인 클라우드 컴퓨팅 구성의 컬렉션입니다. 이 컬렉션은 Azure 서비스 및 기능을 실험하기 위한 유연하고 비용 효율적인 샌드박스 환경을 제공합니다.
Azure 제품 유형 및 지역에 따라 완전히 프로비전된 Azure 샌드박스 환경을 실행하는 데 비용이 많이 들 수 있습니다. 사용하지 않을 때 VM(가상 머신)을 중지하거나 할당 취소하거나 사용하지 않으려는 선택적 구성을 건너뛰어 비용을 절감할 수 있습니다.
건축학
이 아키텍처의 Visio 파일을 다운로드합니다.
구성 요소
다음 샌드박스 구성을 각각 배포하거나 필요한 구성만 배포할 수 있습니다.
- 공유 서비스 가상 네트워크, Azure Bastion, Azure Firewall 및 Active Directory 도메인 컨트롤러
- 애플리케이션 가상 네트워크, Windows Server 점프 상자, Linux 점프 상자 및 Azure Files 공유
- Azure VM(Virtual Machines)의 SQL Server
- Azure SQL 데이터베이스
- MySQL용 Azure Database 유연한 서버
- Azure Virtual WAN 및 지점 및 사이트 간의 VPN
샌드박스 배포
Azure 샌드박스 환경에는 다음과 같은 필수 구성 요소가 필요합니다.
- Microsoft Entra ID 테넌트
- Azure 구독
- 적절한 Azure RBAC(역할 기반 액세스 제어) 역할 할당
- 서비스 주체
- 구성된 클라이언트 환경
샌드박스 배포를 준비하는 방법에 대한 자세한 내용은 필수 구성 요소를 참조하세요.
Azure 랜딩 존과 AzureSandbox를 통합하려면 다음 전략을 고려합니다.
- 샌드박스 관리 그룹에 샌드박스 구독을 배치합니다 .
- 샌드박스를 프라이빗 네트워크에서 격리된 상태로 유지합니다.
- 샌드박스 구독 활동을 감사합니다.
- 샌드박스 액세스를 제한하고 더 이상 필요하지 않은 경우 액세스를 제거합니다.
- 만료 기간 후에 샌드박스를 해제하여 비용을 제어합니다.
- 샌드박스 구독에 대한 예산을 만들어 비용을 제어합니다.
자세한 내용은 랜딩 존 샌드박스 환경을 참조하세요.
Azure 샌드박스를 배포하려면 AzureSandbox GitHub 리포지토리로 이동하여 시작부터 시작합니다. 샌드박스 환경을 배포하는 방법에 대한 자세한 내용은 기본 샌드박스 배포 및 알려진 문제를 참조하세요.
사용 사례
샌드박스는 Azure 프로젝트를 가속화하는 데 적합합니다. 샌드박스 환경을 배포한 후 서비스 및 기능을 추가할 수 있습니다. 다음과 같은 활동에 샌드박스를 사용할 수 있습니다.
- 자체 학습
- 해커톤
- 테스팅
- 발달
- 탁상 연습
- 레드 팀/블루 팀 시뮬레이션
- 인시던트 대응 훈련
중요합니다
Azure Sandbox는 프로덕션용이 아닙니다. 배포는 몇 가지 모범 사례를 사용하지만 일부는 단순성과 비용을 위해 의도적으로 사용되지 않습니다.
역량
기본 필수 구성 요소는 특정 Azure 서비스 또는 기능을 사용한 실험을 차단할 수 있습니다. 샌드박스 환경은 많은 평범한 핵심 인프라 구성 요소를 프로비전하여 프로젝트를 가속화할 수 있습니다. 작업해야 하는 서비스 또는 기능에 집중할 수 있습니다.
예를 들어 Azure Sandbox 환경에서 제공하는 다음 기능 및 구성을 사용할 수 있습니다.
인터넷에서 Windows 점프 상자 VM에 연결합니다.
- 옵션 1: 웹 브라우저 및 Azure Bastion을 사용하여 인터넷 연결 액세스
- 옵션 2: Virtual WAN을 통한 지점 및 사이트 간 VPN 연결
미리 구성된 Active Directory Domain Services 로컬 도메인을 도메인 관리자로 사용합니다.
- 미리 구성된 통합 DNS 서버
- Azure 프라이빗 DNS 영역과 미리 구성된 통합
- Azure Private Link 프라이빗 엔드포인트와 미리 구성된 통합
미리 구성된 Azure Files 파일 공유를 사용합니다.
Windows jumpbox VM을 개발자 워크스테이션으로 사용합니다.
- 로컬 도메인에 가입된 도메인
- 미리 설치된 Windows Server RSAT(원격 서버 관리 도구)를 사용하여 Active Directory 및 DNS 관리
- Linux 점프 상자에 Remote-SSH 미리 설치된 Visual Studio Code
- Azure Storage Explorer, AzCopy 및 Azure Data Studio가 미리 설치됨
- SQL Server Management Studio 미리 설치됨
- MySQL Workbench 미리 설치됨
Linux 점프 상자 VM을 DevOps 에이전트로 사용합니다.
- Winbind를 사용하여 로컬 도메인에 가입된 도메인
- Azure CLI, PowerShell 및 Terraform이 미리 설치됨
- Azure Files 미리 구성된 파일 공유에 동적 CIFS 탑재
미리 구성된 SQL Server VM을 사용합니다.
- 로컬 도메인에 가입된 도메인
프라이빗 엔드포인트를 통해 미리 구성된 SQL 데이터베이스 또는 Azure Database for MySQL 유연한 서버를 사용합니다.
안전
우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안대한
중요합니다
샌드박스 환경은 악용될 수 있는 공격 표면을 나타냅니다. 위험을 줄이려면 다음 보안 모범 사례를 고려하세요.
샌드박스 환경을 프로비전하는 데 사용되는 Azure 구독과 연결된 Microsoft Entra ID 테넌트에서 강력한 인증을 구현합니다. SE:05 - ID 및 액세스 관리에 대한 권장 사항의 권장 사항을 따릅니다.
- 모든 사용자에 대해 MFA(다단계 인증)를 사용합니다.
- 조건부 액세스 정책을 사용하여 샌드박스 환경에 대한 액세스를 제한합니다.
- 통합 Microsoft Entra 인증을 사용하여 SQL Database 및 Azure Storage와 같은 Azure PaaS(Platform as a Service) 서비스에 대한 액세스 권한을 부여합니다.
샌드박스 사용 권한을 부여하는 최소 권한 접근 방식 부터 시작합니다.
- 샌드박스 구독 소유자에게 Azure RBAC 역할 할당을 제한
Owner
합니다. - 샌드박스 구독 사용자에 대한 Azure RBAC 역할 할당을 제한
Contributor
합니다. - Microsoft Entra PIM(Privileged Identity Management)을 사용하여 샌드박스 구독으로 범위가 지정된 권한 있는 Azure RBAC 역할 할당(예:
Owner
,Contributor
및User Access Administrator
)을 관리합니다.
- 샌드박스 구독 소유자에게 Azure RBAC 역할 할당을 제한
데이터 분류 규정 준수를 유지 관리합니다. 예를 들어 샌드박스 환경에서 PII(개인 식별 정보) 또는 기타 중요한 데이터를 호스팅하지 마세요. 중요한 데이터를 사용해야 하는 경우 합성 데이터 또는 식별되지 않은 데이터를 사용합니다.
또한 샌드박스 환경을 설계하고 구현할 때 보안 선물 이니셔티브 원칙을 고려해 보세요. GitHub의 AzureSandbox 구현은 이러한 많은 원칙을 보여 줍니다.
디자인에 따라 보안
공유 비밀 사용을 제한하고 필요한 경우 Azure Key Vault를 사용하여 비밀을 보호합니다. 공유 비밀을 사용해야 하는 경우 런타임에 관리 ID를 사용하여 Key Vault에서 검색합니다. 비밀을 유지해야 하는 경우 암호가 암호화되어 있고 일반 텍스트에 저장되지 않았는지 확인합니다. 콘솔 또는 로그 파일에 비밀을 에코하지 않으며, 비밀을 소스 제어에 확인하지 않습니다.
Key Vault 비밀에 대한 만료 날짜를 설정합니다.
VM에 대한 게스트 OS(운영 체제)를 선택하는 경우 현재 지원되고 보안 업데이트를 받을 수 있는 OS만 사용합니다.
기본적으로 보안 적용
-
SE:07 - 데이터 암호화에 대한 권장 사항에서 권장하는 대로 암호화를 사용합니다.
- TLS 1.2 이상 및 SHA-256 이상과 같은 암호화 프로토콜 및 알고리즘이 최신 상태인지 확인합니다.
- 전송 중인 데이터의 암호화에 호스트 암호화 또는 Azure Disk Encryption을 사용하는 것이 좋습니다. VM에 연결된 관리 디스크의 경우 데이터는 기본적으로 미사용 시 암호화됩니다.
- 공용 IP 주소를 사용하지 않도록 합니다. VM에 대한 보안 원격 액세스를 위해 Azure Bastion을 사용합니다.
- 프라이빗 엔드포인트를 사용하여 Azure 서비스와 통신합니다.
- 스토리지 및 SQL Database와 같은 Azure 서비스에 대한 공용 네트워크 액세스를 사용하지 않도록 설정합니다.
- 기본 아웃바운드 액세스를 사용하지 않도록 설정하고 Azure Firewall 위협 인텔리전스 기반 필터링을 사용합니다.
보안 작업
샌드박스 구독에서 클라우드 CSPM용 Microsoft Defender 를 사용하도록 설정합니다.
샌드박스 환경에서 사용되는 모든 VM에서 Azure Update Manager 를 사용하도록 설정합니다. 정기적인 패치 일정을 설정합니다.
- SQL Server VM의 경우 Windows 업데이트에서 자사 업데이트를 사용하도록 설정 하여 SQL Server가 패치되었는지 확인합니다.
Azure Monitor 및 Microsoft Sentinel을 사용하여 활동 및 진단 로그를 모니터링합니다.
더 이상 사용되지 않는 개별 샌드박스 리소스 및 전체 샌드박스의 서비스를 해제합니다.
기여자
Microsoft에서 이 문서를 유지 관리합니다. 이 문서를 처음에 작성한 기여자는 다음과 같습니다.
대표 저자:
비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.
다음 단계
- Azure에서 개발 및 테스트
- Microsoft 클라우드 채택 프레임워크
- 클라우드 채택 프레임워크 Azure 설정 가이드
- Microsoft Azure Well-Architected Framework
관련 리소스
- Azure 솔루션을 위한 기술 선택
- 클라우드 애플리케이션에 대한 모범 사례
- Microsoft 클라우드 애플리케이션 빌드