Cette page explique comment créer des dossiers Google Cloud pour regrouper et organiser les projets dans une hiérarchie de ressources. Vous pouvez utiliser des dossiers pour déléguer des tâches administratives, appliquer des règles d'administration spécifiques à l'environnement et simplifier la gestion des coûts dans vos services.
Les dossiers sont des nœuds dans la hiérarchie des ressources Cloud Platform. Un dossier peut contenir des projets, d'autres dossiers ou une combinaison des deux. Les ressources d'organisation peuvent utiliser des dossiers pour regrouper des projets sous le nœud de ressource d'organisation dans une hiérarchie. Par exemple, votre ressource d'organisation peut contenir plusieurs services, chacun possédant son propre ensemble de ressources Google Cloud . Les dossiers vous permettent de regrouper ces ressources par service. Ils sont utilisés pour regrouper les ressources partageant des règles d'autorisation ou de refus communes. Alors qu'un dossier peut contenir plusieurs dossiers ou ressources, une ressource ou un dossier donnés ne peuvent posséder qu'un seul parent.
Dans le diagramme suivant, la ressource d'organisation "Company" (Entreprise) comporte des dossiers représentant "Standard Workloads" (Charges de travail standards), "Regulated Workloads" (Charges de travail réglementées) et "Shared infrastructure" (Infrastructure partagée). Sous "Charges de travail réglementées", les dossiers sont organisés par environnement : "Environnement hors production" et "Environnement de production". Le dossier "Environnement de production" est lui-même organisé en dossiers "Accessible aux clients (restreint)" et "Usage interne uniquement (standard)" pour appliquer des contrôles d'accès axés sur les règles. Les projets tels que "Projet de test", "Projet de développement" et "Projet de production" contiennent les ressources nécessaires au projet. Cela offre davantage de flexibilité et de précision pour l'attribution de stratégies d'autorisation, de refus ou d'organisation.
Vous pouvez définir des stratégies d'autorisation et de refus au niveau d'un dossier pour contrôler l'accès aux ressources qu'il contient. Par exemple, si un utilisateur se voit attribuer le rôle Administrateur d'instances Compute sur un dossier, il bénéficie de ce rôle pour tous les projets du dossier.
Avant de commencer
La fonction "Dossier" n'est disponible que pour les clients Google Workspace et Cloud Identity disposant d'une ressource "Organisation". Pour en savoir plus sur l'acquisition d'une ressource Organisation, consultez Obtenir une ressource Organisation.
Si vous essayez d'optimiser l'utilisation des dossiers, nous vous recommandons ce qui suit :
- Consultez la rubrique Contrôle des accès aux dossiers avec IAM. Elle explique comment contrôler qui a accès aux dossiers et aux ressources qu'ils contiennent.
- Découvrez comment définir les autorisations associées à un dossier. Les dossiers sont compatibles avec de nombreux rôles Identity and Access Management (IAM) différents. Si vous souhaitez configurer des autorisations générales afin que les utilisateurs puissent consulter la structure de leurs projets, attribuez à l'intégralité du domaine les rôles Lecteur d'organisation et Lecteur de dossier au niveau de la ressource d'organisation. Pour restreindre la visibilité aux branches de votre arborescence de dossiers, attribuez le rôle Lecteur de dossier au niveau du ou des dossiers dont vous souhaitez autoriser la consultation par les utilisateurs.
- Créez des dossiers. Lorsque vous planifiez l'organisation des ressources cloud, commencez avec un seul dossier faisant office de bac à sable, dans lequel vous pouvez tester l'arborescence la plus adaptée à votre ressource Organisation. Considérez les dossiers comme des limites permettant d'isoler les ressources et comme des points de liaison entre les règles d'accès et de configuration. Vous pouvez choisir de créer des dossiers pour contenir des ressources appartenant à différents services et attribuer des rôles d'administrateur relatifs à ces dossiers pour déléguer les droits. Les dossiers peuvent également servir à regrouper des ressources appartenant à des applications ou à des environnements différents, par exemple ceux de développement, de production ou de test. Adaptez-vous à ces différents cas d'utilisation en utilisant des dossiers imbriqués.
Un cas d'utilisation courant consiste à créer des dossiers qui contiennent à leur tour d'autres dossiers ou projets, comme indiqué dans la hiérarchie des ressources ci-dessus. Cette structure est appelée arborescence de dossiers. Lorsque vous créez une hiérarchie de dossiers, gardez à l'esprit les points suivants :
- Vous pouvez imbriquer jusqu'à 10 (dix) dossiers.
- Un dossier parent ne peut pas contenir plus de 300 dossiers. Ce principe s'applique uniquement aux dossiers enfants directs. Ces dossiers enfants peuvent, à leur tour, contenir d'autres dossiers ou projets.
- Les noms d'affichage des dossiers doivent être uniques au sein du même niveau d'arborescence.
Configurer des autorisations pour gérer les dossiers
Pour accéder aux dossiers et les gérer, vous devez attribuer des rôles IAM spécifiques aux dossiers à des groupes d'utilisateurs donnés. Pour en savoir plus sur ces rôles, consultez la section Contrôler l'accès aux dossiers à l'aide d'une stratégie IAM. Nous vous recommandons également de consulter nos bonnes pratiques pour vous aider à déterminer la configuration optimale des autorisations.
Pour gérer des dossiers pour l'ensemble de votre ressource d'organisation, vous devez disposer du rôle Administrateur de dossier. Ce rôle permet à l'utilisateur de créer, modifier, supprimer, déplacer et changer les autorisations IAM sur les dossiers, ainsi que de déplacer des projets entre les dossiers.
Par défaut, seul l'administrateur de l'organisation peut attribuer le rôle d'administrateur de dossier à la ressource de l'organisation. Les comptes auxquels ce rôle est attribué peuvent ensuite l'affecter à d'autres comptes.
Pour configurer les autorisations associées à un dossier, procédez comme suit :
Console
- Dans la console Google Cloud , ouvrez la page Gérer les ressources.
- Si le panneau d'informations n'est pas ouvert, cliquez sur Afficher le panneau d'informations.
- Dans le tableau Ressources, développez l'organisation contenant le dossier.
- Dans la liste des ressources de l'organisation, sélectionnez le dossier que vous souhaitez gérer.
- Dans le panneau d'informations, cliquez sur Ajouter un compte principal.
- Dans le champ Ajouter des comptes principaux, saisissez l'adresse e-mail à laquelle vous souhaitez accorder des autorisations.
- Dans le menu Sélectionner un rôle, sélectionnez la catégorie Resource Manager, puis le rôle que vous souhaitez attribuer, tel que Administrateur de dossiers.
- Cliquez sur Enregistrer pour attribuer le nouveau rôle.
gcloud
Pour attribuer le rôle Administrateur de dossier à un compte principal à l'aide de Google Cloud CLI, exécutez la commande suivante :
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
--member=user:USER_ID \
--role=roles/resourcemanager.folderAdmin
REST
Requête JSON :
request_json= '{ policy: { version: "1", bindings: [ { role: "roles/folderAdmin",
members: [ "user:admin@myorganization.com", ] }, { role: "roles/folderCreator",
members: [ "user:admin@myorganization.com", ] } , { role: "roles/folderMover",
members: [ "user:admin@myorganization.com", ] } , ] } }'
Requête curl :
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/ORGANIZATION_NAME:setIamPolicy
Remplacez ORGANIZATION_NAME par le nom de l'organisation pour laquelle la règle d'autorisation est définie, par exemple organizations/123.
Créer des dossiers
Pour créer des dossiers, vous devez bénéficier du rôle Administrateur de dossier ou Créateur de dossier au niveau du dossier parent. Par exemple, pour créer des dossiers au niveau de l'organisation, vous devez bénéficier de l'un de ces rôles au niveau de l'organisation.
Lorsque vous créez un dossier, vous devez lui attribuer un nom. Les noms de dossier doivent répondre aux exigences suivantes :
- Le nom peut contenir des lettres, des chiffres, des espaces, des traits d'union et des traits de soulignement.
- Le nom à afficher du dossier doit commencer et se terminer par une lettre ou un chiffre.
- Le nom doit contenir entre 3 et 30 caractères.
- Le nom ne doit pas être le même que celui d'un autre dossier possédant le même parent.
Pour créer un dossier, procédez comme suit :
Console
Vous pouvez créer des dossiers sur la page "Gérer les projets et les dossiers" de l'interface utilisateur.
Accédez à la page Gérer les ressources dans la console Google Cloud :
Assurez-vous que le nom de votre ressource Organisation est sélectionné dans la liste déroulante de l'organisation en haut de la page.
Cliquez sur Créer un dossier, puis sélectionnez l'une des options suivantes :
- Dossier standard : ressource de dossier standard.
- Dossier conforme : dossier Assured Workloads qui fournit des contrôles réglementaires, régionaux ou de souveraineté supplémentaires pour les ressources Google Cloud . Si vous sélectionnez cette option, vous serez redirigé vers Assured Workloads pour créer un dossier.
Dans le champ Nom du dossier, saisissez le nom de votre nouveau dossier.
Sous Destination, cliquez sur Parcourir, puis sélectionnez la ressource ou le dossier de l'organisation sous lequel vous souhaitez créer votre dossier.
- Cliquez sur Créer.
gcloud
Les dossiers peuvent être créés de façon programmatique à l'aide de la Google Cloud CLI.
Pour créer un dossier sous la ressource Organisation à l'aide de l'outil de ligne de commande gcloud, exécutez la commande suivante :
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--organization=ORGANIZATION_ID
Pour créer un dossier ayant pour parent un autre dossier, procédez comme suit :
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--folder=FOLDER_ID
Remplacez les éléments suivants :
- DISPLAY_NAME : nom à afficher du dossier. Deux dossiers possédant le même parent ne peuvent pas porter le même nom à afficher. Le nom à afficher doit commencer et se terminer par une lettre ou un chiffre. Il peut contenir des lettres, des chiffres, des espaces, des traits d'union et des traits de soulignement. Il ne peut pas dépasser 30 caractères.
- ORGANIZATION_ID : ID de la ressource de l'organisation parente si le parent est une ressource d'organisation.
- FOLDER_ID : ID du dossier parent, si le parent est un dossier.
API
Les dossiers peuvent être créés avec une requête API.
Requête JSON :
request_json= '{
display_name: DISPLAY_NAME,
parent: ORGANIZATION_NAME
}'
Requête curl pour créer un dossier :
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders
Où :
- DISPLAY_NAME : nom à afficher pour le nouveau dossier, par exemple "Mon dossier préféré".
- ORGANIZATION_NAME : nom de la ressource d'organisation sous laquelle vous créez le dossier, par exemple
organizations/123.
Réponse pour la création du dossier :
Si un appel enregistre une opération, le corps de la réponse contient une instance d'opération.
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
}
}
Requête curl pour l'opération Get :
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789
Réponse pour l'opération Get :
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",