Gérer les échanges de données
Ce document explique comment gérer les échanges de données dans BigQuery Sharing (anciennement Analytics Hub). En tant qu'administrateur du partage BigQuery, vous pouvez effectuer les opérations suivantes :
- Créer, mettre à jour, afficher, partager et supprimer des échanges de données
- Créer, mettre à jour, supprimer et partager des fiches.
- Gérez les administrateurs du partage BigQuery, les administrateurs de fiches, les éditeurs, les abonnés et les lecteurs.
Par défaut, un échange de données est privé. Seuls les utilisateurs ou les groupes ayant accès à un échange peuvent afficher ses données ou s'y abonner. Vous pouvez demander à 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
Pour créer un échange de données, procédez comme suit :
Console
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 mettre à jour le projet et 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 enregistrer les identifiants principaux de tous les utilisateurs qui exécutent des jobs et des requêtes sur des ensembles de données associés, cliquez sur le bouton Journalisation des adresses e-mail des abonnés. Lorsque vous activez cette option, 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 activer la visibilité publique, cliquez sur le bouton Visibilité publique. Une fois qu'une place de marché est visible publiquement, toutes les fiches qu'elle contient apparaissent et peuvent faire l'objet d'une recherche dans le catalogue. Si vous activez la visibilité publique, configurez les autorisations de l'échange. Par défaut, toutes les fiches héritent du paramètre de visibilité publique de l'échange de données. En raison de cet héritage des paramètres, les échanges publics ne peuvent pas comporter de fiches privées, mais les échanges privés peuvent comporter des fiches publiques. Vous pouvez définir le type de visibilité publique au niveau de la fiche individuelle. Le projet dans lequel vous créez l'échange de données doit être associé à une organisation et à un compte de facturation.
Cliquez sur Créer un échange.
Facultatif : Dans la section Autorisations de l'échange, procédez comme suit :
Saisissez les adresses e-mail dans les champs suivants pour attribuer les rôles Identity and Access Management (IAM) :
- 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 de partage BigQuery 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 au partage BigQuery peuvent effectuer, consultez Afficher les fiches 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
Exécutez la méthode projects.locations.dataExchanges.create.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/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 emplacements compatibles avec BigQuery Sharing, consultez la page Régions compatibles.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
Pour mettre à jour un échange de données, procédez comme suit :
Console
Accédez à la page Partage (Analytics Hub).
Dans la liste des échanges de données, sélectionnez celui que vous souhaitez mettre à jour.
Accédez à 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
- Contact principal
- Description
- Visibilité publique
- Si vous activez la visibilité publique, attribuez 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, attribuez le rôle Lecteur Analytics Hub (
Journalisation des e-mails des abonnés
Cliquez sur Enregistrer.
API
Exécutez la méthode projects.locations.dataExchanges.patch.
PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK
Remplacez UPDATEMASK par la liste des champs que vous souhaitez mettre à jour. Pour mettre à jour plusieurs valeurs, utilisez une liste d'éléments séparés par une virgule. Par exemple, pour mettre à jour le nom à afficher et le contact principal d'un échange de données, saisissez displayName,primaryContact.
Dans le corps de la requête, spécifiez les valeurs mises à jour pour les 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
Pour afficher les échanges de données de votre projet ou de votre organisation auxquels vous avez accès, procédez comme suit :
Console
Accédez à la page Partage (Analytics Hub).
La page affiche les échanges de données dans votre projet Google Cloud . Si vous disposez de l'autorisation
resourcemanager.organizations.get, vous pouvez également consulter 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/location/LOCATION/dataExchanges
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet.
- 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/location/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 l'éditeur BigQuery Sharing appartient à une organisation différente de celle qui contient l'échange de données, il ne peut pas afficher votre échange de données dans BigQuery Sharing. Partagez un lien vers l'échange de données avec l'éditeur.
Accédez à la page Partage (Analytics Hub).
Dans la liste des échanges de données, cliquez sur Autres options.
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, vous devez définir 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.
Accédez à 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, ajoutez les adresses e-mail auxquelles 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 le menu Sélectionner un rôle, sélectionnez Analytics Hub, puis l'un des rôles IAM (Identity and Access Management) 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
Consultez la stratégie existante à l'aide de la méthode
projects.locations.dataExchanges.getIamPolicy, qui exploite la méthode de création de listegetIamPolicy: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
BigQuery Sharing (anciennement Analytics Hub) affiche la stratégie 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@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Par exemple, pour accorder le rôle
roles/analyticshub.subscriberàgroup:subscribers@example.com, ajoutez la liaison suivante à la stratégie :{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }Écrivez la stratégie mise à jour à l'aide de 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
Dans le corps de la requête, indiquez les informations détaillées relatives à la liste demandée. Si la requête aboutit, le corps de la réponse contient le détail de la liste.
Créer des administrateurs du partage BigQuery
Pour gérer les échanges de données, créez 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 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.Activez la visibilité publique lorsque vous créez ou mettez à jour un échange de données. Spécifiez les autorisations appropriées lorsque vous rendez un échange de données public.
Supprimer un échange de données
La suppression d'un échange de données entraîne également la suppression de toutes ses fiches. Toutefois, les ensembles de données partagés et associés ne sont pas supprimés. Lorsque vous supprimez un projet, ses échanges de données ne sont pas supprimés. Supprimez ces échanges de données avant de supprimer le projet. Vous ne pouvez pas annuler la suppression d'un échange de données.
Avant de supprimer un échange de données, suivez les étapes ci-dessous en fonction de sa configuration :
- Pour les échanges de données avec des fiches commerciales intégrées à Google Cloud Marketplace, supprimez les fiches commerciales intégrées à Google Cloud Marketplace. Recréez ensuite les fiches en tant que fiches non commerciales.
- Pour les échanges de données avec des fiches pour plusieurs régions, supprimez tous les abonnements actifs à l'aide de la méthode
projects.locations.subscriptions.revoke.
Pour supprimer un échange de données, procédez comme suit :
Console
Accédez à la page Partage (Analytics Hub).
Dans la liste des échanges de données, sélectionnez celui que vous souhaitez supprimer.
Accédez à l'onglet Détails.
Cliquez sur Supprimer l'échange.
Dans la boîte de dialogue Supprimer l'échange ?, confirmez la suppression en saisissant delete.
Cliquez sur Supprimer.
API
Exécutez 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 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 emplacements compatibles avec BigQuery Sharing, consultez la page Régions compatibles.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
- En savoir plus sur la gestion des fiches
- Découvrez comment attribuer des rôles utilisateur Analytics Hub.
- Découvrez comment afficher les fiches et les échanges de données, et vous y abonner.
- En savoir plus sur la journalisation d'audit du partage