Skip to main content

Verwalten des Zugriffs auf andere Repositorys innerhalb deines Codespace

Du kannst die Repositorys verwalten, auf die GitHub Codespaces zugreifen kann.

Übersicht

Standardmäßig wird deinem Codespace ein Token mit der read-Berechtigung oder read sowie der write-Berechtigung zugewiesen, das dem Repository zugeordnet ist, aus dem er erstellt wurde. Der Bereich dieses Tokens ändert sich unter den folgenden Umständen automatisch.

  • Wenn du einen Codespace für ein Repository erstellst, auf das du nur Lesezugriff hast, führe einen Commit im Codespace durch. GitHub Codespaces verknüpft deinen Codespace automatisch mit einem neuen oder vorhandenen Fork des Repositorys und aktualisiert das Token, um die Berechtigungen read und write für den Fork abzurufen. Weitere Informationen findest du unter Verwenden der Quellcodeverwaltung in deinem Codespace.
  • Wenn du einen Codespace aus einer Vorlage erstellst und dann den Codespace in einem neuen Repository veröffentlichst, aktualisiert GitHub Codespaces das Token, um die Berechtigungen read und write für das neue Repository abzurufen. Weitere Informationen findest du unter Erstellen eines Codespace mithilfe einer Vorlage.

Wenn dein Projekt zusätzliche Berechtigungen für andere Repositorys benötigt, kannst du dies in der devcontainer.json-Datei konfigurieren und sicherstellen, dass andere Projektmitarbeiter über die richtigen Berechtigungen verfügen. Wenn Berechtigungen in der devcontainer.json-Datei aufgeführt sind, wirst du aufgefordert, die zusätzlichen Berechtigungen als Teil der Codespaceerstellung für dieses Repository zu überprüfen und zu autorisieren. Nachdem du die aufgelisteten Berechtigungen autorisiert hast, erinnert sich GitHub Codespaces an deine Auswahl, und fordert nicht die Autorisierung von dir an, sofern sich die Berechtigungen in der devcontainer.json-Datei nicht ändern.

Weitere Informationen findest du unter Sicherheit in GitHub Codespaces.

Voraussetzungen

Um Codespaces mit benutzerdefinierten Berechtigungen zu erstellen, musst du eine der folgenden Optionen verwenden:

Festlegen zusätzlicher Repositoryberechtigungen

  1. Du konfigurierst Repositoryberechtigungen für GitHub Codespaces in der devcontainer.json-Datei. Wenn dein Repository noch keine devcontainer.json-Datei enthält, füge jetzt eine hinzu. Weitere Informationen: Hinzufügen eines Dev-Containers zu deinem Projekt.

  2. Bearbeite die devcontainer.json-Datei, wobei du den Repositorynamen und -berechtigungen hinzufügst, die für das repositories-Objekt erforderlich sind:

    JSON
    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/my_repo": {
              "permissions": {
                "issues": "write"
              }
            }
          }
        }
      }
    }

    Hinweis: Du kannst nur auf Repositorys verweisen, die zu demselben persönlichen Konto oder der Organisation gehören wie das Repository, in dem du derzeit arbeitest.

    Du kannst für jedes aufgelistete Repository so viele oder wenige Berechtigungen erteilen wie im Folgenden aufgelistet:

    • actions: Lesen/Schreiben
    • checks: Lesen/Schreiben
    • contents: Lesen/Schreiben
    • deployments: Lesen/Schreiben
    • discussions: Lesen/Schreiben
    • issues: Lesen/Schreiben
    • packages: Lesen
    • pages: Lesen/Schreiben
    • pull_requests: Lesen/Schreiben
    • repository_projects: Lesen/Schreiben
    • statuses: Lesen/Schreiben
    • workflows: Schreiben

    Um eine Berechtigung für alle Repositorys in einer Organisation festzulegen, verwende den *-Platzhalter nach dem Namen deiner Organisation im repositories-Objekt.

    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/*": {
              "permissions": {
                "issues": "write"
              }
            }
          }
        }
      }
    }
    

    Um alle Berechtigungen für ein bestimmtes Repository festzulegen, verwende "permissions": "read-all" oder "permissions": "write-all" im Repositoryobjekt.

    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/my_repo": {
              "permissions": "write-all"
            }
          }
        }
      }
    }
    

Autorisieren angeforderter Berechtigungen

Wenn zusätzliche Repositoryberechtigungen in der devcontainer.json-Datei definiert sind, wirst du aufgefordert, die Berechtigungen zu überprüfen und optional zu autorisieren, wenn du einen Codespace oder eine Präbuildkonfiguration für dieses Repository erstellst. Wenn du Berechtigungen für ein Repository autorisierst, fordert GitHub Codespaces dich nicht erneut auf, sofern der Satz angeforderter Berechtigungen für das Repository sich nicht geändert hat.

Die Seite mit angeforderten Berechtigungen

Du solltest nur Berechtigungen für Repositorys autorisieren, die du kennst und denen du vertraust. Wenn du dem Satz angeforderter Berechtigungen nicht vertraust, klicke auf Fortfahren ohne Autorisierung, um den Codespace mit dem Basissatz von Berechtigungen zu erstellen. Das Ablehnen zusätzlicher Berechtigungen kann sich auf die Funktionalität deines Projekts innerhalb des Codespace auswirken, da der Codespace nur Zugriff auf das Repository hat, aus dem es erstellt wurde.

Du kannst nur Berechtigungen autorisieren, die dein persönliches Konto bereits besitzt. Wenn ein Codespace Berechtigungen für Repositorys anfordert, auf die du derzeit keinen Zugriff hast, wende dich an einen Besitzer oder Administrator des Repositorys, um ausreichenden Zugriff zu erhalten, und versuche dann erneut, einen Codespace zu erstellen.

Zugriff und Sicherheit

Hinweis zu veralteten Funktionen: Die unten beschriebene Zugriffs- und Sicherheitseinstellung ist mittlerweile veraltet und wird hier nur zu Referenzzwecken dokumentiert. Um erweiterten Zugriff auf andere Repositorys zu aktivieren, füge die angeforderten Berechtigungen wie oben beschrieben deiner Entwicklungscontainerdefinition hinzu.

Wenn du den Zugriff und die Sicherheit für ein Repository im Besitz deines persönlichen Kontos aktivierst, verfügen alle Codespaces, die für dieses Repository erstellt werden, über Leseberechtigungen für alle anderen Repositorys, die du besitzt. Wenn du die Repositorys einschränken möchtest, auf die ein Codespace zugreifen kann, kannst du ihn entweder auf das Repository beschränken, in dem der Codespace geöffnet wurde, oder auf bestimmte Repositorys. Du solltest Zugriff und Sicherheit nur für Repositorys aktivieren, denen du vertraust.

  1. Klicken Sie auf einer beliebigen Seite in der oberen rechten Ecke auf Ihr Profilfoto und anschließend auf Einstellungen.

    Symbol „Settings" (Einstellungen) auf der Benutzerleiste 1. Klicke im Abschnitt „Code, Planung und Automatisierung“ der Seitenleiste auf Codespaces.

  2. Wähle unter „Zugriff und Sicherheit“ die gewünschte Einstellung für dein persönliches Konto aus.

    Optionsfelder zum Verwalten vertrauenswürdiger Repositorys

  3. Wenn du „Ausgewählte Repositorys“ ausgewählt hast, wähle das Dropdownmenü aus, und klicke dann auf ein Repository, damit die Codespaces des Repositorys auf andere Repositorys in deinem Besitz zugreifen können. Wiederhole diesen Vorgang für alle Repositorys, deren Codespaces auf andere Repositorys in deinem Besitz zugreifen können sollen.

    Dropdownmenü „Ausgewählte Repositorys“