Gérer les échanges de données
Vous pouvez utiliser des échanges de données dans BigQuery Sharing pour partager des ensembles de données de manière sécurisée entre des projets, des organisations ou avec le public. En tant qu'administrateur du partage BigQuery, vous pouvez effectuer les tâches suivantes :
- Créer, mettre à jour, afficher, partager et supprimer des échanges de données.
- Gérez les autorisations d'accès et les rôles pour les échanges de données.
- Rendez les échanges de données accessibles au public.
Pour gérer les fiches dans un échange de données, consultez Gérer les fiches.
Par défaut, un échange de données est privé. Seuls les utilisateurs ou les groupes ayant accès à un échange peuvent afficher les fiches associées ou s'y abonner. Vous pouvez rendre votre échange de données public.
Si vous rendez votre échange de données public, les utilisateursGoogle Cloud (allAuthenticatedUsers) pourront découvrir et s'abonner aux fiches.
Avant de commencer
Pour commencer à utiliser BigQuery Sharing (anciennement Analytics Hub), vous devez activer l'API Analytics Hub dans votre projet Google Cloud .
Pour activer l'API Analytics Hub, vous devez disposer des autorisations IAM (Identity and Access Management) suivantes :
serviceUsage.services.getserviceUsage.services.listserviceUsage.services.enable
Le rôle IAM prédéfini suivant inclut les autorisations dont vous avez besoin pour activer l'API Analytics Hub :
- Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin)
Pour activer l'API Analytics Hub, sélectionnez l'une des options suivantes :
Console
Accédez à la page de l'API Analytics Hub et activez-la pour votre projet Google Cloud .
gcloud
Exécutez la commande gcloud services enable :
gcloud services enable analyticshub.googleapis.com
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les échanges de données, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Analytics Hub (roles/analyticshub.admin) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un échange de données
Vous pouvez créer un échange de données pour partager des ensembles de données avec des personnes ou des groupes spécifiques, ou avec le public. Lorsque vous créez un échange de données, vous spécifiez son projet, sa région, son nom à afficher et les paramètres facultatifs tels que la journalisation des adresses e-mail des abonnés et la détectabilité publique.
Pour créer un échange de données, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Partage (Analytics Hub).
Cliquez sur Créer un échange.
Dans la boîte de dialogue Créer un échange, sélectionnez un projet et une région pour votre échange de données. Vous ne pouvez pas modifier le projet ni la région après avoir créé l'échange de données.
Dans le champ Nom à afficher, saisissez le nom de votre échange de données.
Facultatif : saisissez des valeurs dans les champs suivants :
- Contact principal : saisissez l'URL ou l'adresse e-mail du contact principal pour l'échange de données.
- Description : saisissez une description de l'échange de données.
Pour consigner les identifiants principaux de tous les utilisateurs qui exécutent des jobs et des requêtes sur les ensembles de données associés, cliquez sur le bouton Journalisation des adresses e-mail des abonnés pour l'activer. Lorsque vous activez ce paramètre, la journalisation des adresses e-mail des abonnés est activée pour toutes les futures fiches de l'échange de données. Les données enregistrées sont disponibles dans le champ
job_principal_subjectde la vueINFORMATION_SCHEMA.SHARED_DATASET_USAGE.Pour rendre l'échange visible par tous les internautes, cliquez sur le bouton Visibilité publique pour l'activer. Lorsqu'une place de marché est visible publiquement, toutes les fiches qu'elle contient s'affichent et peuvent faire l'objet d'une recherche dans le catalogue. Tenez compte des facteurs suivants lorsque vous activez la visibilité publique :
- Héritage des fiches : par défaut, toutes les fiches héritent du paramètre de visibilité publique de l'échange de données. Les échanges publics ne peuvent pas comporter de fiches privées, mais les échanges privés peuvent comporter des fiches publiques. Vous pouvez configurer le type de visibilité publique au niveau de la fiche individuelle.
- Autorisations : si vous activez la visibilité publique, configurez les autorisations d'échange pour accorder le rôle Lecteur Analytics Hub (
roles/analyticshub.viewer) àallUsersouallAuthenticatedUsers. - Exigences concernant le projet : le projet dans lequel vous créez l'échange de données doit être associé à une organisation et à un compte de facturation.
Pour créer l'échange de données, cliquez sur Créer un échange.
Facultatif : Dans la section Autorisations de l'échange, procédez comme suit :
Dans les champs suivants, saisissez les adresses e-mail pour attribuer les rôles IAM (Identity and Access Management) :
- Administrateurs : attribuez-leur le rôle Administrateur Analytics Hub (
roles/analyticshub.admin). - Éditeurs : attribuez-leur le rôle Éditeur Analytics Hub (
roles/analyticshub.publisher). Pour en savoir plus sur les tâches que les éditeurs BigQuery Sharing peuvent effectuer, consultez Gérer les fiches. - Abonnés : attribuez-leur le rôle Abonné Analytics Hub (
roles/analyticshub.subscriber). Pour en savoir plus sur les tâches que les abonnés à BigQuery Sharing peuvent effectuer, consultez Afficher les annonces et les échanges de données et s'y abonner. - Lecteurs : attribuez-leur le rôle Lecteur Analytics Hub (
roles/analyticshub.viewer). Les lecteurs BigQuery Sharing peuvent afficher les annonces. Si la visibilité publique est activée, attribuez le rôle Lecteur Analytics Hub àallUsersouallAuthenticatedUsers.
- Administrateurs : attribuez-leur le rôle Administrateur Analytics Hub (
Pour enregistrer les autorisations, cliquez sur Définir des autorisations.
Si vous n'avez pas défini d'autorisations pour votre échange de données, cliquez sur Ignorer.
API
Pour créer un échange de données, utilisez la méthode projects.locations.dataExchanges.create :
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel vous souhaitez créer l'échange de données.LOCATION: emplacement de votre échange de données. Pour en savoir plus sur les régions compatibles avec le partage BigQuery, consultez Régions où le service est disponible.DATAEXCHANGE_ID: ID de votre échange de données.
Dans le corps de la requête, indiquez les détails de l'échange de données.
Si la requête aboutit, le corps de la réponse contient les détails de l'échange de données.
Si vous activez la journalisation des e-mails des abonnés avec le champ logLinkedDatasetQueryUserEmail, la réponse à l'échange de données contient log_linked_dataset_query_user_email: true. Les données enregistrées sont disponibles dans le champ job_principal_subject de la vue INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
Pour plus d'informations sur les tâches que vous pouvez effectuer sur des échanges de données à l'aide des API, consultez la page Méthodes projects.locations.dataExchanges.
Mettre à jour un échange de données
Vous pouvez modifier la configuration d'un échange de données existant, comme son nom à afficher, sa description, son contact principal et ses paramètres de visibilité publique. Vous ne pouvez pas modifier le projet ni la région d'un échange de données existant.
Pour mettre à jour un échange de données, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Partage (Analytics Hub).
Dans la liste des échanges de données, sélectionnez celui que vous souhaitez mettre à jour.
Cliquez sur l'onglet Détails.
Cliquez sur Modifier l'échange.
Dans la boîte de dialogue Modifier l'échange, mettez à jour les champs suivants :
- Nom à afficher : saisissez un nouveau nom à afficher.
- Contact principal : saisissez une URL ou une adresse e-mail mises à jour.
- Description : saisissez une description mise à jour.
Visibilité publique : activez ou désactivez la visibilité publique.
- Si vous activez la visibilité publique, accordez le rôle Lecteur Analytics Hub (
roles/analyticshub.viewer) àallUsersouallAuthenticatedUsers. - Si vous désactivez la visibilité publique, supprimez le rôle Lecteur Analytics Hub (
roles/analyticshub.viewer) deallUsersouallAuthenticatedUsers. Les échanges publics ne peuvent pas comporter de fiches privées, mais les échanges privés peuvent comporter des fiches publiques.
- Si vous activez la visibilité publique, accordez le rôle Lecteur Analytics Hub (
Journalisation des e-mails des abonnés : activez ou désactivez la journalisation des e-mails des abonnés.
Pour appliquer vos modifications, cliquez sur Enregistrer.
API
Pour mettre à jour un échange de données, utilisez la méthode projects.locations.dataExchanges.patch :
PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK
Remplacez les éléments suivants :
PROJECT_ID: ID du projet contenant l'échange de données.LOCATION: emplacement de votre échange de données.DATAEXCHANGE_ID: ID de votre échange de données.UPDATEMASK: liste des champs à mettre à jour, séparés par une virgule (par exemple,displayName,primaryContact).
Dans le corps de la requête, spécifiez les valeurs mises à jour pour l'un des champs suivants :
displayNamedescriptionprimaryContactdocumentationicondiscoveryTypelogLinkedDatasetQueryUserEmail
Pour en savoir plus sur ces champs, consultez Ressource : DataExchange.
Pour plus d'informations sur les tâches que vous pouvez effectuer sur des échanges de données à l'aide des API, consultez la page Méthodes projects.locations.dataExchanges.
Afficher les échanges de données
Vous pouvez afficher la liste des échanges de données dans votre projet ou votre organisation Google Cloud auxquels vous avez accès.
Pour afficher les échanges de données, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Partage (Analytics Hub).
Dans la liste des échanges de données, affichez ceux qui sont associés à votre projetGoogle Cloud . Si vous disposez de l'autorisation
resourcemanager.organizations.get, vous pouvez également afficher les échanges de données dans votre organisation Google Cloud .
API
Pour afficher les échanges de données dans votre projet, utilisez la méthode projects.locations.dataExchanges.list :
GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel vous souhaitez lister les échanges de données.LOCATION: emplacement pour lequel vous souhaitez répertorier les échanges de données existants.
Pour afficher les échanges de données dans votre organisation, utilisez la méthode organizations.locations.dataExchanges.list :
GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/LOCATION/dataExchanges
Remplacez les éléments suivants :
ORGANIZATION_ID: ID de l'organisation. Pour en savoir plus, consultez Obtenir l'ID de votre organisation.LOCATION: emplacement pour lequel vous souhaitez répertorier les échanges de données existants.
Partager un échange de données
Si un éditeur BigQuery Sharing appartient à une organisation différente de celle qui contient l'échange de données, il ne peut pas parcourir ni afficher votre échange de données dans BigQuery Sharing. Pour permettre à l'éditeur d'accéder à l'échange de données, vous pouvez copier et partager un lien direct.
Pour partager un lien vers un échange de données, procédez comme suit :
Dans la console Google Cloud , accédez à la page Partage (Analytics Hub).
Dans la liste des échanges de données, recherchez celui que vous souhaitez partager, puis cliquez sur Autres options.
Pour copier le lien dans le presse-papiers, cliquez sur Copier le lien de partage.
Autoriser des utilisateurs à accéder à un échange de données
Pour autoriser des utilisateurs à accéder à un échange de données, définissez la stratégie IAM pour cet échange. Pour en savoir plus sur les rôles utilisateur IAM prédéfinis, consultez Rôles IAM de partage BigQuery.
Console
Dans la console Google Cloud , accédez à la page Partage (Analytics Hub).
Cliquez sur le nom de l'échange de données pour lequel vous souhaitez définir des autorisations.
Cliquez sur l'onglet Détails.
Cliquez sur Définir les autorisations.
Pour ajouter des comptes principaux, cliquez sur Ajouter un compte principal.
Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail du compte principal auquel vous souhaitez accorder l'accès. Vous pouvez également utiliser
allUserspour rendre une ressource publique et accessible à tous les internautes, ouallAuthenticatedUserspour la rendre accessible uniquement aux utilisateurs Google connectés.Dans la liste Sélectionner un rôle, pointez sur Analytics Hub, puis sélectionnez l'un des rôles IAM suivants :
- Administrateur Analytics Hub
- Administrateur de listes Analytics Hub
- Éditeur Analytics Hub
- Abonné Analytics Hub
- Propriétaire de l'abonnement Analytics Hub
- Lecteur Analytics Hub
Cliquez sur Enregistrer.
API
Pour lire la stratégie existante, utilisez la méthode
projects.locations.dataExchanges.getIamPolicy:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
Remplacez les éléments suivants :
PROJECT_ID: ID du projet, par exemplemy-project-1LOCATION: emplacement de votre échange de données Utilisez des lettres minuscules.DATAEXCHANGE_ID: ID de l'échange de données
Le partage BigQuery renvoie la règle actuelle.
Pour ajouter ou supprimer des membres et les rôles IAM qui leur sont associés, modifiez la stratégie à l'aide d'un éditeur de texte. Utilisez le format suivant pour ajouter des membres :
user:test-user@gmail.comgroup:admins@googlegroups.comserviceAccount:server@example.gserviceaccount.comdomain:example.com
Par exemple, pour accorder le rôle
roles/analyticshub.subscriberàgroup:subscribers@googlegroups.com, ajoutez la liaison suivante à la stratégie :{ "members": [ "group:subscribers@googlegroups.com" ], "role":"roles/analyticshub.subscriber" }Pour définir le règlement relatif à l'échange de données, utilisez la méthode
projects.locations.dataExchanges.setIamPolicy. Dans le corps de la requête, indiquez la stratégie IAM mise à jour de l'étape précédente :POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
Créer des administrateurs du partage BigQuery
Pour déléguer la gestion des échanges de données, vous pouvez créer des administrateurs d'échanges de données en attribuant aux utilisateurs le rôle Administrateur Analytics Hub (roles/analyticshub.admin) au niveau du projet ou de l'échange de données.
- Pour permettre aux administrateurs de gérer tous les échanges de données d'un projet, attribuez-leur le rôle Administrateur Analytics Hub pour ce projet.
- Pour permettre aux administrateurs de gérer uniquement un échange de données spécifique, accordez-leur le rôle Administrateur Analytics Hub pour cet échange de données.
Rendre un échange de données public
Par défaut, un échange de données est privé. Seuls les utilisateurs ou les groupes ayant accès à un échange peuvent afficher les fiches associées ou s'y abonner. Vous pouvez rendre un échange de données public, ce qui permet aux utilisateursGoogle Cloud (allAuthenticatedUsers) de découvrir ses fiches et de s'y abonner.
Pour rendre un échange de données public, procédez comme suit :
Pour permettre à
allAuthenticatedUsersd'afficher des fiches, accordez-lui le rôle Lecteur Analytics Hub (roles/analyticshub.viewer) au niveau de l'échange de données.Pour permettre à
allAuthenticatedUsersde s'abonner aux fiches, accordez-lui le rôle Abonné Analytics Hub (roles/analyticshub.subscriber) au niveau de l'échange de données.Lorsque vous créez ou mettez à jour un échange de données, cliquez sur le bouton Visibilité publique pour l'activer.
Supprimer un échange de données
Lorsque vous supprimez un échange de données, toutes les fiches qu'il contient sont également supprimées. Les ensembles de données partagés et associés ne sont pas supprimés. La suppression d'un projet n'entraîne pas la suppression automatique de ses échanges de données. Vous devez donc supprimer tous les échanges de données avant de fermer le projet. Vous ne pouvez pas annuler la suppression d'un échange de données.
Avant de supprimer un échange de données, remplissez les conditions préalables suivantes en fonction de la configuration de l'échange de données :
- Pour les échanges de données avec des fiches commerciales intégrées à Google Cloud Marketplace, supprimez les fiches intégrées à Cloud Marketplace.
- Pour les échanges de données avec des fiches pour plusieurs régions, révoquez tous les abonnements actifs.
Pour supprimer un échange de données, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Partage (Analytics Hub).
Dans la liste des échanges de données, sélectionnez celui que vous souhaitez supprimer.
Cliquez sur l'onglet Détails.
Cliquez sur Supprimer l'échange.
Dans la boîte de dialogue Supprimer l'échange ?, confirmez la suppression en saisissant
delete.Pour supprimer définitivement l'échange de données, cliquez sur Supprimer.
API
Pour supprimer un échange de données, utilisez la méthode projects.locations.dataExchanges.delete :
DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID
Remplacez les éléments suivants :
PROJECT_ID: ID du projet contenant l'échange de données.LOCATION: emplacement de votre échange de données. Pour en savoir plus sur les régions compatibles avec le partage BigQuery, consultez Régions où le service est disponible.DATAEXCHANGE_ID: ID de votre échange de données.
Pour plus d'informations sur les tâches que vous pouvez effectuer sur des échanges de données à l'aide des API, consultez la page Méthodes projects.locations.dataExchanges.
Étapes suivantes
- Découvrez comment gérer les fiches.
- Découvrez comment accorder des rôles utilisateur BigQuery Sharing.
- Découvrez comment afficher les fiches et les échanges de données, et vous y abonner.
- Découvrez comment afficher les journaux d'audit BigQuery Sharing.