Organiser les composants de code avec des dossiers
Le document suivant décrit le fonctionnement des dossiers BigQuery. Vous pouvez utiliser des dossiers pour organiser les composants de code dans une structure hiérarchique, semblable à celle utilisée par les systèmes d'exploitation. Par exemple, vous pouvez créer un dossier pour organiser les composants de code pour l'analyse des ventes, avec des sous-dossiers pour chaque exercice fiscal. Vous pouvez également utiliser des dossiers pour gérer l'accès aux composants de code. Les dossiers offrent l'héritage des stratégies Identity and Access Management (IAM), que vous pouvez utiliser pour contrôler plus efficacement l'accès aux composants de code. L'héritage des règles permet aux sous-dossiers et aux fichiers d'hériter des autorisations de leur dossier parent.
Les dossiers BigQuery sont fournis par Dataform.
Pour en savoir plus sur l'utilisation des dossiers dans BigQuery, consultez Créer et gérer des dossiers.
Organiser les composants de code avec des dossiers
Vous pouvez accéder à vos composants de code et les organiser à l'aide de dossiers dans le volet Fichiers de BigQuery Studio :
Un dossier est le conteneur de base pour organiser les composants de code, comme un dossier de système de fichiers standard. Vous pouvez créer et organiser des sous-dossiers dans un dossier parent, et déplacer des composants de code dans des dossiers et hors de ceux-ci. Lorsque vous accordez des autorisations sur un dossier, elles sont propagées à tous les dossiers et fichiers qu'il contient.
Vous ne pouvez utiliser des dossiers que pour organiser les composants de code à fichier unique, tels que les notebooks, les requêtes enregistrées, les canevas de données et les fichiers de préparation des données.
Types de dossiers
BigQuery accepte les types de dossiers suivants :
Dossiers utilisateur : chaque utilisateur dispose d'un dossier racine personnel, affiché sous la forme Utilisateur (adresse e-mail de l'utilisateur). Votre dossier utilisateur contient tous les composants de code que vous créez dans le projet et l'emplacement donnés. Vous pouvez créer des sous-dossiers dans votre dossier utilisateur pour organiser ces éléments de code. Les fichiers et dossiers de votre dossier utilisateur ne sont accessibles qu'à vous, sauf si vous choisissez de les partager avec d'autres utilisateurs.
Dossiers d'équipe : ils sont conçus pour la collaboration en équipe, comme les Drive partagés dans Google Drive. Vous pouvez utiliser des dossiers d'équipe pour organiser les composants de code appartenant à une équipe spécifique. Seuls les utilisateurs disposant des autorisations de propriétaire sur le dossier racine de l'équipe peuvent accorder des autorisations permettant à d'autres utilisateurs d'utiliser le dossier de l'équipe.
Régions de code de dossier
Vous pouvez avoir des dossiers et des composants de code dans différentes régions de code. Par exemple, vous pouvez avoir folderA et les éléments de code qu'il contient dans la région us-west1, et folderB et les éléments de code qu'il contient dans la région us-central1. La région que vous consultez s'affiche dans le volet Fichiers :
Héritage des stratégies IAM
L'accès IAM aux ressources de fichiers et de dossiers utilise une structure hiérarchique. Cette hiérarchie garantit que les règles d'accès sont héritées des dossiers parents vers leur contenu.
Lorsqu'une stratégie IAM est définie sur un dossier, les autorisations accordées par cette stratégie s'appliquent également à tous les fichiers et sous-dossiers imbriqués de l'arborescence du dossier. En conséquence :
- Les autorisations sont héritées dans la hiérarchie des dossiers. Lorsqu'un utilisateur se voit attribuer un rôle spécifique sur un dossier de premier niveau, il dispose des autorisations incluses dans ce rôle pour toutes les ressources contenues dans ce dossier et ses sous-dossiers.
- Les autorisations dont dispose un utilisateur sur une ressource sont constituées des stratégies définies directement sur cette ressource et de toutes les stratégies héritées de chaque dossier de son chemin d'accès jusqu'à la racine.
Par conséquent, vous n'avez pas besoin d'autorisations au niveau du projet pour effectuer des actions sur des ressources situées en profondeur dans une structure de dossiers. Vous n'avez besoin que de l'autorisation appropriée sur n'importe quel dossier du chemin d'accès à cette ressource. Par exemple, si vous souhaitez créer un fichier dans un sous-dossier, vous devez disposer des autorisations nécessaires sur le sous-dossier spécifique ou sur l'un de ses dossiers parents, y compris le dossier racine.
Voici les bonnes pratiques à suivre pour appliquer des stratégies IAM aux fichiers et aux dossiers :
- Appliquez les stratégies IAM au dossier le plus élevé de la hiérarchie où les autorisations sont nécessaires de manière uniforme. Par exemple, si une équipe a besoin d'accéder à toutes les données du répertoire de son équipe, accordez les rôles nécessaires au niveau du dossier de l'équipe plutôt qu'au niveau des sous-dossiers de projet individuels.
- Accordez toujours le nombre minimal d'autorisations requises pour que les utilisateurs ou les services puissent effectuer leurs tâches. Évitez d'attribuer des rôles généraux lorsque vous pouvez utiliser des rôles et des autorisations plus spécifiques au niveau des dossiers.
Rôles IAM accordés lors de la création de ressources
Lorsque vous créez un dossier, les rôles suivants sont attribués automatiquement :
- Les utilisateurs qui créent des dossiers dans leur nœud racine utilisateur reçoivent automatiquement le rôle Administrateur Dataform (
roles/dataform.admin) pour ces dossiers. - Le créateur d'un dossier d'équipe racine reçoit automatiquement le rôle Administrateur Dataform (
roles/dataform.admin) sur ce dossier d'équipe.
Vous ne recevez automatiquement aucun rôle lorsque vous créez des fichiers ou des dossiers dans l'arborescence d'un dossier d'équipe.
Ressources occupées
Un dossier utilisateur ou un dossier d'équipe est "occupé" s'il est activement impliqué dans une opération de déplacement, soit en tant qu'objet déplacé, soit en tant que destination du déplacement. Pour garantir l'intégrité des données pendant la migration, le système empêche les ressources occupées d'effectuer les actions suivantes :
- Être l'objet d'une autre opération de déplacement.
- Être la destination d'une autre opération de transfert.
- Être un ancêtre d'un objet Move.
- Être l'objet d'une opération de suppression.
Limites
Les dossiers BigQuery sont soumis aux limites suivantes :
- Vous ne pouvez imbriquer des dossiers que sur cinq niveaux.
- Si vous avez un très grand nombre de dossiers (des centaines de milliers), les performances seront ralenties lorsque vous travaillerez avec des dossiers. Par exemple, lors du chargement de l'explorateur de fichiers ou du développement d'un dossier.
- Vous ne pouvez pas déplacer un dossier qui contient plus de 100 fichiers ou dossiers.
Emplacements
Les dossiers BigQuery sont compatibles avec tous les emplacements Dataform.
Étapes suivantes
- Créer et gérer des dossiers
- Créer des notebooks
- Créer des requêtes enregistrées
- Créer des canevas de données
- Créer des préparations de données