DevOps & 감사 2026년 4월 16일

2026 의사결정 매트릭스: Mac mini M4 CI의 공증 스테이플과 티켓 전용 아티팩트

NodeMac Team

인프라 아키텍트

공증은 Apple이 바이너리를 스캔했음을 증명합니다. 스테이플링(stapling)은 티켓을 포함시켜 Gatekeeper가 오프라인에서 검증할 수 있게 합니다. 결정 없이 “항상 스테이플”하면 매 빌드에 몇 분을 씁니다. “절대 스테이플 안 함”은 에어갭 랩에서 고생합니다. Mac mini M4 CI 러너—특히 NodeMac이 홍콩·일본·한국·싱가포르·미국에서 제공하는 전용 호스트—에는 스테이플 정책을 배포 채널, 네트워크 가정, 아티팩트 유형에 묶는 매트릭스를 공개하세요. 이 글은 두 매트릭스, 여덟 단계, 보안 검토자가 파이프라인을 읽는 방식에 맞춘 FAQ 구조화 데이터를 제공합니다.

스토리지·보존 맥락: 디스크 및 아티팩트 보존, 잠금 파일 해시 캐시. 서명된 두 트리를 GUI로 비교하려면 동일 NodeMac 호스트에서 VNC를 사용하세요. 가격; 도움말.

Gatekeeper: 온라인 티켓 조회 vs 스테이플된 티켓

macOS는 공증에 성공해도 티켓이 스테이플되지 않고 최초 실행 시 Apple 서비스에 닿지 못하면 사용자에게 놀라움을 줍니다. 반대로 스테이플링은 외부 컨테이너(예: .dmg)를 바꾸므로 너무 이른 해시 계산이 단순 체크섬 게이트를 무효화합니다. CI 정책은 감사 아티팩트로서의 체크섬(스테이플 전)과 고객에게 배송하는 blob(스테이플 후)을 명시해야 합니다.

  • 티켓만: 랩 Mac의 이그레스가 안정적이고 재검 정책을 통제할 때 반복이 가장 빠릅니다.
  • 스테이플됨: 고객용 디스크 이미지, 오프라인 설치 프로그램, 현장 노트북의 기본값입니다.
  • 하이브리드: 릴리스 채널만 스테이플;나이틀리는 명시 배너와 함께 티켓만 유지합니다.

매트릭스 A: 배포 경로별 스테이플 vs 티켓

아티팩트 및 경로 스테이플? 근거
개발자 USB 키오스크 .dmg 오프라인 Gatekeeper 경로;최초 실행 CDN 의존 회피
유선 랩의 CI 스모크 설치 선택 이그레스가 모니터링되고 실패 허용 시 티켓만이 루프를 가속
MDM 전달 pkg와 설치 후 스테이플 둘 다 파이프라인 vs MDM 중 누가 스테이플하는지 문서화해 중복 방지
App Store 업로드 파이프라인 Apple 전송 문서 준수 소비자 경로가 다름;데스크톱 DMG 규칙을 맹목 복제 금지

매트릭스 B: CI 단계 순서와 검증

단계 명령군 통과 기준
서명 codesign 엔타이틀먼트 매트릭스에 따른 강화 런타임 플래그 codesign --verify --deep --strict 깨끗
공증 notarytool submit + 폴링 로그에 Accepted;제출 ID 보관
스테이플 xcrun stapler staple 깨끗한 VM에서 stapler validate OK
스모크 마운트된 이미지에서 앱 실행 “손상됨” 대화 없음;텔레메트리가 예상 버전과 일치

수치 가드레일

  1. 타임아웃 예산: 릴리스 트레인은 notary 폴링에 최소 25분 벽시계;기능 브랜치는 플레이크 허용 시 더 짧게 가능.
  2. 병렬 제출: 호스트당 동시 공증 잡을 2로 상한—Xcode 피크와 Apple 측 스로틀 충돌 방지.
  3. 아티팩트 불변성: 스테이플된 객체는 새 객체 키로 업로드;제자리 덮어쓰기 금지.

감사 팁: 변경 티켓에 공증 제출 ID와 스테이플 전 아티팩트의 SHA-256을 함께 첨부하세요. 스테이플링은 서명 로그를 대체하지 않습니다.

여덟 가지 롤아웃 단계

  1. 채널 목록화 각 빌드 유형이 어디로 배송되는지(랩, 고객, MDM).
  2. 매트릭스 코드화 Slack의 부족한 지식이 아니라 파이프라인 템플릿에.
  3. 잡 분할 빌드/서명, 공증, 스테이플, 게시를 별도 단계와 별도 캐시로.
  4. VM 스모크 추가 선택적으로 아웃바운드 Apple 엔드포인트를 끄고 누락된 스테이플 탐지.
  5. 로그 저장 notarytool을 다른 서명 증거와 동일 보존 버킷에.
  6. 서명 인증서 로테이션 캘린더로;매 로테이션 후 매트릭스 검증 재실행.
  7. 온콜 교육 stapler 오류와 notarytool 오류는 담당이 다릅니다.
  8. 지역별 전용 M4 큐 시간이 위험한 지름길을 강요할 때—NodeMac은 하드웨어 경쟁을 정책 논쟁에서 제거합니다.

FAQ

CI는 언제 스테이플해야 하나요?

사용자가 오프라인으로 설치하거나 통제되지 않은 네트워크에서 설치할 때. 잘 연결된 내부 루프이고 문서화되어 있으면 티켓만 유지해도 됩니다.

스테이플링이 체크섬 캐시를 깨나요?

예—감사는 스테이플 전에 해시;스테이플 후 blob은 별도 체크섬으로 배송 아티팩트로 취급합니다.

stapler가 너무 이르면?

Gatekeeper가 손상된 앱으로 거부합니다. 서명 → 공증 → 검증 → 스테이플 → 검증 순서를 강제하세요.

서명 부하가 큰 CI용 Mac mini M4

전용 호스트, 예측 가능한 APFS, SSH 자동화와 엣지 케이스용 VNC—HK·JP·KR·SG·US.

NM
NodeMac Cloud Mac
약 5분 배포

전용 Apple Silicon Mac 클라우드. SSH/VNC. HK·JP·KR·SG·US.

시작하기