Skalieren der Unternehmensbereitstellung
Da Ihre GitHub Enterprise-Organisation wächst – ob aufgrund von Teamerweiterungen oder neuen Auftragnehmereinsätzen – sind Administratoren dafür verantwortlich, den sicheren Zugriff zu gewährleisten, Identitätszyklen zu verwalten, Compliance zu überwachen und Bereitstellungspipelinen zu optimieren. In dieser Lektion werden wichtige GitHub Enterprise-Features und Governancetools vorgestellt, mit denen Sie sicher und effizient skalieren können.
Sicherer Zugriff mit single Sign-On (SSO)
Um die zentrale Identitätskontrolle aufrechtzuerhalten und die Benutzerverwaltung zu optimieren, aktivieren Sie SAML-basiertes Einmaliges Anmelden (Single Sign-On, SSO) mit Ihrem Identitätsanbieter (IdP), z. B. Okta oder Microsoft Entra ID.
Tipp
Auf der Registerkarte " Personen " Ihrer Organisation können Sie einzelne SAML-Anmeldeinformationen im verknüpften Abschnitt "SAML-Identität " überprüfen und widerrufen.
Von Bedeutung
Wenn Sie die Teamsynchronisierung verwenden, entfernt das Widerrufen der SSO-Identität eines Benutzers diese automatisch aus allen Teams, die IdP-Gruppen zugeordnet sind.
Automatisieren der Identitätsverwaltung mit SCIM und APIs
Nutzen Sie GitHub-APIs, um die Bereitstellung und Bereitstellung von Benutzern zu automatisieren, Sicherheitsrichtlinien zu erzwingen und den Zugriff in Ihrem Unternehmen zu überwachen.
Verwenden der SCIM-API für die Lebenszyklusautomatisierung
Der SCIM-Standard optimiert Identitätsworkflows über RESTful JSON-Anforderungen. Sie wird unterstützt von:
- Microsoft Entra ID
- Okta
- OneLogin
Auf diese Weise können automatische Updates für den Benutzerzugriff ohne manuelle Eingriffe erfolgen, das Risiko verringern und die Effizienz verbessern.
Verantwortungsvolle API-Nutzung
Vermeiden Sie ineffiziente Abrufmuster. Verwenden Sie Webhooks, GitHub-Apps oder GitHub-Aktionen, um die Automatisierung auszulösen. Bei Verwendung der Überwachungsprotokoll-API:
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.github.com/enterprises/YOUR_ENTERPRISE/audit-log
Speichern Sie Protokolle in externen SIEM-Systemen wie Splunk oder ELK für langfristige Aufbewahrungs- und Complianceberichte.
Überwachen der Compliance mit Unternehmensüberwachungs- und GraphQL-APIs
Verwenden Sie die Unternehmenskonten-API und die Überwachungsprotokoll-API (nur GraphQL), um vertrauliche Änderungen nachzuverfolgen:
- Zugriff auf Repositorys oder Einstellungen
- Benutzer- oder Rollenänderungen
- App-Berechtigungsupdates
Mit GraphQL können Sie nur die benötigten Daten abrufen oder Unternehmenseinstellungen programmgesteuert stummschalten.
Vereinfachen der Teamverwaltung mit Enterprise Teams (Vorschau)
Enterprise Teams ermöglichen die zentrale Teamerstellung und -verwaltung in mehreren Organisationen.
Übersicht über das Setup:
| Plattform | Schritte |
|---|---|
| Enterprise Cloud | Navigieren Sie zu "Organisationseinstellungen" → Teams, und erstellen oder verwalten Sie dann Teammitgliedschaften. |
| Enterprise Server | Verwenden Sie die Verwaltungskonsole , um Teams zu konfigurieren und Berechtigungen auf Organisationsebene zuzuweisen. |
Vorteile:
- Zentrale Rollenzuweisung in Organisationen
- Verbessern der Sichtbarkeit von Teamstruktur und Beiträgen
- Standardisieren der Zugriffssteuerung im großen Maßstab
Steuern der App-Governance mit Enterprise-Apps (Vorschau)
Enterprise-Apps verbessern die Aufsicht und Kontrolle über GitHub-Apps, die in Ihren Organisationen installiert sind.
Übersicht über das Setup
| Plattform | Schritte |
|---|---|
| Enterprise Cloud | Wechseln Sie zu Den Entwicklereinstellungen → GitHub-Apps, installieren oder erstellen Sie benutzerdefinierte Apps, und konfigurieren Sie Berechtigungen. |
| Enterprise Server | Verwenden Sie die Verwaltungskonsole , um GitHub-Apps mit benutzerdefinierten Bereichen und Webhook-Einstellungen zu erstellen und zu verwalten. |
Vorteile:
- Zentrale App-Verwaltung
- Vereinfachte App-Bereitstellung und Zugriffssteuerung
- Sichtbarkeit der App-Nutzung und -Berechtigungen in allen Organisationen
Erweitern von Funktionen mit GitHub Marketplace-Tools
Der GitHub Marketplace bietet wiederverwendbare Automatisierungstools, die CI/CD vereinfachen, die Zusammenarbeit verbessern und die GitHub-Funktionalität im großen Maßstab erweitern. Zu diesen Tools gehören GitHub-Aktionen und GitHub-Apps – zwei Kernintegrationstypen mit unterschiedlichen Bereichen, Lebenszyklus und Anwendungsfällen.
Auswählen zwischen Aktionen und Apps
| Merkmal | GitHub-Aktionen | GitHub-Apps |
|---|---|---|
| Anwendungsfall | Automatisieren von Workflows (CI/CD, Linting usw.) | Erweitern von GitHub über APIs, UI und Berechtigungen |
| Ausführung | Pro Trigger auf GitHub-gehosteten/selbst gehosteten Läufern | Wird als Dienst ausgeführt; antwortet auf Webhook-Ereignisse |
| Authentifizierungsmodell | Verwendet vorübergehend GITHUB_TOKEN |
Verwendet JWT +-Installationstoken |
| Abrechnung | Abgerechnet pro Aktionsminute | SaaS-basiert (Abonnement/Lizenzierung) |
Tipp
Verwenden Sie GitHub-Aktionen für kurzlebige, ereignisbasierte Automatisierung. Wählen Sie GitHub-Apps aus, wenn Sie dauerhafte Dienste mit tieferen API-Interaktionen oder erweiterten Berechtigungsbereichen erstellen.
Funktionsweise von Marketplace-Tools unter der Haube
Wenn Sie wissen, wie diese Tools mit GitHub interagieren, können Sie fundierte Entscheidungen treffen und eine effektivere Problembehandlung durchführen.
GitHub-Aktionsworkflow
-
Setup: Definieren eines YAML-Workflows in
.github/workflows/. -
Trigger: Ein GitHub-Ereignis (z. B.
push) initiiert den Workflow. - Runner: GitHub dreht einen Läufer (Cloud oder selbst gehostet).
-
Ausführung: Schritte führen Befehle aus, verwenden Aktionen und Zugreifen auf die
GITHUB_TOKEN. - Ergebnisse: Protokolle und Status werden an GitHub zurückgesendet.
Fluss:
Repository Event → Workflow Triggered → Runner Executes Jobs → Output Returned to GitHub
GitHub-Apps-Workflow
- Setup: Die App wird mit bestimmten Berechtigungen auf Repository-/Organisationsebene installiert.
-
Webhooks: GitHub sendet Ereignisse (z. B.
issues.opened) an den Server der App. - Authentifizierung: Die App verwendet den privaten Schlüssel + Installationstoken, um sich zu authentifizieren.
- Interaktion: Die App führt API-Aufrufe aus, um auf das Repository zu reagieren (z. B. Hinzufügen einer Bezeichnung, Eines Kommentars).
Fluss:
Repository Event → Webhook Sent → App Server Receives → Authenticates → GitHub API Call → Action Taken
Praktische Beispiele
GitHub-App: Azure-Pipelines
Anwendungsfall: Automatisieren Sie Bereitstellungspipelinen in allen Umgebungen.
Schritte:
- Suchen Sie Azure-Pipelines im Marketplace.
- Installieren Sie die App, und gewähren Sie Repositoryzugriff.
- Konfigurieren einer Pipeline:
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo "Deploying via Azure Pipelines"
GitHub-Aktion: Node.js CI/CD
Anwendungsfall: Automatisieren Sie den Build und test für ein Node.js Projekt.
Schritte:
- Erstellen Sie
.github/workflows/nodejs.yml:
name: Node.js CI/CD
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
- run: npm install && npm test
Marketplace-Suchtipps
- Tooltyp bestimmen: Verwenden von Apps für umfassende Funktionen; Aktionen für die aufgabenspezifische Automatisierung.
- Budgeteinstellungen festlegen: Filtern Sie nach kostenlosen, kostenlosen Testversionen oder kostenpflichtigen Apps.
- Nach Kategorie verfeinern: Wählen Sie eine Kategorie wie CI/CD aus, um Ihren Projektzielen zu entsprechen.
- Konzentrieren Sie sich auf den Enterprise-Support: Verwenden Sie den GitHub Enterprise-Filter für maßgeschneiderte Tools.