doc-locale/fr-fr/security/user_file_uploads.md
{{< details >}}
{{< /details >}}
Les utilisateurs peuvent téléverser des fichiers vers :
GitLab génère des URL directes pour ces fichiers téléversés avec un identifiant aléatoire de 32 caractères afin d'empêcher les utilisateurs non autorisés de deviner les URL. Cette randomisation offre une certaine sécurité pour les fichiers contenant des informations sensibles.
Les fichiers téléversés par les utilisateurs vers les tickets GitLab, les merge requests et les epics contiennent /uploads/<32-character-id> dans le chemin de l'URL.
[!warning] Soyez prudent lorsque vous téléchargez des fichiers provenant de sources inconnues ou non fiables, en particulier si le fichier est un exécutable ou un script.
L'accès aux fichiers non-image téléversés vers :
Pour les projets ou groupes publics, tout le monde peut accéder à ces fichiers via l'URL de pièce jointe directe, même si le ticket, la merge request ou l'epic est confidentiel. Pour les projets privés et internes, GitLab garantit que seuls les membres authentifiés du projet peuvent accéder aux fichiers téléversés non-image, tels que les PDF. Par défaut, les fichiers image ne font pas l'objet de la même restriction, et tout le monde peut les afficher à l'aide de l'URL. Pour protéger les fichiers image, activez les vérifications d'autorisation pour tous les fichiers multimédias, afin qu'ils ne soient visibles que par les utilisateurs authentifiés.
Les vérifications d'authentification pour les images peuvent entraîner des problèmes d'affichage dans le corps des e-mails de notification. Les e-mails sont fréquemment lus depuis des clients (tels qu'Outlook, Apple Mail ou votre appareil mobile) qui ne sont pas authentifiés auprès de GitLab. Les images dans les e-mails apparaissent cassées et indisponibles si le client n'est pas autorisé à accéder à GitLab.
Seuls les membres authentifiés du projet peuvent afficher les pièces jointes non-image (y compris les PDF) dans les projets privés et internes.
Pour appliquer les exigences d'authentification aux fichiers image dans les projets privés ou internes :
Prérequis :
Pour configurer les paramètres d'authentification pour tous les fichiers multimédias :
[!note] Vous ne pouvez pas sélectionner cette option pour les projets publics.
{{< history >}}
{{< /history >}}
Vous devez supprimer un fichier téléversé lorsque ce fichier contient des informations sensibles ou confidentielles. Une fois le fichier supprimé, les utilisateurs ne peuvent plus y accéder et l'URL directe renvoie une erreur 404.
Les propriétaires et les mainteneurs de projet peuvent utiliser l'explorateur GraphQL interactif pour accéder à un endpoint GraphQL et supprimer un fichier téléversé.
Par exemple :
mutation{
uploadDelete(input: { projectPath: "<path/to/project>", secret: "<32-character-id>" , filename: "<filename>" }) {
upload {
id
size
path
}
errors
}
}
Les membres du projet qui ne disposent pas du rôle Mainteneur ou Propriétaire ne peuvent pas accéder à cet endpoint GraphQL.
Vous pouvez également utiliser l'API REST pour les projets ou les groupes afin de supprimer un fichier téléversé.