믿는 데 그치지 않고 직접 확인하는 보안.
RealmJoin이 어디에서 동작하고, 데이터가 어디에 있으며, 어떤 권한을 요청하고, 어떻게 운영되는지 정리했습니다. 최종 승인을 맡은 분들을 위해 쓴 글입니다.
- ISO 27001 인증을 받은 운영 체계
- TLS 1.2 이상, 443 포트의 아웃바운드 HTTPS만 사용
- RSA-SHA512로 서명한 구성
- 아홉 개의 역할, 이름이 붙은 권한 178개
- West Europe
- 기본 Azure 리전, 백업은 North Europe
- 자사 Azure
- Runbook과 관리자 암호, 감사 로그
- 24시간
- 치명적 취약점 수정 배포까지
- 99.5%
- 가용성 목표, 서비스 크레딧 포함
호스팅은 유럽의 Microsoft Azure
RealmJoin은 glueckkanja가 독일에서 개발하고 운영하는 클라우드 네이티브 멀티테넌트 서비스입니다. 자사 서버에서 돌아가는 것은 없습니다.
리전
Azure West Europe를 사용하고 백업은 North Europe입니다. 고객 데이터는 유럽을 벗어나지 않습니다.
플랫폼
Azure App Service에서 동작하는 컨테이너화된 .NET 서비스에 Azure SQL, Cosmos DB, Blob Storage, Key Vault를 함께 사용합니다.
전송
모든 연결에 TLS 1.2 이상을 쓰고, HSTS를 적용하며, 쿠키에는 항상 secure와 HTTP-only 속성을 붙입니다.
엔드포인트
디바이스는 443 포트의 아웃바운드 HTTPS로만 RealmJoin과 통신하며, 허용 목록은 FQDN 기준입니다.
민감한 부분은 자사 테넌트에
RealmJoin은 SaaS이지만, 가장 넘기고 싶지 않은 부분은 자사의 Microsoft 365 테넌트와 Azure 구독에서 동작합니다.
RealmJoin 서비스
Microsoft Azure의 West Europe, 백업은 North Europe
- 포털과 API
- 백그라운드 자동화
- 패키지 카탈로그와 CDN
Microsoft Graph에는 동의한 권한 범위 안에서만 접근
자사 Microsoft 365 테넌트
판단이 남는 곳
- Intune
- Entra ID
- Autopilot
- Defender for Endpoint
자사 Azure 구독
민감한 처리가 이루어지는 곳
- Azure AutomationRunbook을 실행합니다
- Key Vault로컬 관리자 암호를 보관합니다
- Log Analytics감사와 운영, Runbook 로그를 보관합니다
- Storage배경화면과 서명, 즐겨찾기를 제공합니다
자사 디바이스
Windows에는 선택 사항인 RealmJoin Agent
- 서명된 구성만 수용
- 443 포트의 아웃바운드 HTTPS
- BranchCache를 이용한 피어 투 피어 캐싱
보존 기간
디바이스 상태 이력은 90일간 보관합니다. 자사 워크스페이스의 로그 보존 기간은 직접 정하며, RealmJoin은 730일을 권장합니다.
서비스 종료
오프보딩은 모든 데이터 범주를 포괄하는 구조화된 순서로, 중단 후 이어서 진행할 수 있는 방식으로 테넌트 데이터를 삭제하고, 그 사실을 기록으로 남깁니다.
모든 권한과 그 이유
권한은 여러 앱 등록으로 나뉘어 있어서, 실제로 쓰는 기능만큼만 동의하면 됩니다. Quick Setup은 동의 한 번으로 권한을 부여하고, Advanced Setup은 하나씩 직접 부여할 수 있으며, 어떤 권한이든 나중에 낮추거나 취소할 수 있습니다.
| Microsoft Graph 권한 | 용도 |
|---|---|
| 기본으로 부여되는 핵심 권한 | |
| User.Read.All | 사용자 페이지와 디바이스 페이지의 사용자 정보 |
| Device.Read.All | Intune 및 에이전트와 연결한 Entra 디바이스 |
| DeviceManagementManagedDevices.Read.All | Intune 관리 디바이스 |
| DeviceManagementConfiguration.Read.All | 규정 준수 및 구성 정책 |
| DeviceManagementApps.ReadWrite.All | 스토어에서 Intune 앱 생성 및 업데이트 |
| Group.ReadWrite.All | 관리 앱 그룹과 그룹 도구 |
| GroupMember.ReadWrite.All | 업데이트 그룹과 구성원 변경 |
| 해당 기능을 켤 때만 필요한 선택 권한 | |
| DeviceLocalCredential.Read.All | Intune의 Windows LAPS |
| BitlockerKey.Read.All | BitLocker 복구 키 |
| DeviceManagementManagedDevices.PrivilegedOperations.All | 동기화, 검사, 키 교체 같은 디바이스 작업 |
| DeviceManagementScripts.ReadWrite.All | Intune 수정 스크립트 |
| DeviceManagementServiceConfig.Read.All | Autopilot 정보 |
| AuditLog.Read.All | 로그인 상세 정보 |
| WindowsUpdates.ReadWrite.All | Windows 디바이스 업데이트 등록 |
| LicenseAssignment.Read.All | Intune 라이선스 수 |
읽기 전용 모드
핵심 권한을 먼저 읽기 전용으로 연결하고, 나중에 확대할 수 있습니다.
Administrative Unit 범위 지정
테넌트 전체 그룹 쓰기 권한 대신 Administrative Unit 하나로 범위를 좁힐 수 있고, 그 안에서 RealmJoin은 Groups Administrator로만 동작합니다.
분리된 앱 등록
포털, 핵심, 핵심 읽기 전용, 보안 기능(Defender, MDE 구독 필요), 클라이언트 앱, Partner Center가 각각 별도의 등록을 가집니다.
Automation용 비밀 정보를 테넌트에 두지 않음
Azure Automation은 RealmJoin이 관리하는 멀티테넌트 앱을 통해 연결됩니다.
서명된 것만 실행
디바이스가 받는 구성부터 실제로 실행하는 설치 파일까지, 모든 단계를 검증할 수 있습니다.
서명된 구성
모든 디바이스 구성은 RSA-SHA512로 서명하며, 에이전트가 실행 전에 검증합니다.
디바이스 신원
디바이스는 Entra 디바이스 인증서로 자신을 증명하고, 이는 Entra ID에 대조해 확인합니다. 새 디바이스는 등록 직후 짧은 기간에만 연결할 수 있습니다.
해시를 검증한 패키지
패키지 콘텐츠는 RealmJoin의 CDN에서 받아 오며, 실행 전에 SHA-256으로 검증합니다.
깨끗한 원본
관리형 패키지는 공식 벤더 소스에서, 악성코드 검사를 포함한 비공개 파이프라인으로 만듭니다.
권한 단위까지 내려가는 접근 제어
로그인은 Microsoft Entra ID로 합니다. 모든 페이지와 API 호출은 자사가 관리하는 역할을 기준으로 인가됩니다.
역할
기본 제공 역할 아홉 개를 Entra 그룹이나 디렉터리 역할을 통해 할당합니다.
사용자 지정 역할
이름이 붙은 권한 178개를 조합해 역할을 만듭니다.
Runbook 권한
어떤 Runbook을 누가 실행할 수 있는지를 대상 그룹 단위까지, 테넌트마다 JSON 문서 하나로 정합니다.
암호 접근
디바이스 소유자 그룹별로 제한을 걸고, 조회할 때마다 누가, 언제, 어디에서 했는지가 로그로 남습니다.
테넌트 격리
테넌트 범위의 모든 쿼리에는 데이터 계층에서 테넌트 필터가 적용됩니다.
감사 로그
변경 전후 값이 함께 남는 30개 범주를 자사 Log Analytics 워크스페이스에 기록합니다. 역할, 사용자 지정 역할, 로컬 관리자 접근
서비스 운영 방식
RealmJoin은 glueckkanja가 개발하고 운영하며, 개발 및 운영 팀은 ISO 27001 인증을 받았습니다.
상시 모니터링
플랫폼은 Microsoft Sentinel과 Microsoft Defender로 감시하고 그 뒤를 SOC가 받치며, 관리자는 패스키로 로그인합니다.
승인 절차를 거치는 릴리스
변경 사항은 승인 관문이 있는 스테이징 환경을 거치고, 프로덕션 릴리스에는 더 작은 별도 승인자 그룹이 필요하며, 긴급 수정을 위한 핫픽스 경로가 따로 있습니다.
신속한 보안 수정
치명적 취약점에 대한 수정은 24시간 이내에 배포합니다.
복구 가능
데이터베이스는 특정 시점 복원을 지원하고, 인프라는 코드로 정의합니다.
관측 가능
모든 서비스가 상태와 텔레메트리를 보고하며, 공개 상태 페이지에서 가용성을 확인할 수 있습니다.
하위 처리자
RealmJoin이 고객 데이터를 처리하면서 이용하는 서비스의 제공 기업입니다. 최신 목록은 문서에 있습니다.
| 회사 | 소재지 | 용도 |
|---|---|---|
| Microsoft Ireland Operations Ltd. | 아일랜드 더블린 | Azure 호스팅 |
| GitHub B.V. | 네덜란드 암스테르담 | 소스 코드와 Runbook 라이브러리 |
| GitLab Inc. | 미국 | 패키징 파이프라인 |
약속하는 내용
가용성 목표 99.5%
연중무휴로 적용하며, 99.5% 미만이면 서비스 크레딧 10%, 99.0% 미만이면 25%를 제공합니다.
지원 포함
월요일~금요일 08:00~18:00 CET, 영어와 독일어로 제공합니다.
장애 대응
장애 발생 시 일반적으로 4시간 이내 이내에 대응합니다.
보안 수정
치명적 취약점은 24시간 이내에 수정합니다.
패키징
요청한 패키지는 일반적으로 영업일 기준 5일 이내에 제공합니다.
투명성
실시간 서비스 상태, 공개 변경 이력, 피드백 보드.
보안 관련 질문을 가져오세요.
당사 엔지니어가 귀사의 보안 및 컴플라이언스 팀에 아키텍처와 권한, 데이터 흐름을 설명합니다. 점검 문항이 있다면 그에 맞춰 진행합니다.