Partage et collaboration

Ce document présente des scénarios courants de partage de données et de collaboration. Il explique comment les mettre en œuvre en configurant des stratégies de gestion de l'authentification et des accès (IAM) pour les projets et les buckets, ainsi que des listes de contrôle d'accès (LCA) pour les objets.

Stocker et gérer des données privées

Dans ce scénario, l'analyste marketing d'une entreprise souhaite utiliser Cloud Storage pour sauvegarder des projections de ventes et des prévisions de revenus confidentielles. Il doit être le seul à pouvoir accéder aux données. Le département informatique surveille et gère le compte Cloud Storage de l'entreprise. Ses principales responsabilités en matière de gestion consistent, entre autres, à créer et à partager des buckets de sorte que divers départements de l'entreprise aient accès à Cloud Storage.

Pour répondre aux besoins de l'analyste marketing en matière de confidentialité, les autorisations relatives aux buckets et aux objets doivent permettre au personnel informatique de gérer le bucket dans lequel les feuilles de calcul sont stockées, mais aussi empêcher ce personnel d'afficher et de télécharger les données stockées dans le bucket. Il convient donc de créer un bucket nommé finance-marketing et d'accorder les rôles ci-dessous aux membres spécifiés pour les ressources répertoriées :

Rôle Ressource Membre Description
roles/storage.legacyBucketOwner Bucket finance-marketing Personnel informatique L'attribution du rôle roles/storage.legacyBucketOwner au personnel informatique lui permet d'exécuter des tâches de gestion courantes sur le bucket (telles que la suppression d'objets et la modification de la stratégie IAM appliquée). Ce rôle lui permet également de répertorier le contenu du bucket finance-marketing, mais pas de l'afficher ni de le télécharger.
roles/storage.objectCreator Bucket finance-marketing Analyste marketing L'attribution du rôle roles/storage.objectCreator à l'analyste marketing lui permet d'importer des objets dans le bucket. L'analyste devient propriétaire de l'objet importé, et peut ensuite l'afficher, le mettre à jour et le supprimer.

Avec ces rôles, personne, à l'exception de l'analyste marketing, ne peut ni afficher, ni télécharger les objets qu'il ajoute au bucket. Toutefois, l'analyste a la possibilité d'accorder l'accès aux autres utilisateurs en modifiant les LCA d'objet. Le personnel informatique peut quand même répertorier le contenu du bucket finance-marketing, de même que supprimer et écraser les fichiers stockés dedans, le cas échéant.

Mettre en œuvre ce scénario

Vos actions

Pour mettre en œuvre ce scénario, exécutez les actions suivantes :

  1. Créer un bucket nommé finance-marketing. Pour obtenir des instructions détaillées, consultez la page Créer des buckets de stockage.

  2. Attribuer à chaque membre du personnel informatique le rôle roles/storage.legacyBucketOwner pour le bucket. Pour obtenir des instructions détaillées, consultez la section Ajouter un membre à une stratégie au niveau du bucket.

Actions du personnel informatique

Pour mettre en œuvre ce scénario, le personnel informatique doit exécuter l'action suivante :

  1. Attribuer à l'analyste marketing le rôle roles/storage.objectCreator pour le bucket. Pour obtenir des instructions détaillées, consultez la section Ajouter un membre à une stratégie au niveau du bucket.

Boîte de dépôt du fournisseur

Dans ce scénario, une entreprise de construction collabore avec plusieurs cabinets d'architecture qui fournissent des plans de construction pour divers projets. Elle souhaite mettre en place une boîte de dépôt pour les fournisseurs afin qu'ils puissent importer des plans architecturaux à différentes étapes du projet. Cette boîte doit garantir la confidentialité des clients de l'entreprise de construction, de sorte que chaque fournisseur ne puisse pas consulter le travail des autres. Il convient donc de créer un bucket distinct pour chaque cabinet d'architecture et d'accorder les rôles ci-dessous aux membres spécifiés pour les ressources répertoriées :

Rôle Ressource Membre Description
roles/owner Projet global Responsable de l'entreprise de construction L'attribution au responsable de l'entreprise de construction du rôle roles/owner au niveau du projet lui permet de créer des buckets pour chaque fournisseur.
roles/storage.objectViewer Projet global Responsable de l'entreprise de construction Le rôle roles/storage.objectViewer permet au responsable de l'entreprise de construction de télécharger les objets importés par les fournisseurs.
roles/storage.legacyBucketOwner Chaque bucket de fournisseur Responsable de l'entreprise de construction Le rôle roles/storage.legacyBucketOwner permet au responsable de l'entreprise de construction de répertorier le contenu de chaque bucket et de supprimer des objets à la fin de chaque étape du projet.
roles/storage.objectAdmin Chaque bucket de fournisseur Fournisseur associé au bucket L'attribution à chaque fournisseur du rôle roles/storage.objectAdmin lui permet de contrôler totalement les objets de son propre bucket. Le fournisseur peut ainsi importer des objets, répertorier ceux qui sont présents dans le bucket et contrôler qui a accès à chaque objet. En revanche, il lui est impossible de modifier ou d'afficher les métadonnées (telles que les rôles s'appliquant à l'ensemble du bucket), de même que de répertorier ou d'afficher les autres buckets du projet, ce qui préserve la confidentialité entre fournisseurs.

Mettre en œuvre ce scénario

Vos actions

Pour mettre en œuvre ce scénario, exécutez l'action suivante :

  1. Attribuer au responsable de l'entreprise de construction les rôles roles/owner et roles/storage.objectViewer pour le projet. Pour obtenir des instructions détaillées, consultez la section Ajouter un membre à une stratégie au niveau du projet.

Actions du responsable de l'entreprise de construction

Pour mettre en œuvre ce scénario, le responsable de l'entreprise de construction doit exécuter les actions suivantes :

  1. Créer un bucket distinct pour chaque fournisseur. Pour obtenir des instructions détaillées, consultez la page Créer des buckets de stockage.

    Comme le responsable de l'entreprise de construction dispose du rôle roles/owner, il obtient automatiquement le rôle roles/storage.legacyBucketOwner pour chaque bucket qu'il crée.

  2. Attribuer à chaque fournisseur le rôle roles/storage.objectAdmin pour son bucket. Pour obtenir des instructions détaillées, consultez la section Ajouter un membre à une stratégie au niveau du bucket.

  3. Si un fournisseur a l'intention d'utiliser la console Google Cloud Platform, lui fournir un lien vers son bucket qui respecte le format suivant :

    console.cloud.google.com/storage/browser/[BUCKET_NAME]

    où [BUCKET_NAME] est le nom du bucket du fournisseur.

Actions des fournisseurs

Pour mettre en œuvre ce scénario, chaque fournisseur doit exécuter les actions suivantes :

  1. Importer des objets dans le bucket attribué. Pour ce faire, la solution la plus simple consiste à utiliser la console Google Cloud Platform. D'autres méthodes, telles que l'outil de ligne de commande gsutil, nécessitent une configuration supplémentaire préalable à l'utilisation. Pour obtenir des instructions détaillées, consultez la page Importer des objets.

Téléchargements de navigateurs authentifiés

Dans ce scénario, un client souhaite mettre des fichiers particuliers à la disposition de personnes spécifiques au moyen de simples téléchargements via un navigateur. Pour ce faire, vous pouvez utiliser la fonctionnalité d'authentification basée sur les cookies de Cloud Storage. Pour employer cette fonctionnalité, vous devez autoriser un utilisateur à accéder à un objet, puis lui attribuer une URL spéciale pointant vers cet objet. Lorsque l'utilisateur clique sur l'URL, Cloud Storage l'invite à se connecter à son compte Google (s'il ne l'a pas déjà fait). L'objet est ensuite téléchargé sur son ordinateur. Les utilisateurs suivants peuvent télécharger l'objet :

Tous les autres utilisateurs reçoivent une erreur 403 Forbidden (access denied).

Mettre en œuvre ce scénario

Vous pouvez mettre en œuvre l'authentification basée sur les cookies par le biais de quatre étapes générales.

  1. Créer un bucket. Pour obtenir des instructions détaillées, consultez la page Créer des buckets de stockage.

    Si vous créez un bucket dans un projet qui vous appartient, vous obtenez automatiquement les autorisations vous permettant d'importer des objets dedans et de redéfinir les personnes qui y ont accès.

  2. Importer l'objet que vous souhaitez partager. Pour obtenir des instructions détaillées, consultez la page Importer des objets.

    Lorsque vous importez un objet, vous en devenez le propriétaire, ce qui signifie que vous pouvez modifier ses LCA.

  3. Autoriser les utilisateurs à accéder à l'objet. Pour effectuer cette opération, procédez de l'une des manières suivantes :

    1. Modifiez la stratégie IAM du bucket pour attribuer à chaque utilisateur de votre choix le rôle roles/storage.objectViewer, qui s'applique à tous les objets du bucket. Pour obtenir des instructions détaillées, consultez la section Ajouter un membre à une stratégie au niveau du bucket.

    2. Modifiez les LCA de l'objet pour attribuer à chaque utilisateur de votre choix l'autorisation READ sur l'objet concerné. Pour obtenir des instructions détaillées, consultez la section Configurer des listes de contrôle d'accès.

  4. Fournir aux utilisateurs une URL spéciale qui pointe vers l'objet.

    Les téléchargements de navigateurs authentifiés accèdent à Cloud Storage par le biais d'un point de terminaison d'URL spécifique. Utilisez l'URL suivante en remplaçant les valeurs entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    https://storage.cloud.google.com/[BUCKET_NAME]/[OBJECT_NAME]

    Étant donné que seuls les utilisateurs disposant des autorisations LCA ou IAM appropriées peuvent afficher cette URL, la manière dont vous la rendez disponible importe peu. Vous pouvez l'envoyer aux utilisateurs directement ou la publier sur une page Web.

Utiliser un groupe pour le contrôle des accès

Dans ce scénario, vous souhaitez rendre des objets disponibles pour des utilisateurs spécifiques (par exemple, des utilisateurs invités à tester un nouveau logiciel). En outre, vous voulez inviter de nombreux utilisateurs, sans définir d'autorisation pour chacun d'eux. Par ailleurs, les objets ne doivent pas être lisibles publiquement. Vous ne souhaitez pas non plus envoyer de liens aux clients invités pour qu'ils accèdent aux objets, car ces liens risquent d'être transmis à des utilisateurs non invités.

Une manière de gérer ce scénario consiste à utiliser Google Groupes. Vous pouvez créer un groupe et n'ajouter à ce dernier que les utilisateurs invités. Ensuite, vous autoriserez l'ensemble du groupe à accéder aux objets :

Rôle Ressource Membre Description
roles/storage.objectViewer Votre bucket "en liste blanche" Groupe Google L'attribution au groupe Google du rôle roles/storage.objectViewer permet à tout client faisant partie du groupe d'afficher les objets du bucket. Les utilisateurs n'appartenant pas au groupe n'ont pas accès aux objets.

Mettre en œuvre ce scénario

  1. Créez un groupe Google, puis ajoutez-lui des clients. Pour obtenir des instructions détaillées, consultez la page Créer un groupe et choisir ses paramètres.

  2. Créez un bucket. Pour obtenir des instructions détaillées, consultez la page Créer des buckets de stockage.

  3. Importez des objets dans le bucket. Pour obtenir des instructions détaillées, consultez la page Importer des objets.

  4. Autorisez le groupe Google à accéder aux objets.

    • Vous pouvez utiliser le rôle IAM storage.objectViewer pour accorder un accès en lecture à tous les objets de votre bucket. Pour obtenir des instructions détaillées, consultez la section Ajouter un membre à une stratégie au niveau du bucket.

    • Si vous souhaitez n'autoriser l'accès qu'à certains objets du bucket, définissez la LCA de lecture pour ces objets spécifiques. Pour obtenir des instructions détaillées, consultez la section Configurer des listes de contrôle d'accès.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.