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 Identity and Access Management (IAM) pour les projets et les buckets, ainsi que des Listes de contrôle d'accès (LCA) pour les objets.

Stockage et maintenance de 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 entités principales spécifiées pour les ressources répertoriées :

Rôle Ressource Principal Description
Propriétaire des anciens buckets Storage Bucket finance-marketing Personnel informatique L'attribution du rôle Propriétaire des anciens buckets Storage 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). Elle permet également à l'équipe informatique de répertorier le contenu du bucket finance-marketing, mais pas de le consulter ni de le télécharger.
Créateur d'objets Storage Bucket finance-marketing Analyste marketing L'attribution du rôle Créateur d'objets Storage à 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 de l'objet. L'équipe informatique peut toujours répertorier le contenu du bucket finance-marketing, ainsi que supprimer et remplacer les fichiers stockés dans le bucket en cas de besoin.

Implémenter ce scénario

Vos actions

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

  1. Créez un bucket nommé finance-marketing. Pour obtenir des instructions détaillées, consultez la page sur la création de buckets.

  2. Attribuez à chaque membre du personnel informatique le rôle Propriétaire des anciens buckets Storage. Pour obtenir des instructions détaillées, consultez la section Ajouter une entité principale à 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. Attribuez à l'analyste marketing le Créateur d'objets Storage pour le bucket. Pour obtenir des instructions détaillées, consultez la section Ajouter une entité principale à 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 entités principales spécifiées pour les ressources répertoriées :

Rôle Ressource Principal Description
Propriétaire Projet global Responsable de l'entreprise de construction L'attribution au responsable de l'entreprise de construction du rôle Propriétaire au niveau du projet lui permet de créer des buckets pour chaque fournisseur.
Lecteur des objets Storage Projet global Responsable de l'entreprise de construction Le rôle Lecteur des objets Storage permet au responsable de l'entreprise de construction de télécharger les objets importés par les fournisseurs.
Propriétaire des anciens buckets Storage Bucket de chaque fournisseur Responsable de l'entreprise de construction Le rôle Propriétaire des anciens buckets Storage 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.
Administrateur des objets Storage Bucket de chaque fournisseur Fournisseur associé au bucket L'attribution à chaque fournisseur du rôle Administrateur des objets Storage pour son propre bucket lui donne le contrôle total sur les objets qu'il contient, y compris la possibilité d'importer des objets, de répertorier des objets dans le bucket et de 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.

Implémenter ce scénario

Vos actions

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

  1. Attribuez au responsable de l'entreprise de construction les rôles Propriétaire et Lecteur des objets Storage sur le projet. Pour obtenir des instructions détaillées, consultez la page Attribuer un rôle unique.

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 Propriétaire, il obtient automatiquement le rôle Propriétaire des anciens buckets Storage pour chaque bucket qu'il crée.

  2. Attribuez à chaque fournisseur le rôle Administrateur des objets Storage pour son bucket. Pour obtenir des instructions détaillées, consultez la section Ajouter une entité principale à une stratégie au niveau du bucket.

  3. Si un fournisseur a l'intention d'utiliser Google Cloud Console, donnez-lui un lien vers son bucket, au format suivant :

    https://console.cloud.google.com/storage/browser/BUCKET_NAME

    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é. La méthode la plus simple consiste à utiliser la console Google Cloud. D'autres méthodes, telles que Google Cloud CLI, 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 mettre en œuvre l'authentification basée sur les cookies de Cloud Storage. Pour télécharger des objets, les utilisateurs doivent s'authentifier en se connectant à un compte valide, qui inclut Google Workspace, Cloud Identity, Gmail et la fédération des identités des employés. Les utilisateurs authentifiés suivants peuvent télécharger l'objet :

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

Pour employer cette fonctionnalité, accordez une autorisation d'accès à un objet à un utilisateur, puis attribuez-lui 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.

Implémenter 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éez un bucket Pour obtenir des instructions détaillées, consultez la page Créer un bucket.

    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 Lecteur des objets Storage, qui s'applique à tous les objets du bucket. Pour obtenir des instructions détaillées, consultez la section Ajouter une entité principale à 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. Fournissez 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 :

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

    Où :

    • BUCKET_NAME correspond au nom du bucket contenant l'objet souhaité. Exemple :my-bucket
    • OBJECT_NAME correspond au nom de l'objet souhaité. Exemple :pets/dog.png

    É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 contrôler les 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'y ajouter que les utilisateurs invités. Ensuite, vous autoriserez l'ensemble du groupe à accéder aux objets :

Rôle Ressource Principal Description
Lecteur des objets Storage Votre bucket Groupe Google L'attribution au groupe Google du rôle Lecteur des objets Storage pour le bucket permet à n'importe quel client faisant partie du groupe Google d'afficher des objets dans le bucket. Les utilisateurs n'appartenant pas au groupe n'ont pas accès aux objets.

Implémenter 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.

  5. Partagez le point de terminaison de requête approprié avec le groupe afin qu'il sache où accéder aux objets.

    Par exemple, lorsque vous utilisez la console Google Cloud, l'URL https://console.cloud.google.com/storage/browser/BUCKET_NAME vous redirige vers la liste des objets du bucket BUCKET_NAME.

Contrôler les accès à l'aide des dossiers gérés

Dans ce scénario, plusieurs clients possèdent chacun un site Web unique contenant des images personnalisées. Vous souhaitez que les clients puissent importer des images sur leur site Web uniquement, mais pas sur d'autres sites Web. Lorsqu'un client annule son compte, vous souhaitez désactiver l'accès public aux images de son site Web, mais éviter de supprimer les images au cas où le client voudrait réactiver son compte.

Une manière de gérer ce scénario consiste à utiliser des dossiers gérés. Vous pouvez créer plusieurs dossiers gérés dans un bucket et utiliser IAM afin de contrôler l'accès à des dossiers gérés individuels pour vos clients et leurs utilisateurs finaux.

Implémenter ce scénario

  1. Créez un bucket.

  2. Créez un dossier géré dans le bucket pour chaque site Web client.

  3. Pour chaque dossier géré, définissez une stratégie IAM qui attribue à un client le rôle Utilisateur des objets de l'espace de stockage (roles/storage.objectUser), afin qu'il puisse importer et supprimer des objets dans le dossier géré.

  4. Pour tous les dossiers gérés, définissez une stratégie IAM qui attribue le rôle "Lecteur des objets Storage" (roles/storage.objectViewer) au compte principal allUsers, de sorte que les objets image dans les dossiers gérés puissent être consultés publiquement.

    Vous pouvez également attribuer un rôle personnalisé qui accorde à allUsers l'autorisation IAM storage.objects.get.

  5. Lorsqu'un client annule son compte, supprimez la stratégie IAM qui lui attribue le rôle "Utilisateur des objets Storage" (roles/storage.objectUser) sur le dossier géré associé. Pour désactiver l'accès public aux objets de ce dossier géré, supprimez la stratégie IAM qui attribue le rôle "Lecteur des objets Storage" (roles/storage.objectViewer) à allUsers.