보안 모델과 책임 범위

격리, 액세스, 상태를 먼저 구분하고 모든 빌드를 보호하세요.

각 주문에는 가상 머신이 아닌 전용 물리 호스트 한 대가 할당됩니다. 장치 격리는 시작점일 뿐이며, 계정 자격 증명, 원격 세션, 서명 자료, 백업과 프로젝트 설정은 엔지니어링 절차에 따라 별도로 관리해야 합니다.

격리 기준
주문 1건 에 해당 전용 호스트 1대
컴퓨팅과 로컬 스토리지는 주문 전용
상위 네트워크 경로는 공유 인프라
계정, 키와 프로젝트 권한은 사용자가 관리

장치 전용이라고 해서 네트워크, 저장소, 업로드 대상과 팀 계정까지 자동으로 격리되는 것은 아닙니다. 각 계층에 별도의 권한 설정과 모니터링 신호가 필요합니다.

격리 모델

전용인 것은 호스트이며 전체 네트워크 경로가 아닙니다.

격리 수준을 판단할 때는 장치, 네트워크, 계정과 외부 시스템을 나누어 확인해야 합니다. ‘전용 물리 호스트’가 모든 구성 요소를 자동으로 독점한다는 의미는 아닙니다.

장치 계층: 주문 전용

유효한 주문 한 건마다 전용 물리 호스트 한 대가 배정됩니다. CPU, 메모리와 장치 로컬 스토리지는 다른 임대 주문과 여러 가상 인스턴스로 나뉘지 않으며, macOS 그래픽 인터페이스와 명령줄을 빌드, 디버깅과 작업 실행에 직접 사용할 수 있습니다.

  • 다른 임대 주문은 해당 호스트에 로그인하거나 작업을 할당하지 않습니다.
  • 빌드 캐시, 작업 디렉터리와 로컬 로그는 현재 장치 환경에 보관됩니다.
  • 호스트를 반납하기 전에 보관할 데이터를 직접 이전해야 합니다.

경로 계층: 공유 인프라

데이터센터 출구, 통신사 회선과 인터넷 라우팅은 여러 장치가 함께 사용할 수 있습니다. 호스트 전용이라고 해서 공용 인터넷 경로까지 전용인 것은 아니므로 연결 품질과 액세스 정책을 별도로 관찰해야 합니다.

  • 워크플로에 실제로 필요한 주소, 포트와 서비스만 허용하세요.
  • 저장소, 아티팩트 업로드 대상과 의존성 소스에는 각각의 권한 제어를 계속 적용해야 합니다.
  • 이상이 발생하면 호스트 상태, 연결 상태와 대상 서비스 응답을 각각 기록하세요.
계정 및 자격 증명

첫 연결 후 가장 먼저 해야 할 일은 액세스 범위를 줄이는 것입니다.

제공받은 연결 정보를 팀 공용 진입점으로 장기간 사용하지 마세요. 최초 로그인 후 추적, 취소와 교체가 가능한 액세스 방식을 즉시 구축해야 합니다.

01

초기 자격 증명 변경

최초 로그인 후 시스템 자격 증명을 변경하고, 이전 자격 증명이 자동화 스크립트, 터미널 기록이나 팀 문서에서 더 이상 사용되지 않는지 확인하세요.

02

키 우선 사용

명령줄 연결에는 개별 키를 우선 사용하세요. 구성원과 자동화 작업마다 서로 다른 키를 할당하면 단일 액세스 출처를 쉽게 취소할 수 있습니다.

03

공용 계정 사용 금지

여러 사람이 하나의 시스템 계정을 공유하면 작업 주체를 추적하기 어렵습니다. 역할별로 권한을 할당하고 일반 개발 권한이 관리 작업까지 포함하지 않도록 하세요.

04

정기적인 권한 검토

구성원 변경, 프로젝트 종료 또는 자동화 작업 중단 시 계정, 키, 저장소 토큰과 업로드 자격 증명이 여전히 필요한지 확인하세요.

최소 권한 검토 항목

구성원 또는 파이프라인이 변경될 때마다 다섯 가지 진입점을 확인하세요.

  • 시스템 계정현재 작업자만 유지
  • SSH 공개 키사용하지 않는 키 제거
  • 저장소 권한필요한 프로젝트로 제한
  • 환경 변수읽기 범위 제한
  • 업로드 자격 증명작업별로 별도 권한 부여
원격 액세스 보호

연결 진입점을 워크플로에 필요한 최소 범위로 제한하세요.

SSH, VNC와 macOS 화면 공유는 서로 다른 작업을 수행합니다. 연결 방식을 선택한 뒤에도 허용 범위, 세션 동작, 클라이언트 버전과 자격 증명 교체 주기를 함께 설정해야 합니다.

원격 액세스 보호 체크리스트
확인 항목 수행할 작업 피해야 할 방식 확인 신호
허용 범위 현재 연결 방식과 자동화 작업에 필요한 진입점만 유지하세요. 문제 해결을 위해 임시로 확대한 범위를 장기간 그대로 두세요. 사용하지 않는 진입점으로는 연결할 수 없습니다.
세션 잠금 그래픽 세션을 떠날 때 화면을 잠그고 작업이 끝나면 직접 로그아웃하세요. 공용 단말에 인증된 세션을 계속 유지하세요. 다시 들어갈 때 재인증이 필요합니다.
클라이언트 업데이트 지원되는 SSH, VNC 또는 화면 공유 클라이언트를 사용하세요. 출처를 확인할 수 없는 오래된 클라이언트를 장기간 유지하세요. 클라이언트 버전이 팀 기준과 일치합니다.
이상 확인 로그인 시간, 출처, 활성 세션과 최근 설정 변경을 확인하세요. 호스트가 온라인이라는 이유만으로 액세스가 정상이라고 판단하세요. 활성 세션이 실제 작업자와 일치합니다.
자격 증명 교체 구성원 이탈, 키 노출 우려 또는 권한 변경 후 즉시 교체하세요. 같은 자격 증명을 여러 프로젝트와 구성원 장치에 복사하세요. 이전 자격 증명은 무효화되고 새 자격 증명은 필요한 위치에만 존재합니다.
불안정한 네트워크 최적화가 액세스 범위를 넓혀서는 안 됩니다

그래픽 품질을 낮추거나 해상도를 고정하고 화면 애니메이션을 줄이면 원격 사용 환경을 개선할 수 있지만, 이를 위해 진입점을 추가로 개방할 필요는 없습니다. 연결 품질 문제는 지연 시간, 대역폭, 클라이언트 설정과 동시 세션을 순서대로 확인하세요.

원격 액세스 방법 보기
데이터 수명 주기

첫 동기화부터 최종 이전 경로를 확보하세요.

임대 기간 동안 소스 코드, 빌드 캐시, 모델, 리소스와 산출물은 사용자가 구성하고 백업해야 합니다. 호스트 반납 시점이 되어서야 어떤 데이터를 가져가야 하는지 처음 확인하지 마세요.

연결

데이터 출처와 저장 위치 정의

저장소, 리소스 소스, 의존성 캐시와 아티팩트 대상을 기록하세요. 다시 생성할 수 있는 데이터와 반드시 보존할 데이터를 나누어 호스트 전체를 유일한 사본으로 사용하지 않도록 하세요.

실행

빌드를 따라 백업하기

프로젝트 일정에 맞춰 소스 변경, 내보낸 산출물과 주요 설정을 동기화하세요. 자동화 작업은 실패 후 어떤 로그를 보존하고 성공 후 어떤 결과를 업로드할지 명확히 해야 합니다.

이전

사본을 실제로 사용할 수 있는지 검증

파일이 복사되었는지만 확인하지 마세요. 보관 파일의 압축 해제 가능 여부, 프로젝트가 필요한 설정을 인식하는지, 산출물이 완전한지 점검하고 복구에 필요한 버전을 기록하세요.

반납

항목별 확인 후 사용 종료

호스트를 반납하기 전에 산출물, 소스 코드, 인증서, 프로비저닝 프로파일, 프로젝트 설정과 필요한 캐시가 팀 규칙에 따라 처리되었는지 확인하고 더 이상 필요하지 않은 외부 토큰과 키를 취소하세요.

빌드 자료 보호

서명, 저장소와 업로드 권한이 하나의 비밀을 전체 과정에서 공유해서는 안 됩니다.

소스 코드 읽기, 빌드 실행, 서명 완료와 산출물 업로드를 서로 다른 권한 영역으로 분리하세요. 어느 단계의 자료가 호스트에 들어가더라도 표시 범위, 유효 시간과 로그 출력을 제한해야 합니다.

빌드 자료 권한 분리 및 비식별화 원칙
자료 권장 권한 주입 방식 로그 처리
서명 인증서 서명이 필요한 작업과 작업자에게만 권한을 부여하세요. 통제된 단계에서 가져오고 공유 디렉터리에 흩어지지 않도록 하세요. 인증서 암호, 내보내기 암호와 전체 식별 정보를 출력하지 마세요.
프로비저닝 프로파일 프로젝트와 대상 환경별로 관리하세요. 빌드 작업에서 명확한 파일을 선택하고 모호한 일치 방식을 피하세요. 파일 형식과 일치 결과는 보존하되 민감한 필드는 숨기세요.
환경 변수 해당 변수를 실제로 사용하는 프로세스에만 제공하세요. 실행 시 주입하고 소스 코드와 공개 설정에 기록하지 마세요. 명령 에코, 오류 스택과 디버그 출력은 비식별화해야 합니다.
저장소 토큰 가급적 읽기 전용으로 사용하고 필요한 저장소로 제한하세요. 작업 환경에서 읽고 버전 관리 저장소에 커밋하지 마세요. 원격 주소와 요청 헤더에서 토큰 내용을 삭제하세요.
업로드 키 지정된 아티팩트 대상에만 쓰기를 허용하세요. 소스 코드 읽기 자격 증명과 분리하고 파이프라인 단계별로 로드하세요. 응답 코드와 작업 식별자는 보존하되 전체 키는 기록하지 마세요.
권한 분리 원칙

하나의 작업에는 현재 단계 완료에 필요한 권한만 부여하세요.

소스 코드를 가져오는 작업에 업로드 권한이 필요하지 않고, 테스트 작업에 서명 자료를 읽을 권한이 필요하지 않으며, 산출물 업로드 작업에 저장소 수정 권한도 필요하지 않습니다.

비식별화 원칙

문제 해결에 필요한 맥락은 남기고 재사용 가능한 비밀은 제거하세요.

로그에는 시간, 단계, 종료 코드, 파일 형식과 오류 위치를 남길 수 있지만 암호, 개인 키, 토큰, 전체 요청 헤더와 비식별화되지 않은 소스 코드 조각은 제거해야 합니다.

운영 안정성

노드가 정상이어도 모든 연결과 모든 빌드 작업이 정상이라는 뜻은 아닙니다.

모든 노드는 연중 365일 정상 운영됩니다. 구체적인 문제를 해결할 때는 노드, 호스트, 연결과 작업의 네 가지 상태를 별도로 모니터링하여 단일 녹색 상태가 전체 워크플로를 가리지 않도록 하세요.

노드 상태

인프라에 도달할 수 있는가

노드 전체의 네트워크와 관리 기능을 관찰하여 문제가 동일 노드의 기본 서비스에 영향을 주는지 판단하세요.

단독으로 증명할 수 없는 것

특정 호스트의 시스템 세션이나 프로젝트 작업이 정상적으로 실행되고 있다는 사실입니다.

호스트 온라인 상태

장치가 부팅을 완료했는가

호스트가 온라인인지, 관리 진입점에서 현재 장치 상태를 읽을 수 있는지 확인하세요.

단독으로 증명할 수 없는 것

SSH, VNC 또는 화면 공유의 주소, 포트와 자격 증명이 모두 올바르다는 사실입니다.

연결 상태

세션이 성공적으로 설정되었는가

연결 방식, 클라이언트, 대상 주소, 포트, 로컬 네트워크와 세션 사용 상황을 기록하세요.

단독으로 증명할 수 없는 것

Xcode, 의존성, 서명 자료와 프로젝트 설정으로 현재 빌드를 완료할 수 있다는 사실입니다.

작업 상태

빌드 단계가 완료되었는가

단계별 로그, 종료 코드, 산출물 검증과 업로드 결과로 작업 실행 상태를 판단하세요.

단독으로 증명할 수 없는 것

노드 또는 네트워크에 인프라 장애가 발생했다는 사실이며, 앞의 세 가지 신호와 함께 판단해야 합니다.

노드 인프라 신호
호스트 장치 온라인 신호
연결 세션 도달 가능 신호
작업 프로젝트 실행 신호
이벤트 피드백 절차

먼저 사실을 고정한 다음 재현 가능한 맥락을 제출하세요.

고품질 피드백은 지원 담당자가 노드, 호스트, 연결과 프로젝트 문제를 빠르게 구분하도록 합니다. ‘사용할 수 없음’이라고만 쓰면 핵심 분류 정보가 사라지고 추가 확인이 늘어납니다.

제출 전 기록

일곱 가지 정보가 최소 이벤트 패키지를 구성합니다.

01 발생 시간

시간대와 문제가 처음 발생한 시간 범위를 기록하세요.

02 노드

싱가포르, 일본(도쿄), 한국(서울), 홍콩 또는 미국 동부를 명시하세요.

03 주문 식별자

콘솔에서 확인할 수 있는 주문 또는 호스트 식별자를 제공하세요.

04 영향 범위

단일 작업, 전체 호스트 또는 여러 구성원이 영향을 받았는지 설명하세요.

05 재현 단계

실제 조작 순서에 따라 입력, 동작과 실패 지점을 나열하세요.

06 상태 비교

노드, 호스트, 연결과 작업 상태를 각각 명시하세요.

07 비식별화 로그

오류 맥락은 유지하되 암호, 개인 키, 토큰과 소스 코드 비밀은 제거하세요.

기존 주문 문제

콘솔에 로그인하여 지원 티켓을 제출하고 주문 식별자를 연결하세요. 연결 장애, 호스트 상태, 추가 스토리지, 갱신과 반납 절차 등의 문제에 적합합니다.

콘솔 지원 티켓 제출

보안 및 개인정보 문의

이벤트 시간, 영향 범위와 비식별화된 자료를 지원 이메일로 보내세요. 이메일에 암호, 개인 키, 전체 결제 자격 증명 또는 비식별화되지 않은 소스 코드를 첨부하지 마세요.

support@minidebug.com
책임 범위

플랫폼은 노드와 관리 기능을 담당하고, 사용자는 워크플로 내 액세스와 데이터를 담당합니다.

책임 범위를 명확히 하는 것은 문제를 서로에게 떠넘기는 일이 아니라, 이벤트 발생 시 올바른 제어 지점, 증거와 처리 작업을 바로 찾기 위한 것입니다.

MiniDebug의 책임

물리 노드 및 관리 진입점

  • 물리 호스트 제공

    주문에 따라 전용 물리 호스트를 제공하고 관리 진입점에 호스트와 주문 상태를 표시합니다.

  • 노드 인프라

    싱가포르, 일본(도쿄), 한국(서울), 홍콩과 미국 동부의 5개 노드를 연중 365일 정상 운영합니다.

  • 연결 정보 제공

    현재 호스트에 해당하는 연결 정보와 필요한 관리 기능을 제공합니다.

  • 인프라 이벤트 조사

    주문 식별자, 노드, 시간과 비식별화 로그를 바탕으로 물리 노드 및 관리 진입점 문제를 파악합니다.

  • 주문 수명 주기 관리

    주문, 갱신, 호스트 상태와 반납 절차를 처리하며 실제 사용 가능 상태는 콘솔의 실시간 응답을 기준으로 합니다.

사용자의 책임

계정, 코드, 자격 증명 및 프로젝트 설정

  • 계정 및 구성원 권한

    로그인 자격 증명을 보호하고 팀 구성원의 액세스를 관리하며 더 이상 필요하지 않은 계정과 키를 즉시 취소하세요.

  • 코드 및 자료 사용 권한

    소스 코드, 모델, 리소스, 인증서, 프로비저닝 프로파일과 기타 빌드 자료에 적절한 사용 권한이 있는지 확인하세요.

  • 프로젝트 환경 설정

    Xcode 버전, 의존성, 스크립트, 경로, 서명 규칙, 환경 변수와 업로드 대상을 관리하세요.

  • 데이터 백업 및 이전

    임대 기간 동안 소스 코드와 산출물을 백업하고 호스트 반납 전에 필요한 이전과 복구 검증을 완료하세요.

  • 로그 비식별화 및 이벤트 협업

    충분한 재현 맥락을 제출하되 암호, 개인 키, 토큰, 결제 자격 증명과 비식별화되지 않은 소스 코드는 제거하세요.

빠른 분류

문제가 발생한 계층에 따라 다음 단계를 결정하세요.

노드 또는 호스트 상태 이상

주문 식별자, 노드, 시간과 영향 범위를 기록하고 콘솔 지원 티켓으로 제출하세요.

연결을 설정할 수 없음

먼저 온라인 상태, 주소, 포트, 로컬 네트워크, 자격 증명, 클라이언트와 동시 세션을 확인하세요.

빌드 명령 실패

Xcode, 의존성 캐시, 디스크 공간, 서명 설정, 종료 코드와 단계별 로그를 확인하세요.

자료 또는 권한 위험

먼저 관련 자격 증명을 취소하고 액세스 범위를 제한한 다음 비식별화된 증거를 보존하고 이벤트 정보를 제출하세요.

다음 단계

명확한 책임 범위에 따라 빌드 환경을 배포하세요.

먼저 노드와 임대 기간을 선택한 다음 구성원, 자동화 작업, 서명 자료와 백업에 각각 제어 지점을 설정하세요. 주문 및 호스트 관리는 모두 콘솔에서 수행됩니다.