Skip to main content

Defining policies for repositories in your enterprise

Enforce repository policies across your enterprise using custom properties and targeting rules.

Hinweis

-Repositoryrichtlinien befinden sich derzeit in der public preview. Änderungen sind vorbehalten. Du kannst bis zu 75 Richtlinien und Regelsätze pro Organisation und bis zu 75 Richtlinien und Regelsätze insgesamt pro Unternehmen haben.

Du kannst eine Repositoryrichtlinie erstellen, um wichtige Ereignisse im Lebenszyklus deiner Repositorys zu steuern, z. B. wer Repositorys erstellen oder löschen kann. Eine Repositoryrichtlinie ist eine Sammlung von Einschränkungen, mit denen du flexibel steuern kannst, für welche Benutzer diese gelten und welche die Zielrepositorys sind.

In einer Repositoryrichtlinie kannst du Folgendes einschränken:

  • Welche Sichtbarkeitsoptionen für neue Repositorys und Sichtbarkeitsänderungen zulässig sind
  • Wer Repositorys erstellen kann
  • Wer Repositorys löschen kann
  • Wer Repositorys aus einer Organisation heraus **übertragen ** kann
  • Wie Personen Repositorys benennen können

Examples

Du kannst eine Repositoryrichtlinie unter anderem für folgende Aufgaben verwenden:

  • Sicherstellen, dass alle neuen Repositorys einer bestimmten Benennungskonvention folgen, beispielsweisekebab-case
  • Verhindern des Löschens von Repositorys außer durch Organisationsadministratoren
  • Zulassen, dass öffentliche Repositorys nur in der „Open Source“-Organisation in deinem Unternehmen erstellt werden
  • Verhindern, dass öffentliche Repositorys in private Repositorys geändert werden, um potenziellen Verlust von Metadaten zu vermeiden

Creating a repository policy

  1. Klicke auf GitHub in der oberen rechten Ecke auf dein Profilbild.
  2. Klicke je nach deiner Umgebung auf Dein Unternehmenoder auf Deine Unternehmen, und klicke dann auf das Unternehmen, das du anzeigen möchtest.
  3. Klicke oben auf der Seite auf Policies.
  4. Under "Policies", click Repository.
  5. Click New policy.
  6. Configure your new policy, then click Create. For help, consult the following subsections.

Policy name

Use something descriptive to communicate the purpose of the policy. Organization owners can view the policy, so good names help add clarity. For example: Prevent public repos on production.

Enforcement status

Wenn die Richtlinie nicht erzwungen werden soll, wenn sie erstellt wird, lege diese auf „Disabled“ fest. Andernfalls wird „Active“ festgelegt.

Allow list

Wähle aus, welche Rollen die Einschränkungen in dieser Richtlinie umgehen können.

Targets

Choose which organizations and repositories the policy applies to.

Target organizations

Select all organizations, choose a selection of existing organizations, or set a dynamic list by name. If you use Enterprise Managed Users, you can also choose to target all repositories owned by users in your enterprise.

If you set a dynamic list, you'll add one or more naming patterns using fnmatch syntax. For example, the string *open-source would match any organization with a name that ends with open-source. For syntax details, see Erstellen von Regelsätzen für ein Repository.

Target repositories

Choose which repositories (current or future) to target in the selected organizations. You can select all repositories or set a dynamic list by custom property.

Policies

Wähle aus, welche Einschränkungen enthalten sein sollen. Wenn die Richtlinie aktiv ist, gelten die Einschränkungen für alle Zielrepositorys, können jedoch von Benutzern oder Teams auf der Zulassungsliste umgangen werden.

Wenn du die Richtlinie „Restrict names“ auswählst, musst du reguläre Ausdrücke verwenden, um ein Muster festzulegen, mit dem Repositorynamen entweder übereinstimmen oder nicht übereinstimmen müssen. Ein Muster zum Erzwingen der Benennung kebab-case würde z. B. wie folgt aussehen: ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$.

  • Muster unterstützen die RE2-Syntax. Weitere Informationen findest du im Syntaxleitfaden von Google.
  • Klicke auf Test pattern, und gib dann ein Muster und einen Testwert ein, um deine Ausdrücke zu überprüfen.

Delegating bypass of policies

Hinweis

Die delegierte Umgehung der Repositoryrichtlinie befindet sich in public preview. Änderungen sind vorbehalten.

Mit der delegierten Umgehung für Repositoryrichtlinien kannst du steuern, wer Repositoryrichtlinien für Repositorylöschungen und Sichtbarkeitsänderungen umgehen kann.

Mit der delegierten Umgehung müssen Repositoryadministratoren eine Anforderung übermitteln, um die Sichtbarkeit des Repositorys zu ändern oder das Repository zu löschen. Die Anforderung wird an eine bestimmte Gruppe von Prüfern gesendet, die die Anforderung zum Umgehen der Repositoryrichtlinien genehmigen oder verweigern.

Wenn die Anforderung zum Umgehen von Repositoryrichtlinien genehmigt wird, wird die Anforderungsänderung sofort abgeschlossen. Wenn die Anforderung abgelehnt wird, wird die angeforderte Änderung nicht vorgenommen, kann aber erneut angefordert werden.

Um die delegierte Umgehung zu konfigurieren, erstellen Unternehmensbesitzer oder Organisationsbesitzer zuerst eine „Umgehungsliste“. Die Umgehungsliste umfasst bestimmte Rollen und Teams, z. B. Team- oder Repositoryadministratoren, die Anforderungen zum Umgehen der Repositoryrichtlinien überwachen. Weitere Informationen finden Sie unter Verwalten der Verwendung von Repositorys in deinem Unternehmen.

Next steps

Create rulesets to consistently govern important branches in your enterprise's repositories. See Protecting branches in your enterprise with rulesets.