Skip to main content

Configuration du contrôle d’accès et de la visibilité d’un package

Choisissez qui a un accès en lecture, en écriture ou d’administrateur à votre package ainsi que la visibilité de vos packages sur GitHub.

Qui peut utiliser cette fonctionnalité ?

GitHub Packages est disponible avec GitHub Free, GitHub Pro, GitHub Free pour les organisations, GitHub Team, GitHub Enterprise Cloud et GitHub Enterprise Server 3.0 ou ultérieur.
GitHub Packages n’est pas disponible pour les référentiels privés appartenant à des comptes qui utilisent des plans par référentiel hérités. Par ailleurs, les comptes utilisant des plans par dépôt hérités ne peuvent pas accéder aux registres qui prennent en charge les autorisations granulaires, car ces comptes sont facturés par dépôt. Pour obtenir la liste des registres prenant en charge les autorisations granulaires, consultez la section « À propos des autorisations pour les packages GitHub ». Pour plus d’informations, consultez « Plans de GitHub ».

Un package peut hériter des autorisations de visibilité et d’accès d’un dépôt, ou, pour les registres qui prennent en charge les autorisations granulaires, vous pouvez définir la visibilité et les autorisations du package à part du dépôt.

Pour obtenir la liste des registres qui prennent en charge les autorisations granulaires et pour plus d’informations sur les autorisations des packages, les étendues liées aux packages pour les jetons PAT ou la gestion des autorisations pour vos workflows GitHub Actions, consultez « À propos des autorisations pour les packages GitHub ».

À propos de l’héritage des autorisations d’accès

Dans les registres qui prennent en charge les autorisations granulaires, les packages sont délimités à un compte personnel ou à une organisation. Dans ces registres, vous pouvez publier un package sans le lier à un dépôt, puis déterminer qui peut accéder au package en définissant les autorisations d’accès et la visibilité dans les paramètres du package.

Par défaut, si vous publiez un package lié à un référentiel, le package hérite automatiquement des autorisations d’accès (mais pas de la visibilité) du référentiel lié. Par exemple, un utilisateur disposant d’un accès en lecture au dépôt lié a également un accès en lecture au package. Lorsqu’un package hérite automatiquement des autorisations d’accès, les workflows GitHub Actions dans le dépôt lié obtiennent aussi automatiquement l’accès au package.

Un package hérite automatiquement des autorisations d’accès d’un dépôt lié si vous liez le dépôt au package avant de publier le package, par exemple en ajoutant l’étiquette org.opencontainers.image.source Docker à une image conteneur. Si vous connectez un package publié à un dépôt à partir de la page des paramètres du package, le package conserve ses autorisations d’accès existantes et n’hérite pas des autorisations d’accès du dépôt, sauf si vous sélectionnez explicitement cette option. De plus, les organisations peuvent désactiver l’héritage automatique des autorisations d’accès pour tous les nouveaux packages délimités à leur organisation. Pour plus d’informations, consultez « Désactivation de l’héritage automatique des autorisations d’accès dans une organisation » ci-dessous.

Lorsqu’un package hérite des autorisations d’un dépôt, pour accorder ou supprimer l’accès à votre package, vous devez configurer les paramètres d’autorisations du dépôt lié. Si vous souhaitez définir les paramètres d’accès d’un package séparément du référentiel lié au package, vous devez supprimer les autorisations héritées du package. Pour plus d’informations, consultez « Choix qu’un package hérite des autorisations d’un dépôt ou non » ci-dessous.

Si vous publiez un package dans un registre qui prend uniquement en charge les autorisations délimitées au dépôt, le package est toujours lié à un dépôt et hérite toujours des autorisations du dépôt lié.

À propos de la définition de la visibilité et des autorisations d’accès pour les packages

Si un package appartient à un registre qui prend en charge les autorisations granulaires, toute personne disposant d’autorisations d’administrateur sur le package peut définir le package sur privé ou public, et peut accorder des autorisations d’accès pour le package qui sont distinctes des autorisations définies au niveau de l’organisation et du dépôt. Pour obtenir la liste des registres prenant en charge les autorisations granulaires, consultez « À propos des autorisations pour les packages GitHub ».

Dans la plupart des registres, pour extraire un package, vous devez vous authentifier avec un personal access token ou GITHUB_TOKEN, que le package soit public ou privé. Toutefois, dans Container registry, les packages publics autorisent l’accès anonyme et peuvent être extraits sans authentification ni connexion via l’interface CLI.

Remarque : Si vous publiez un package qui est lié à un dépôt, le package hérite de ses autorisations par défaut. Pour accéder aux paramètres des autorisations granulaires du package, vous devez supprimer les autorisations héritées du package. Si vous êtes propriétaire d’une organisation, vous pouvez désactiver l’héritage automatique des autorisations pour tous les nouveaux packages délimités à votre organisation. Pour plus d’informations, consultez « Configuration du contrôle d’accès et de la visibilité d’un package » et « Configuration du contrôle d’accès et de la visibilité d’un package ».

Quand vous publiez un package, vous bénéficiez automatiquement d’autorisations d’administrateur sur le package. Si vous publiez un package dans une organisation, toute personne ayant le rôle owner dans l’organisation obtient également des autorisations d’administrateur sur le package.

Pour les packages délimités à un compte personnel, vous pouvez attribuer un rôle d’accès à n’importe quelle personne. Pour les packages délimités à une organisation, vous pouvez attribuer un rôle d’accès à toute personne ou équipe de l’organisation.

Si vous utilisez un workflow GitHub Actions pour gérer vos images conteneur, vous pouvez accorder un rôle d’accès au dépôt dans lequel le workflow est stocké dans en utilisant le bouton Ajouter un dépôt sous « Gérer l’accès à Actions » dans les paramètres du package. Pour plus d’informations, consultez « Configuration du contrôle d’accès et de la visibilité d’un package ».

AutorisationDescription de l’accès
LirePeut télécharger le package.
Peut lire les métadonnées du package.
WritePeut charger et télécharger ce package.
Peut lire et écrire des métadonnées de package.
AdminPeut charger, télécharger, supprimer et gérer ce package.
Peut lire et écrire des métadonnées de package.
Peut accorder des autorisations sur le package.

Remarque : la capacité des workflows GitHub Actions de supprimer et de restaurer des packages à l’aide de l’API REST est actuellement en version bêta publique et susceptible d’être modifiée.

Configuration de l’accès aux packages pour votre compte personnel

Si vous disposez d’autorisations d’administrateur sur un package délimité à un compte personnel, vous pouvez attribuer des rôles de lecture, d’écriture ou d’administrateur à d’autres utilisateurs. Pour plus d’informations sur ces rôles d’autorisation, consultez « À propos de l’héritage des autorisations d’accès ».

Si votre package est privé ou interne et est délimité à une organisation, vous pouvez uniquement accorder l’accès à d’autres membres ou équipes de l’organisation.

  1. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  2. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  3. Sous « Gérer l’accès » ou « Accès hérité », cliquez sur Inviter des équipes ou des personnes et entrez le nom, le nom d’utilisateur ou l’e-mail de la personne à laquelle vous souhaitez accorder l’accès. Il n’est pas possible d’accorder aux équipes l’accès à un package délimité à un compte personnel.

  4. En regard du nom d’utilisateur ou de l’équipe, utilisez le menu déroulant Rôle pour sélectionner un niveau d’autorisation souhaité.

L’accès est automatiquement accordé aux utilisateurs sélectionnés qui n’ont pas besoin d’accepter d’abord une invitation.

Configuration de l’accès aux packages pour une organisation

Si vous disposez d’autorisations d’administrateur sur un package délimité à une organisation, vous pouvez attribuer des rôles de lecture, d’écriture ou d’administrateur à d’autres utilisateurs et équipes. Pour plus d’informations sur ces rôles d’autorisation, consultez « À propos de l’héritage des autorisations d’accès ».

Si votre package est privé ou interne et est délimité à une organisation, vous pouvez uniquement accorder l’accès à d’autres membres ou équipes de l’organisation.

  1. Sur GitHub, accédez à la page principale de votre organisation.

  2. Sous le nom de votre organisation, cliquez sur l’onglet Packages.

    Capture d’écran de la page de profil de @octo-org. L’onglet « Packages » est mis en évidence avec un encadré orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  5. Sous « Gérer l’accès » ou « Accès hérité », cliquez sur Inviter des équipes ou des personnes et entrez le nom, le nom d’utilisateur ou l’e-mail de la personne à laquelle vous souhaitez accorder l’accès. Vous pouvez également entrer un nom d’équipe de l’organisation pour donner l’accès à tous les membres d’équipe.

  6. En regard du nom d’utilisateur ou de l’équipe, utilisez le menu déroulant Rôle pour sélectionner un niveau d’autorisation souhaité.

L’accès est automatiquement accordé aux équipes ou utilisateurs sélectionnés qui n’ont pas besoin d’accepter d’abord une invitation.

Choix qu’un package hérite des autorisations d’un dépôt ou non

Par défaut, si vous publiez un package lié à un référentiel, le package hérite des autorisations d’accès du référentiel lié. Nous vous recommandons de laisser les packages hériter des autorisations d’un dépôt, car cela simplifie le processus de gestion de l’accès à un package.

Lorsqu’un package hérite des autorisations d’un dépôt, pour accorder ou supprimer l’accès à votre package, vous devez configurer les autorisations du dépôt lié.

Si vous souhaitez configurer les paramètres d’accès d’un package à un niveau granulaire, séparément du dépôt lié, vous devez supprimer les autorisations héritées du package.

Remarque : Si vous changez la façon dont un package obtient ses autorisations d’accès, toutes les autorisations existantes pour le package sont remplacées.

Sélection du paramètre d’héritage pour les packages délimités à votre compte personnel

  1. Sur GitHub, accédez à la page principale de votre compte personnel.

  2. Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Votre profil.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Votre profil » est délimité en orange foncé.

  3. Dans la page de votre profil, dans l’en-tête, cliquez sur l’onglet Packages.

  4. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  5. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  6. Pour choisir si un package hérite ou non des autorisations d’accès du dépôt lié, sous « Gérer l’accès » ou « Accès hérité », sélectionnez ou désélectionnez Hériter de l’accès d’un dépôt (recommandé) .

    Remarque : Le nom de cette section change selon que le package hérite déjà de ses autorisations d’un dépôt.

Sélection du paramètre d’héritage pour les packages délimités à une organisation

Conseil : Si vous êtes propriétaire d’une organisation, vous pouvez empêcher tous les nouveaux packages délimités à votre organisation d’hériter automatiquement des autorisations d’un dépôt lié. Pour plus d’informations, consultez « Désactivation de l’héritage automatique des autorisations d’accès dans une organisation » ci-dessous.

  1. Sur GitHub, accédez à la page principale de votre organisation.

  2. Sous le nom de votre organisation, cliquez sur l’onglet Packages.

    Capture d’écran de la page de profil de @octo-org. L’onglet « Packages » est mis en évidence avec un encadré orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  5. Pour choisir si un package hérite ou non des autorisations d’accès du dépôt lié, sous « Gérer l’accès » ou « Accès hérité », sélectionnez ou désélectionnez Hériter de l’accès d’un dépôt (recommandé) .

    Remarque : Le nom de cette section change selon que le package hérite déjà de ses autorisations d’un dépôt.

Désactivation de l’héritage automatique des autorisations d’accès dans une organisation

Par défaut, si vous publiez un package lié à un dépôt, le package hérite automatiquement des autorisations d’accès du dépôt lié. En tant que propriétaire d’organisation, vous pouvez désactiver l’héritage automatique pour tous les packages délimités à votre organisation.

Si vous désactivez l’héritage automatique des autorisations d’accès, les nouveaux packages délimités à votre organisation n’héritent pas automatiquement des autorisations d’un dépôt lié. Toutefois, toute personne disposant d’autorisations d’administrateur sur un package de votre organisation peut activer ou désactiver l’héritage des autorisations pour ce package.

  1. Dans l’angle supérieur droit de GitHub.com, sélectionnez votre photo de profil, puis sur Vos organisations.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Vos organisations » est présenté en orange foncé.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la barre latérale, dans la section « Code, planification et automatisation », cliquez sur Packages.

  4. Sous « Paramètres de package par défaut », désélectionnez Hériter de l’accès du dépôt source.

  5. Cliquez sur Enregistrer.

Garantie de l’accès du workflow à votre package

Pour garantir l’accès d’un workflow GitHub Actions à un package délimité à un compte personnel ou à une organisation, vous devez donner un accès explicite au dépôt dans lequel le workflow est stocké.

Le dépôt spécifié n’a pas besoin d’être le dépôt où le code source du package est conservé. Vous pouvez accorder à un workflow dans plusieurs dépôts l’accès à un package.

Si vous publiez un package qui est lié à un dépôt, les workflows GitHub Actions du dépôt lié obtiennent automatiquement l’accès au package, sauf si votre organisation a désactivé l’héritage automatique des autorisations d’accès. Pour plus d’informations, consultez « À propos de l’héritage des autorisations d’accès » ci-dessus.

Remarques :

  • La synchronisation de votre package avec un dépôt en utilisant le bouton Ajouter un dépôt sous « Gérer l’accès à Actions » dans les paramètres du package et la connexion de votre package à un dépôt sont deux choses différentes. Pour plus d’informations sur la liaison d’un dépôt à votre package, consultez « Connexion d’un dépôt à un package ».
  • Vous pouvez choisir de limiter les autorisations aux tâches de workflow en utilisant la clé permissions et l'étendue packages. Pour plus d’informations, consultez « Affectation d’autorisations à des travaux ».

Configurer l’accès de GitHub Actions pour les packages délimités à des comptes personnels

  1. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  2. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  3. Pour garantir l’accès de votre workflow à votre package, vous devez ajouter le dépôt où le workflow est stocké. Sous « Gérer l’accès à Actions », cliquez sur Ajouter un dépôt et recherchez le dépôt que vous souhaitez ajouter. Capture d’écran de la section « Gérer l’accès à Actions » dans la page des paramètres du package. Le bouton « Ajouter un dépôt » est mis en évidence avec un encadré orange.

  4. Utiliser le menu déroulant Rôle pour sélectionner le niveau d’accès par défaut dont vous aimeriez que votre dépôt dispose sur votre package.

Pour personnaliser davantage l’accès à votre package, consultez « Configuration de l’accès aux packages pour votre compte personnel ».

Configurer l’accès de GitHub Actions pour les packages délimités à des organisations

  1. Sur GitHub, accédez à la page principale de votre organisation.

  2. Sous le nom de votre organisation, cliquez sur l’onglet Packages.

    Capture d’écran de la page de profil de @octo-org. L’onglet « Packages » est mis en évidence avec un encadré orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  5. Sous « Gérer l’accès à Actions », cliquez sur Ajouter un dépôt et recherchez le dépôt que vous souhaitez ajouter. Capture d’écran de la section « Gérer l’accès à Actions » dans la page des paramètres du package. Le bouton « Ajouter un dépôt » est mis en évidence avec un encadré orange.

  6. Utiliser le menu déroulant Rôle pour sélectionner le niveau d’accès par défaut dont vous aimeriez que votre dépôt dispose sur votre package.

Pour personnaliser davantage l’accès à votre package, consultez « Configuration de l’accès aux packages pour une organisation ».

Garantie de l’accès des GitHub Codespaces à votre package

Par défaut, un codespace peut accéder de façon fluide à certains packages dans les registres qui prennent en charge les autorisations granulaires, notamment les packages publiés dans le même dépôt avec l’option Hériter de l’accès sélectionnée. Pour obtenir la liste des registres GitHub Packages qui prennent en charge les autorisations granulaires et l’accès fluide aux GitHub Codespaces, consultez « À propos des autorisations pour les packages GitHub ».

Sinon, pour vous assurer qu’un espace de code a accès à votre package, vous devez accorder l’accès au dépôt dans lequel l’espace de code est lancé.

Le dépôt spécifié n’a pas besoin d’être le dépôt où le code source du package est conservé. Vous pouvez accorder à des espaces de code dans plusieurs dépôts l’accès à un package.

Une fois que vous avez sélectionné le package que vous souhaitez partager avec des espaces de code dans un dépôt, vous pouvez accorder l’accès à ce dépôt.

  1. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  2. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  3. Sous « Gérer l’accès des espaces de code », cliquez sur Ajouter un dépôt.

    Capture d’écran de la section « Gérer l’accès des codespaces » dans la page des paramètres du package. Le bouton « Ajouter un dépôt » est mis en évidence avec un encadré orange.

  4. Recherchez le dépôt que vous souhaitez ajouter.

  5. Répétez cette opération pour tous les dépôts supplémentaires auxquels vous souhaitez autoriser l’accès.

  6. Si les espaces de code d’un dépôt n’ont plus besoin d’accéder à un package, vous pouvez supprimer l’accès. Cliquez sur .

    Capture d’écran de la section « Gérer l’accès des codespaces » dans la page des paramètres du package. L’icône d’une poubelle est mise en évidence avec un encadré orange.

Configuration de la visibilité des packages pour votre compte personnel

Quand vous publiez pour la première fois un package délimité à votre compte personnel, la visibilité par défaut est privée et vous seul pouvez voir le package. Vous pouvez changer l’accès d’un package privé ou public en modifiant les paramètres d’accès. Une fois que vous avez rendu votre package public, il ne peut plus redevenir privé.

  1. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  2. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  3. En bas de la page, sous « Zone de danger », cliquez sur Changer la visibilité.

  4. Sélectionnez un paramètre de visibilité :

    • Pour étendre la visibilité du package à tout le monde, sélectionnez Publique.

      Avertissement : Une fois que vous avez rendu un package public, il ne peut plus redevenir privé.

    • Pour limiter la visibilité du package à une sélection personnalisée de personnes, sélectionnez Privée.

  5. Pour confirmer, tapez le nom du package et cliquez sur Je comprends les conséquences, changer la visibilité du package.

Visibilité de la création de packages pour les membres de l’organisation

Pour les registres qui prennent en charge les autorisations granulaires, vous pouvez choisir la visibilité des packages que les membres de l’organisation peuvent publier par défaut. Pour obtenir la liste de ces registres, consultez « À propos des autorisations pour les packages GitHub ».

  1. Dans l’angle supérieur droit de GitHub.com, sélectionnez votre photo de profil, puis sur Vos organisations.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Vos organisations » est présenté en orange foncé.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Sur la gauche, cliquez sur Packages.

  4. Sous « Création de packages », choisissez si vous souhaitez activer la création de packages publics, privés ou internes.

    • Pour permettre aux membres de l’organisation de créer des packages publics, cliquez sur Public.
    • Pour permettre aux membres de l’organisation de créer des packages privés qui ne sont visibles que par d’autres membres de l’organisation, cliquez sur Privé. Vous pouvez personnaliser davantage la visibilité des packages privés.
    • Pour permettre aux membres de l’organisation de créer des packages internes visibles par tous les membres de l’organisation, cliquez sur Interne. Si l’organisation appartient à une grande entreprise, les packages sont visibles par tous les membres de l’entreprise.

Configuration de la visibilité des packages pour une organisation

Lorsque vous publiez un package pour la première fois, la visibilité par défaut est privée et vous seul pouvez voir le package. Vous pouvez accorder aux utilisateurs ou aux équipes différents rôles d’accès pour votre package par le biais des paramètres d’accès. Une fois que vous avez rendu votre package public, il ne peut plus redevenir privé.

  1. Sur GitHub, accédez à la page principale de votre organisation.

  2. Sous le nom de votre organisation, cliquez sur l’onglet Packages.

    Capture d’écran de la page de profil de @octo-org. L’onglet « Packages » est mis en évidence avec un encadré orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  5. En bas de la page, sous « Zone de danger », cliquez sur Changer la visibilité et choisissez un paramètre de visibilité :

    • Pour étendre la visibilité du package à tout le monde, cliquez sur Publique.

      Avertissement : Une fois que vous avez rendu un package public, il ne peut plus redevenir privé.

    • Pour limiter la visibilité du package à une sélection personnalisée de personnes de votre organisation, cliquez sur Privée.