Engineering-Leitfaden

Wohin mit iOS-Signaturschlüsseln für GitHub Actions macOS Runner? Unternehmensauswahl 2026

Wohin mit iOS-Signaturschlüsseln für GitHub Actions macOS Runner? Unternehmensauswahl 2026

Ein Produktions-Build importiert Signaturmaterial auf einem Mac, den auch andere Workflows verwenden: Ein möglicher Rest im Schlüsselbund wird zum Risiko.
Schnellste Lösung: Bewahren Sie Signaturmaterial getrennt vom Runner auf, geben Sie es nur einem vertrauenswürdigen Veröffentlichungsworkflow frei und verwenden Sie für den Build einen temporären Schlüsselbund; ist die Trennung nicht nachweisbar, separieren Sie zuerst den Runner.

Für IT- und Sicherheitsverantwortliche: Sie prüfen Verwahrung, Freigabe und Widerruf von iOS-Signaturmaterial.
Für Plattformteams: Sie richten die Injektion und Bereinigung in GitHub Actions macOS Runnern ein.
Für iOS-Verantwortliche: Sie entscheiden, ob ein vorhandener gemeinsam genutzter Mac Produktionssignaturen verarbeiten darf.

GitHub Actions macOS Runner: iOS-Signaturschlüssel nach Funktion trennen

Die Entscheidung besteht nicht aus der Wahl eines einzelnen Speicherorts. Langfristige Verwahrung, Workflow-Freigabe und Zugriff während des Signierens sind unterschiedliche Aufgaben. Ein verschlüsselter Speicher kann den Zugriff auf gespeicherte Geheimnisse begrenzen, verhindert aber nicht automatisch, dass ein berechtigter Build oder ein weiterer Prozess auf einem gemeinsam genutzten Host das Material erreicht.

Ebene Zweck Geeigneter Prüfpunkt Was damit nicht belegt ist
Langfristige Verwahrung Signaturmaterial außerhalb des laufenden Builds aufbewahren Zugriffskreis, Zuständigkeit für Rotation und Widerruf sowie nachvollziehbare Freigabe dokumentieren Dass ein Runner nach einem Build keine Datenreste enthält
Workflow-Freigabe Geheimnisse nur für vorgesehene Veröffentlichungsabläufe bereitstellen Berechtigungen, Umgebungsregeln und Workflow-Vertrauen überprüfen Dass andere Prozesse auf demselben Mac ausgeschlossen sind
Laufzeit-Schlüsselbund Importiertes Material für den Signiervorgang verfügbar machen Schlüsselbund je Ausführung anlegen, Zugriff begrenzen und Bereinigung prüfen Dass ein Schlüsselbund auf einem gemeinsam genutzten Host eine Teamgrenze schafft

Apple beschreibt eine Code-Signaturidentität als Verbindung von Zertifikat und zugehörigem privaten Schlüssel. Für die technische Einordnung ist daher nicht nur die Zertifikatsdatei entscheidend: Auch der private Schlüssel muss bei der Signierung verfügbar sein. Siehe Apples Erläuterung zu Code-Signaturzertifikaten und die Dokumentation zum Teilen von Signaturzertifikaten im Team.

Die Konsequenz für die Architektur: Ein macOS-Schlüsselbund gehört in den Laufzeitabschnitt des Builds, nicht als unbegrenzt wiederverwendbarer Ablageort auf einen gemeinsam genutzten Runner. Selbst wenn ein Workflow Geheimnisse aus einem kontrollierten Speicher bezieht, muss anschließend noch geklärt werden, welche Prozesse und nachfolgenden Aufgaben auf dem Mac Zugriff haben könnten.

Prüfhinweis: Verschlüsselung bei der Speicherung und Isolation zur Ausführungszeit sind zwei verschiedene Kontrollen. Dokumentieren Sie beide getrennt, statt aus einer vorhandenen Secret-Funktion auf eine sichere Runner-Grenze zu schließen.

GitHub Secrets und externe Verwahrung anhand derselben Kriterien bewerten

GitHub Actions Secrets sind ein möglicher Weg, Geheimnisse Workflows bereitzustellen. Die GitHub-Dokumentation beschreibt deren Verwaltung und Verwendung; sie ersetzt jedoch nicht die Entscheidung, welcher Workflow Zugang erhalten darf und wie der Host nach dem Einsatz behandelt wird. Prüfen Sie die GitHub-Referenz zu Actions Secrets für die tatsächlich verfügbaren Einstellungen und Grenzen.

Ein externer Geheimnisspeicher kann in eine Unternehmensarchitektur passen, wenn Zuständigkeiten oder vorhandene Prüfprozesse dies erfordern. Daraus folgt nicht automatisch, dass ein bestimmtes Produkt besser rotiert, detaillierter protokolliert oder sicherer in GitHub Actions integriert werden kann. Solche Fähigkeiten müssen anhand der Dokumentation des jeweiligen Dienstes und der eigenen Konfiguration verifiziert werden; hier wird keine konkrete Produktfunktion vorausgesetzt.

Für den Vergleich zählen vor allem diese Fragen:

Der Speicherort allein beantwortet keine dieser Fragen vollständig. Ein Team kann Secrets zentral verwalten und trotzdem einen Runner betreiben, auf dem nicht vertrauenswürdige Aufgaben ausgeführt werden. Umgekehrt macht ein externer Speicher einen unsauber begrenzten Workflow nicht vertrauenswürdig. Entscheidend ist die ganze Kette: Freigabe, Übertragung, Import, Verwendung und Nachweis der Bereinigung.

Temporärer Schlüsselbund und gemeinsam genutzter Mac sind keine austauschbaren Kontrollen

Für den Signiervorgang muss der Mac auf das Signaturmaterial zugreifen können. Ein temporärer Schlüsselbund begrenzt, wo das importierte Material während der Aufgabe verfügbar sein soll. Apple stellt eine Schnittstelle zum Erstellen eines Schlüsselbunds bereit; die Dokumentation zu SecKeychainCreate beschreibt diese Funktion. Die konkrete Nutzung und Bereinigung müssen Sie jedoch in Ihrer Runner-Umgebung testen.

Ein temporärer Schlüsselbund ist keine eigenständige Isolationsgarantie. Der Build läuft weiterhin unter einem Betriebssystemkonto auf einem Host. Arbeitsverzeichnisse, temporäre Dateien, Protokolle, weitere Prozesse und die Wiederverwendung des Runner-Hosts können relevant sein. Deshalb sollte die Bewertung auch klären, ob andere Workflows unter demselben Konto oder auf demselben Host laufen und welche Dateien nach Abschluss tatsächlich verbleiben.

GitHub weist bei selbst gehosteten Runnern auf das Risiko hin, dass nicht vertrauenswürdige Workflows die Umgebung beeinflussen können. Die Dokumentation zu selbst gehosteten Runnern und die Hinweise zum sicheren Einsatz von GitHub Actions sind deshalb für die Vertrauensbewertung des Hosts relevant. Sie begründen keine allgemeine Pflicht zu einer bestimmten Unternehmensarchitektur, machen aber deutlich, warum die Vertrauensgrenze des Workflows nicht mit dem Speicherort des Schlüssels verwechselt werden darf.

Bei der technischen Umsetzung sollte ein Team mindestens festlegen, wann der Schlüsselbund angelegt wird, welcher Prozess darauf zugreifen darf, wo importierte Dateien liegen und welche Aufräumschritte nach einem Fehler oder Abbruch greifen. Ein Build, der vor der Bereinigung scheitert, ist ein anderer Ablauf als ein regulär erfolgreich abgeschlossener Build. Beide Fälle gehören in die Prüfung.

Freigaben, Umgebungen und Runner-Vertrauen getrennt prüfen

Die Freigabe eines Geheimnisses ist nur eine Kontrolle in der Kette. GitHub beschreibt für Umgebungen Schutzregeln und Freigabeprozesse; die Dokumentation zu Deployments und Umgebungen hilft dabei, deren konkrete Wirkung im Workflow zu prüfen. Daraus lässt sich jedoch nicht ableiten, dass ein gemeinsam genutzter Mac gegenüber anderen Aufgaben isoliert ist.

Legen Sie für Produktionssignaturen fest, welche Branches und Workflow-Dateien als vertrauenswürdig gelten, welche Änderungen eine Überprüfung erfordern und welche Actions im Veröffentlichungsablauf eingesetzt werden. Drittanbieter-Actions sind Teil der Ausführungskette. Prüfen Sie ihre Herkunft, ihren Umfang und ihre Berechtigungen, anstatt allein auf einen erfolgreichen Jobstatus zu vertrauen.

Begrenzen Sie zudem die Token-Berechtigungen der Workflows auf das, was sie tatsächlich benötigen. GitHub dokumentiert die verfügbaren Berechtigungen in der Workflow-Syntaxreferenz. Ein minimierter Token-Zugriff kann die Reichweite eines Workflows beschränken, entfernt aber weder bereits importierte private Schlüssel noch stellt er eine Betriebssystemgrenze zwischen Aufgaben her.

Zu einer belastbaren Prüfung gehören daher zwei getrennte Entscheidungen: Darf dieser Workflow die Signaturdaten erhalten, und darf er auf diesem Runner mit anderen Aufgaben oder Teams gemeinsam ausgeführt werden? Die erste Frage betrifft Autorisierung und Workflow-Vertrauen. Die zweite betrifft die tatsächliche Ausführungsumgebung. Eine Freigabe im Veröffentlichungsprozess beantwortet nicht automatisch die zweite.

Bereinigung als überprüfbaren Ablauf abnehmen

Ein Skriptaufruf mit erfolgreichem Status ist kein vollständiger Nachweis, dass alle Kopien des Signaturmaterials entfernt wurden. Legen Sie vor dem Pilotbetrieb fest, welche Belege Sie für den eigenen Runner verlangen. Diese Anforderungen sind interne Kontrollen, sofern sie nicht ausdrücklich als Plattformfunktion dokumentiert sind.

Prüfen Sie den Ablauf Schritt für Schritt:

Führen Sie diese Prüfung auf dem echten Runner-Typ und mit den tatsächlichen Konten und Arbeitsverzeichnissen durch. Ein Test auf einem anderen Mac belegt nicht ohne Weiteres, dass die Produktionsumgebung gleich konfiguriert ist. Ebenso sollte ein Aufräumprotokoll als Nachweis eines ausgeführten Schritts bewertet werden, nicht als pauschale Sicherheitsgarantie.

Entscheidung nach Vertrauensmodell und vorhandener Mac-Architektur

Die folgenden Bedingungen geben eine Richtung vor, keine pauschale Plattformvorgabe:

Für die Abnahme sollten ein Inventar der signierenden Workflows, eine Liste berechtigter Personen und Konten sowie Protokolle aus einem realen Testlauf vorliegen. Entscheidend ist, ob die dokumentierte Grenze im tatsächlichen Betrieb nachvollziehbar ist – nicht, ob eine Architektur auf einem Diagramm getrennt aussieht.

Wer die Mac-Umgebung für einen Pilotbetrieb ändern oder abgrenzen muss, sollte zugleich Datenschutz, Kontenzugriff und Zuständigkeit für Support dokumentieren. Die Informationen zur Datenschutzregelung von ArmMacs sind ein Ausgangspunkt für die Prüfung der veröffentlichten Datenschutzangaben; sie ersetzen keine interne Sicherheits- oder Compliance-Bewertung.

Häufige Fragen zu iOS-CI-Signaturdaten

Kann ein selbst gehosteter macOS Runner den iOS-Signaturschlüssel dauerhaft speichern?

Ein selbst gehosteter Runner kann Dateien und Schlüsselbunddaten auf seinem System behalten; das macht ihn jedoch nicht automatisch zu einem geeigneten Langzeitspeicher. GitHub weist auf Risiken durch nicht vertrauenswürdige Workflows bei selbst gehosteten Runnern hin. Verwahren Sie Signaturmaterial deshalb getrennt und geben Sie es nur einem freigegebenen Veröffentlichungsworkflow zur Laufzeit.

Gehört das Signierzertifikat in GitHub Secrets oder in den macOS-Schlüsselbund?

Die beiden Speicherorte erfüllen unterschiedliche Aufgaben. GitHub Secrets können für die kontrollierte Bereitstellung von Workflow-Geheimnissen verwendet werden; der macOS-Schlüsselbund ist dagegen der Laufzeitort, an dem der Signiervorgang auf dem Mac auf das importierte Material zugreift. Weder Secrets noch ein Schlüsselbund auf einem gemeinsam genutzten Runner ersetzen die Trennung von Aufgaben und Teams.

Wie verhindere ich, dass Builds aus verschiedenen Repositorys dieselben Signaturdaten auf einem Mac lesen?

Prüfen Sie zuerst, ob die Workloads und vertrauenswürdigen Teams auf getrennte Runner oder ausreichend isolierte Ausführungsgrenzen verteilt werden können. Begrenzen Sie außerdem die Workflow-Freigabe der Geheimnisse und dokumentieren Sie Konten, Arbeitsverzeichnisse und Schlüsselbundzugriff. Ein Freigabeschritt allein beweist nicht, dass ein gemeinsam genutzter Host isoliert ist.

Was muss nach einem GitHub-Actions-Build mit importierten Signaturschlüsseln geschehen?

Der Workflow sollte den temporären Schlüsselbund schließen und entfernen sowie Arbeitsdateien mit importiertem Signaturmaterial bereinigen. Belegen Sie diese Schritte durch nachvollziehbare Protokolle und Tests in der tatsächlichen Runner-Umgebung. Ein erfolgreich beendetes Skript ist für sich genommen kein Nachweis, dass keine Kopien oder zugänglichen Daten auf dem Host verblieben sind.

Wenn vorhandene Mac-Knoten weder eine belastbare Teamtrennung noch überprüfbare Bereinigung ermöglichen, sollte das Team zunächst die Runner-Architektur ändern, statt sich allein auf verschlüsselte Geheimnisse zu verlassen. Ein Kauf ist sinnvoll, wenn eine dauerhaft kontrollierte eigene Infrastruktur benötigt wird; für einen zeitlich begrenzten Pilot oder eine klar umrissene Build-Umgebung kann eine gemietete Mac-Umgebung eine Alternative sein. Vor einer Entscheidung sollten Sie die Anforderungen, Freigaben und Abnahmen dokumentieren und anschließend prüfen, ob die Mietoptionen von ArmMacs zu diesem Versuchsrahmen passen.

Häufig gestellte Fragen

Kann ein selbst gehosteter macOS Runner den iOS-Signaturschlüssel dauerhaft speichern?

Ein selbst gehosteter Runner kann Dateien und Schlüsselbunddaten auf seinem System behalten; das macht ihn jedoch nicht automatisch zu einem geeigneten Langzeitspeicher. GitHub weist auf Risiken durch nicht vertrauenswürdige Workflows bei selbst gehosteten Runnern hin. Verwahren Sie Signaturmaterial deshalb getrennt und geben Sie es nur einem freigegebenen Veröffentlichungsworkflow zur Laufzeit.

Gehört das Signierzertifikat in GitHub Secrets oder in den macOS-Schlüsselbund?

Die beiden Speicherorte erfüllen unterschiedliche Aufgaben. GitHub Secrets können für die kontrollierte Bereitstellung von Workflow-Geheimnissen verwendet werden; der macOS-Schlüsselbund ist dagegen der Laufzeitort, an dem der Signiervorgang auf dem Mac auf das importierte Material zugreift. Weder Secrets noch ein Schlüsselbund auf einem gemeinsam genutzten Runner ersetzen die Trennung von Aufgaben und Teams.

Wie verhindere ich, dass Builds aus verschiedenen Repositorys dieselben Signaturdaten auf einem Mac lesen?

Prüfen Sie zuerst, ob die Workloads und vertrauenswürdigen Teams auf getrennte Runner oder ausreichend isolierte Ausführungsgrenzen verteilt werden können. Begrenzen Sie außerdem die Workflow-Freigabe der Geheimnisse und dokumentieren Sie Konten, Arbeitsverzeichnisse und Schlüsselbundzugriff. Ein Freigabeschritt allein beweist nicht, dass ein gemeinsam genutzter Host isoliert ist.

Was muss nach einem GitHub-Actions-Build mit importierten Signaturschlüsseln geschehen?

Der Workflow sollte den temporären Schlüsselbund schließen und entfernen sowie Arbeitsdateien mit importiertem Signaturmaterial bereinigen. Belegen Sie diese Schritte durch nachvollziehbare Protokolle und Tests in der tatsächlichen Runner-Umgebung. Ein erfolgreich beendetes Skript ist für sich genommen kein Nachweis, dass keine Kopien oder zugänglichen Daten auf dem Host verblieben sind.

ArmMacs Cloud Mac

Richten Sie Ihre Signierumgebung auf einem dedizierten Mac ein

Mieten Sie bei ArmMacs einen dedizierten physischen Mac als selbst gehosteten Runner für Builds und Signieraufgaben.

Modell auswählen und bestellen