Skalieren der Unternehmensbereitstellung

Abgeschlossen

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 EntwicklereinstellungenGitHub-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

Screenshot der GitHub Marketplace-Schnittstelle

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

  1. Setup: Definieren eines YAML-Workflows in .github/workflows/.
  2. Trigger: Ein GitHub-Ereignis (z. B. push) initiiert den Workflow.
  3. Runner: GitHub dreht einen Läufer (Cloud oder selbst gehostet).
  4. Ausführung: Schritte führen Befehle aus, verwenden Aktionen und Zugreifen auf die GITHUB_TOKEN.
  5. Ergebnisse: Protokolle und Status werden an GitHub zurückgesendet.

Fluss:
Repository Event → Workflow Triggered → Runner Executes Jobs → Output Returned to GitHub

GitHub-Apps-Workflow

  1. Setup: Die App wird mit bestimmten Berechtigungen auf Repository-/Organisationsebene installiert.
  2. Webhooks: GitHub sendet Ereignisse (z. B. issues.opened) an den Server der App.
  3. Authentifizierung: Die App verwendet den privaten Schlüssel + Installationstoken, um sich zu authentifizieren.
  4. 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:

  1. Suchen Sie Azure-Pipelines im Marketplace.
  2. Installieren Sie die App, und gewähren Sie Repositoryzugriff.
  3. 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:

  1. 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.