Configurer les rôles BigQuery Sharing
Pour gérer de manière sécurisée l'accès à vos échanges de données et fiches BigQuery Sharing, accordez des rôles IAM (Identity and Access Management) spécifiques pour BigQuery Sharing (anciennement Analytics Hub). Vous contrôlez les autorisations des utilisateurs pour vos données en attribuant ces rôles, ce qui garantit que seuls les utilisateurs autorisés peuvent découvrir, s'abonner à et gérer vos ressources de partage de données.
Rôles IAM BigQuery Sharing
Les sections suivantes décrivent les rôles BigQuery Sharing prédéfinis. Vous pouvez attribuer ces rôles aux utilisateurs afin qu'ils puissent effectuer diverses tâches sur vos échanges de données et vos fiches.
Rôle d'administrateur Analytics Hub
Pour gérer les échanges de données,
BigQuery Sharing fournit le
rôle d'administrateur Analytics Hub
(roles/analyticshub.admin) que vous pouvez accorder pour un Google Cloud projet ou pour un échange de
données. Ce rôle permet aux utilisateurs d'effectuer les opérations suivantes :
- Créer, mettre à jour et supprimer des échanges de données.
- Créer, mettre à jour, supprimer et partager des fiches.
- Gérer les administrateurs, éditeurs, abonnés et lecteurs de fiches, ainsi que les administrateurs BigQuery Sharing.
Avec ce rôle, vous devenez un administrateur BigQuery Sharing.
Rôles d'éditeur et d'administrateur de fiches Analytics Hub
Pour gérer les fiches, Sharing fournit les rôles prédéfinis suivants que vous pouvez attribuer pour un projet, un échange de données ou une fiche :
Le rôle d'éditeur Analytics Hub (
roles/analyticshub.publisher), qui permet aux utilisateurs d'effectuer les opérations suivantes :- Créer, mettre à jour et supprimer des fiches.
- Définir des stratégies IAM sur les fiches.
Avec ce rôle, vous devenez un éditeur BigQuery Sharing.
Le rôle d'administrateur de fiches Analytics Hub (
roles/analyticshub.listingAdmin), qui permet aux utilisateurs d'effectuer les opérations suivantes :- Mettre à jour et supprimer des fiches.
- Définir des stratégies IAM sur les fiches.
Avec ce rôle, vous devenez un administrateur de fiches BigQuery Sharing.
Rôles d'abonné et de lecteur Analytics Hub
Pour afficher des fiches et des échanges de données, et vous y abonner, Sharing fournit les rôles prédéfinis suivants que vous pouvez attribuer pour un projet, un échange de données ou une fiche :
Le rôle d'abonné Analytics Hub (
roles/analyticshub.subscriber), qui permet aux utilisateurs d'afficher des fiches et de s'y abonner.Avec ce rôle, vous devenez un abonné BigQuery Sharing.
Le rôle de lecteur Analytics Hub (
roles/analyticshub.viewer), qui permet aux utilisateurs d'afficher les fiches et les autorisations des échanges de données.Avec ce rôle, vous devenez un lecteur BigQuery Sharing.
Rôle de propriétaire de l'abonnement Analytics Hub
Pour gérer les abonnements, Sharing fournit le rôle prédéfini suivant que vous pouvez attribuer au niveau du projet :
- Le rôle "Propriétaire de l'abonnement Analytics Hub"
(
roles/analyticshub.subscriptionOwner), qui permet aux utilisateurs de gérer leurs abonnements.
Avec ce rôle, vous devenez un propriétaire d'abonnement BigQuery Sharing.
Attribuer des rôles IAM BigQuery Sharing
Selon vos besoins, vous pouvez attribuer les rôles IAM aux niveaux suivants de la hiérarchie des ressources :
- Projet. Si vous accordez un rôle pour un projet, il s'applique à tous les échanges de données et fiches de ce projet.
- Échange de données. Si vous accordez un rôle pour un échange de données, il s'applique à toutes les fiches de cet échange de données.
- Fiche. Si vous accordez un rôle pour une fiche, il s'applique uniquement à cette fiche spécifique.
Attribuer le rôle pour un projet
Si vous souhaitez définir des stratégies IAM sur un projet, vous devez disposer du
rôle d'administrateur IAM de projet
(roles/resourcemanager.projectIamAdmin) sur ce projet. Pour accorder les rôles Identity and Access Management BigQuery Sharing prédéfinis pour un projet, sélectionnez l'une des options suivantes.
Console
Accédez à IAM pour le projet.
Cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail de l'identité à laquelle vous souhaitez accorder l'accès. Exemple :
- Adresse e-mail du compte Google :
test-user@gmail.com - Groupe Google :
admins@googlegroups.com - Compte de service :
server@example.gserviceaccount.com - Domaine Google Workspace :
example.com
- Adresse e-mail du compte Google :
Dans la liste Sélectionner un rôle , maintenez le pointeur sur Analytics Hub , puis sélectionnez l'un des rôles suivants :
- Administrateur Analytics Hub
- Administrateur de fiches Analytics Hub
- Éditeur Analytics Hub
- Abonné Analytics Hub
- Propriétaire de l'abonnement Analytics Hub
- Lecteur Analytics Hub
Facultatif : Pour contrôler davantage l'accès aux Google Cloud ressources, ajoutez une liaison de rôle conditionnelle.
Enregistrez les modifications.
Vous pouvez supprimer et mettre à jour les administrateurs de projet à l'aide du même panneau IAM.
gcloud
Pour attribuer des rôles au niveau d'un projet, utilisez la commande gcloud projects add-iam-policy-binding :
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='PRINCIPAL' \
--role='roles/analyticshub.admin'
Remplacez les éléments suivants :
PROJECT_ID: projet, par exemplemy-project-1PRINCIPAL: identité valide à laquelle vous souhaitez accorder le rôle. Exemple :- Adresse e-mail du compte Google :
user:user@gmail.com - Groupe Google :
group:admins@googlegroups.com - Compte de service :
serviceAccount:server@example.gserviceaccount.com - Domaine Google Workspace :
domain:example.com
- Adresse e-mail du compte Google :
API
Lisez la stratégie existante à l'aide de la méthode
getIamPolicyde la ressource. Pour les projets, utilisez laprojects.getIamPolicyméthode.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Remplacez
PROJECT_IDpar le projet, par exemplemy-project-1.Pour ajouter des comptes principaux et les rôles 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.adminàgroup:admins@example.com, ajoutez la liaison suivante à la stratégie :{ "members": [ "group:admins@example.com" ], "role":"roles/analyticshub.admin" }Écrivez la stratégie mise à jour à l'aide de la méthode
setIamPolicy.Par exemple, pour définir une stratégie au niveau du projet, utilisez la
project.setIamPolicyméthode. Dans le corps de la requête, indiquez la stratégie IAM mise à jour de l'étape précédente.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Remplacez
PROJECT_IDpar l'ID du projet.
Attribuer le rôle pour un échange de données
Pour attribuer le rôle pour un échange de données, procédez comme suit :
Console
Dans la Google Cloud console, 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 ID d'adresse e-mail auxquels vous souhaitez accorder l'accès. Vous pouvez également utiliser
allUserspour rendre une ressource publique et accessible à tous sur Internet, 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 fiches 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) renvoie 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.
Lorsque vous accordez des autorisations au niveau de la ressource, par exemple sur un échange de données, vous devez utiliser des lettres minuscules pour la partie de l'emplacement du nom de la ressource. L'utilisation de valeurs en majuscules ou mixtes peut entraîner des erreurs Permission Denied.
- Utilisez
projects/myproject/locations/us/dataExchanges/123. - Évitez
projects/myproject/locations/US/dataExchanges/123. - Évitez
projects/myproject/locations/Eu/dataExchanges/123.
Vous pouvez supprimer et mettre à jour les rôles d'échange de données à l'aide du même panneau IAM.
Attribuer le rôle pour une fiche
Pour attribuer le rôle pour une fiche, procédez comme suit :
Console
Dans la Google Cloud console, accédez à la page Partage (Analytics Hub).
Cliquez sur le nom de l'échange de données contenant la fiche.
Cliquez sur la fiche pour laquelle vous souhaitez ajouter des utilisateurs.
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 ID d'adresse e-mail de l'identité à laquelle vous souhaitez accorder l'accè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 fiches 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.listings.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/listings/LISTING_ID:getIamPolicy
Remplacez les éléments suivants :
PROJECT_ID: ID du projet, par exemplemy-project-1LOCATION: emplacement de l'échange de données contenant la liste Utilisez des lettres minuscules.DATAEXCHANGE_ID: ID de l'échange de donnéesLISTING_ID: ID de la liste.
Sharing renvoie 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.publisheràgroup:publishers@example.com, ajoutez la liaison suivante à la stratégie :{ "members": [ "group:publishers@example.com" ], "role":"roles/analyticshub.publisher" }Écrivez la stratégie mise à jour à l'aide de la méthode
projects.locations.dataExchanges.listings.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/listings/LISTING-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.
Lorsque vous accordez des autorisations au niveau de la ressource, par exemple sur une fiche, vous devez utiliser des lettres minuscules pour la partie de l'emplacement du nom de la ressource. L'utilisation de valeurs en majuscules ou mixtes peut entraîner des erreurs Permission Denied.
- Utilisez
projects/myproject/locations/us/dataExchanges/123/listings/456. - Évitez
projects/myproject/locations/US/dataExchanges/123/listings/456. - Évitez
projects/myproject/locations/Eu/dataExchanges/123/listings/456.
Vous pouvez supprimer et mettre à jour les rôles de fiche à l'aide du même panneau IAM.
Étape suivante
- En savoir plus sur les rôles et les autorisations BigQuery Sharing.
- En savoir plus sur BigQuery Sharing.
- Découvrez comment gérer les échanges de données.
- Découvrez comment gérer les fiches.
- Découvrez comment afficher les fiches et les échanges de données, et vous y abonner.