DevOps & audit 16 avril 2026

2026 Matrice de décision : notarisation staple vs artefacts ticket seulement sur Mac mini M4 CI

NodeMac Team

Architectes d’infrastructure

La notarisation prouve qu’Apple a scanné vos binaires ; le stapling intègre le ticket pour que Gatekeeper valide hors ligne. Sans décision, « toujours agrafer » gaspille des minutes à chaque build ; « jamais agrafer » découvre les labos isolés à la dure. Sur des runners CI Mac mini M4—notamment des hôtes dédiés NodeMac à Hong Kong, au Japon, en Corée, à Singapour ou aux États-Unis—publiez une matrice qui lie la politique d’agrafe au canal de distribution, aux hypothèses réseau et au type d’artefact. Cet article donne deux matrices, huit étapes et une FAQ structurée alignée sur la lecture des pipelines par les équipes sécurité.

Contexte stockage et rétention : rétention disque & artefacts et caches hachés par lockfile. Pour comparer deux arbres signés en GUI sur le même hôte NodeMac, utilisez VNC. Tarifs ; aide.

Gatekeeper : recherche de ticket en ligne vs ticket agrafé

macOS peut notariser avec succès tout en surprenant les utilisateurs si le ticket n’est pas agrafé et que la machine n’atteint pas les services Apple au premier lancement. Inversement, l’agrafe mute le conteneur externe (par ex. un .dmg), ce qui invalide des portails de checksum naïfs si vous hachez trop tôt. Votre politique CI doit nommer quel checksum est l’artefact d’audit (pré-agrafe) et quel blob est livré aux clients (post-agrafe).

  • Ticket seulement : itération la plus rapide lorsque les Mac de labo ont une sortie fiable et que vous contrôlez les politiques de re-vérification.
  • Agrafé : défaut pour les images disque client, installateurs hors ligne et portables terrain.
  • Hybride : agrafer uniquement les canaux release ; garder les nightly en ticket seul avec bannières explicites.

Matrice A : staple vs ticket par chemin de distribution

Artefact & chemin Agrafer ? Justification
.dmg développeur sur stands USB Oui Chemin Gatekeeper hors ligne ; évite la dépendance CDN au premier lancement
Installation fumée CI sur Mac de labo câblés Optionnel Si la sortie est surveillée et les échecs acceptables, ticket seul accélère les boucles
pkg livré par MDM avec agrafe post-install L’un ou l’autre Documentez qui agrafe—pipeline vs MDM—pour éviter le double travail
Pipeline d’upload App Store Suivre la doc de transport Apple Consommateur différent ; n’imitez pas aveuglément les règles DMG bureau

Matrice B : ordre des étapes CI et vérification

Étape Famille de commandes Critères de réussite
Signer codesign drapeaux runtime durcis selon la matrice d’entitlements codesign --verify --deep --strict propre
Notariser notarytool submit + poll Journal Accepted ; id de soumission archivé
Agrafer xcrun stapler staple stapler validate OK sur VM propre
Fumée Lancer l’app depuis l’image montée Pas de dialogue « endommagé » ; télémétrie = version attendue

Garde-fous numériques

  1. Budget timeout : prévoyez au moins 25 minutes murales pour le poll notary sur les trains release ; plus court sur branches feature seulement si vous acceptez le flakiness.
  2. Soumissions parallèles : plafonnez les jobs notary concurrents par hôte à 2 pour éviter le throttling Apple qui entre en collision avec les pics Xcode.
  3. Immutabilité des artefacts : uploadez les objets agrafés vers une nouvelle clé d’objet ; ne jamais écraser sur place.

Conseil audit : joignez au ticket de changement l’id de soumission notary et le SHA-256 de l’artefact pré-agrafe. L’agrafe ne remplace pas les journaux de signature.

Huit étapes de déploiement

  1. Inventoriez les canaux où chaque type de build est livré (labo, client, MDM).
  2. Encodez la matrice dans les modèles de pipeline—pas le savoir tribal dans Slack.
  3. Séparez les jobs : build/signer, notariser, agrafer, publier avec des caches distincts.
  4. Ajoutez une fumée VM qui coupe optionnellement les endpoints Apple sortants pour détecter l’absence d’agrafe.
  5. Stockez les logs notarytool dans le même compartiment de rétention que les autres preuves de signature.
  6. Faites tourner les certificats de signature sur un calendrier ; relancez la validation matricielle après chaque rotation.
  7. Formez l’astreinte à distinguer erreurs stapler vs notarytool—owners différents.
  8. Provisionnez des M4 dédiés par région lorsque les files forcent des raccourcis risqués—NodeMac retire la contention matérielle du débat politique.

FAQ

Quand la CI doit-elle agrafer ?

Lorsque les utilisateurs installent hors ligne ou depuis des réseaux non maîtrisés. Conservez le ticket seul pour les boucles internes bien connectées si c’est documenté.

L’agrafe casse-t-elle le cache de checksum ?

Oui—hachez avant agrafe pour l’audit ; traitez le blob post-agrafe comme livrable client avec son propre checksum.

Si stapler tourne trop tôt ?

Gatekeeper rejette des apps endommagées. Appliquez l’ordre signer → notariser → vérifier → agrafer → valider.

Mac mini M4 pour une CI très orientée signature

Hôtes dédiés, APFS prévisible, automatisation SSH plus VNC pour les cas limites—HK, JP, KR, SG, US.

NM
NodeMac Cloud Mac
Déploiement ~5 min

Mac Apple Silicon dédiés dans le cloud. SSH/VNC—HK·JP·KR·SG·US.

Commencer