Remarque
Les politiques relatives au référentiel sont actuellement disponibles dans préversion publique et sont susceptibles d'être modifiées. Vous pouvez avoir jusqu'à 75 politiques et ensembles de règles au total par organisation, et jusqu'à 75 politiques et ensembles de règles au total par entreprise.
Pour contrôler les événements clés du cycle de vie de vos référentiels, tels que les personnes autorisées à créer ou à supprimer des référentiels, vous pouvez créer une stratégie de référentiel. Une stratégie de référentiel est un ensemble de restrictions qui vous permet de contrôler de manière flexible quels utilisateurs sont concernés et quels référentiels sont ciblés.
Dans une stratégie de référentiel, vous pouvez restreindre :
- Quelles visibilités sont autorisées pour les nouveaux référentiels et les modifications de visibilité.
- Qui peut créer des référentiels.
- Qui peut supprimer des référentiels.
- Qui peut transférer des référentiels hors d’une organisation.
- Comment les personnes peuvent nommer les référentiels.
Exemples
Vous pouvez utiliser une stratégie de référentiel pour effectuer des opérations telles que :
- S’assurer que tous les nouveaux référentiels utilisent une certaine convention de nommage, telle que
kebab-case. - Empêcher les suppressions de référentiels, sauf par les administrateurs de l’organisation.
- Autoriser la création de référentiels publics uniquement dans l’organisation « open source » de votre entreprise.
- Empêcher que les référentiels publics ne soient transformés en référentiels privés afin d’éviter la perte potentielle de métadonnées.
Comment vais-je cibler les référentiels ?
Tout d’abord, vous allez cibler les organisations dans votre entreprise. Vous pouvez sélectionner toutes les organisations, choisir dans une liste ou créer une règle dynamique en utilisant la syntaxe fnmatch. Si vous utilisez Enterprise Managed Users, vous pouvez également choisir de cibler tous les référentiels appartenant à des utilisateurs de votre entreprise.
Ensuite, vous allez cibler les dépôts dans les organisations sélectionnées. Nous vous recommandons d’utiliser les stratégies de référentiel parallèlement aux propriétés de référentiel personnalisées. En ajoutant des propriétés personnalisées aux référentiels, vous pouvez cibler de manière flexible ces référentiels dans une stratégie.
Par exemple, vous pouvez ajouter une propriété pour marquer les référentiels qui contiennent des données de production ou d'autres informations sensibles, puis empêcher quiconque de rendre ces référentiels publics.
Interaction avec d’autres stratégies
Certaines des restrictions disponibles sont des doublons des stratégies que vous avez peut-être définies sur la page « Privilèges des membres » dans les paramètres de votre organisation ou de votre entreprise.
La création d’une stratégie de référentiel ne remplace pas vos stratégies de « privilèges des membres » existantes. Les stratégies sont plutôt additives, de sorte que la version la plus restrictive d’une stratégie s’applique. Cela s’applique à la fois aux ** stratégies de privilèges des membres** et aux autres ** stratégies de référentiel** créées au niveau de l’entreprise ou de l’organisation.
Par rapport aux stratégies de privilèges des membres, les stratégies de référentiel présentent plusieurs avantages :
- Elles offrent un ciblage plus flexible des organisations et des référentiels.
- Elles vous permettent de donner à certains acteurs la possibilité de contourner les stratégies.
- Elles sont visibles pour les propriétaires d’organisations, ce qui permet une plus grande transparence sur ce qui est autorisé.
- Ils vous permettent de cibler les référentiels détenus par Enterprise Managed Users.
Création d’une stratégie de référentiel
- Accédez à votre entreprise. Par exemple, depuis la page Entreprises sur GitHub.com.
- En haut de la page, cliquez sur Stratégies.
- Dans « Stratégies », cliquez sur Référentiel.
- Cliquez sur Nouvelle stratégie.
- Configurez votre nouvelle stratégie, puis cliquez sur Créer. Pour obtenir de l’aide, consultez les sous-sections suivantes.
Nom de stratégie
Utilisez une formule descriptive pour communiquer l’objectif de la stratégie. Les propriétaires d’organisations peuvent consulter la stratégie. De bons noms permettent donc de la rendre plus claire. Par exemple : Prevent public repos on production.
État d’application
Si vous ne souhaitez pas que la stratégie soit appliquée lors de sa création, sélectionnez « Désactivée ». Dans le cas contraire, sélectionnez « Active ».
Liste d’autorisation
Choisissez les rôles qui peuvent contourner les restrictions de cette stratégie.
Cibles
Choisissez les organisations et les référentiels auxquels la stratégie s’applique.
Organisations cibles
Sélectionnez toutes les organisations, choisissez une sélection d’organisations existantes ou définissez une liste dynamique par nom. Si vous utilisez Enterprise Managed Users, vous pouvez également choisir de cibler tous les référentiels appartenant à des utilisateurs de votre entreprise.
Si vous définissez une liste dynamique, vous ajouterez un ou plusieurs modèles de nommage en utilisant la syntaxe fnmatch. Par exemple, la chaîne *open-source correspond aux organisations dont le nom se termine par open-source. Pour plus d’informations sur la syntaxe, consultez Création d'ensembles de règles pour un dépôt.
Dépôts cibles
Choisissez les référentiels (actuels ou futurs) à cibler dans les organisations sélectionnées. Vous pouvez sélectionner tous les référentiels ou définir une liste dynamique par propriété personnalisée.
Stratégies
Choisissez les restrictions à inclure. Lorsque la stratégie est active, les restrictions s’appliquent à tous les référentiels ciblés, mais peuvent être contournées par les utilisateurs ou les équipes figurant sur la liste d’autorisation.
Si vous choisissez la stratégie « Restreindre les noms », vous devez utiliser la syntaxe expression régulière pour définir un modèle auquel les noms de référentiels doivent ou ne doivent pas correspondre. Par exemple, un modèle permettant d’appliquer le nommage kebab-case ressemblerait à ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$.
- Les modèles prennent en charge la syntaxe RE2. Consultez le guide de syntaxe de Google.
- Pour valider vos expressions, cliquez sur Tester le modèle, puis entrez un modèle et une valeur de test.
Déléguer le contournement des stratégies
Remarque
Le contournement délégué de la stratégie de dépôts est en préversion publique et est susceptible d’être modifié.
Le contournement délégué des stratégies de dépôt vous permet de contrôler qui peut contourner les stratégies de dépôt pour les suppressions et les modifications de visibilité du dépôt.
Avec le contournement délégué, les administrateurs du dépôt doivent soumettre une demande pour modifier la visibilité du dépôt ou le supprimer. La demande est envoyée à un groupe désigné de réviseurs, qui approuvent ou rejettent la demande visant à contourner les stratégies du dépôt.
Si la demande de contournement des stratégies du dépôt est approuvée, la modification demandée est immédiatement effectuée. Si la demande est rejetée, la modification demandée n’est pas effectuée, mais peut faire l’objet d’une nouvelle demande.
Pour configurer le contournement délégué, les propriétaires d’entreprise ou d’organisation doivent d’abord créer une « liste de contournement ». La liste de contournement comprend des rôles et des équipes spécifiques, tels que les administrateurs d’équipe ou de dépôt, qui supervisent les demandes de contournement des stratégies de dépôt.