Configurer les rôles de partage BigQuery
Pour gérer l'accès à vos échanges de données et fiches de partage BigQuery, accordez des rôles Identity and Access Management (IAM) spécifiques pour le partage BigQuery (anciennement Analytics Hub). En attribuant ces rôles, vous contrôlez les autorisations pour vos données et vous vous assurez que seuls les utilisateurs autorisés peuvent découvrir, gérer et s'abonner à vos ressources de partage de données.
Rôles IAM de partage BigQuery
Les sections suivantes décrivent les rôles utilisateur prédéfinis de partage BigQuery. Attribuez ces rôles pour contrôler l'accès à vos échanges de données et fiches.
Rôle d'administrateur Analytics Hub
Pour gérer les échanges de données,
le partage BigQuery fournit le
rôle d'administrateur Analytics Hub
(roles/analyticshub.admin) que vous pouvez accorder pour un projet ou pour un échange de
données. Ce rôle vous permet 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 de partage BigQuery.
Avec ce rôle, vous devenez un administrateur de partage BigQuery.
Rôles d'éditeur et d'administrateur de fiches Analytics Hub
Pour gérer les fiches, le partage BigQuery 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 vous permet 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 de partage BigQuery.
Le rôle d'administrateur de fiches Analytics Hub (
roles/analyticshub.listingAdmin), qui vous permet 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 de partage BigQuery.
Rôles d'abonné et de lecteur Analytics Hub
Pour afficher des fiches et des échanges de données, et vous y abonner, le partage BigQuery 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 vous permet d'afficher des fiches et de vous y abonner.Avec ce rôle, vous devenez un abonné de partage BigQuery.
Le rôle de lecteur Analytics Hub (
roles/analyticshub.viewer), qui vous permet d'afficher les fiches et les autorisations des échanges de données.Avec ce rôle, vous devenez un lecteur de partage BigQuery.
Rôle de propriétaire de l'abonnement Analytics Hub
Pour gérer les abonnements, le partage BigQuery fournit le rôle prédéfini suivant que vous pouvez accorder pour un projet :
- Le rôle de propriétaire de l'abonnement Analytics Hub
(
roles/analyticshub.subscriptionOwner), qui vous permet de gérer les abonnements.
Avec ce rôle, vous devenez un propriétaire d'abonnement de partage BigQuery.
Accorder des rôles IAM de partage BigQuery
Vous pouvez accorder des 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.
Accorder des rôles pour un projet
Pour 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 IAM prédéfinis de partage BigQuery pour un projet, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page IAM.
Cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail du compte principal auquel vous souhaitez accorder l'accès. Vous pouvez spécifier l'un des types de comptes principaux suivants :
- 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, et puis sélectionnez l'un des rôles 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
Facultatif : Pour contrôler davantage l'accès aux Google Cloud ressources, ajoutez une liaison de rôle conditionnelle.
Cliquez sur Enregistrer.
gcloud
Pour accorder des rôles pour un projet, utilisez la
gcloud projects add-iam-policy-binding commande :
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='PRINCIPAL' \
--role='roles/analyticshub.admin'
Remplacez les éléments suivants :
PROJECT_ID: ID du projet, par exemplemy-project-1PRINCIPAL: compte principal valide auquel vous souhaitez accorder le rôle. Vous pouvez spécifier l'un des types de comptes principaux suivants :- Adresse e-mail du compte Google :
user:test-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
Pour lire la stratégie existante, utilisez la
projects.getIamPolicyméthode :POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Remplacez
PROJECT_IDpar l'ID du 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@googlegroups.comserviceAccount:server@example.gserviceaccount.comdomain:example.com
Par exemple, pour accorder le rôle
roles/analyticshub.adminàgroup:admins@googlegroups.com, ajoutez la liaison suivante à la stratégie :{ "members": [ "group:admins@googlegroups.com" ], "role":"roles/analyticshub.admin" }Pour définir une stratégie pour un projet, utilisez la
projects.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, par exemplemy-project-1.
Vous pouvez mettre à jour et supprimer des rôles de projet à l'aide du même panneau IAM.
Accorder des rôles pour un échange de données
Lorsque vous accordez des autorisations pour un échange de données, vous devez utiliser des lettres minuscules pour l'emplacement dans le nom de la ressource. L'utilisation de valeurs en majuscules ou mixtes peut entraîner des erreurs d'autorisation refusée.
Les exemples suivants montrent des formats de noms de ressources valides et non valides :
- Utilisez :
projects/myproject/locations/us/dataExchanges/123 - Évitez :
projects/myproject/locations/US/dataExchanges/123 - Évitez :
projects/myproject/locations/Eu/dataExchanges/123
Pour accorder des rôles pour un échange de données, sélectionnez l'une des options suivantes :
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.
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 sur Internet, ouallAuthenticatedUserspour la rendre accessible uniquement aux utilisateurs Google connectés.Dans la liste Sélectionner un rôle, maintenez le pointeur sur Analytics Hub, et 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
projects.locations.dataExchanges.getIamPolicyméthode :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 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@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 la stratégie de l'échange de données, utilisez la
projects.locations.dataExchanges.setIamPolicyméthode. 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
Vous pouvez mettre à jour et supprimer des rôles d'échange de données à l'aide du même panneau IAM.
Accorder des rôles pour une fiche
Lorsque vous accordez des autorisations pour une fiche, vous devez utiliser des lettres minuscules pour l'emplacement dans le nom de la ressource. L'utilisation de valeurs en majuscules ou mixtes peut entraîner des erreurs d'autorisation refusée.
Les exemples suivants montrent des formats de noms de ressources valides et non valides :
- 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
Pour accorder des rôles pour une fiche, sélectionnez l'une des options suivantes :
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 définir des autorisations.
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.
Dans la liste Sélectionner un rôle, maintenez le pointeur sur Analytics Hub, et 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
projects.locations.dataExchanges.listings.getIamPolicyméthode :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
Le partage BigQuery 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@googlegroups.comserviceAccount:server@example.gserviceaccount.comdomain:example.com
Par exemple, pour accorder le rôle
roles/analyticshub.publisheràgroup:publishers@googlegroups.com, ajoutez la liaison suivante à la stratégie :{ "members": [ "group:publishers@googlegroups.com" ], "role":"roles/analyticshub.publisher" }Pour définir la stratégie de la fiche, utilisez la
projects.locations.dataExchanges.listings.setIamPolicyméthode. 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
Vous pouvez mettre à jour et supprimer des rôles de fiche à l'aide du même panneau IAM.
Étape suivante
- En savoir plus sur les rôles et les autorisations de partage BigQuery.
- En savoir plus sur le partage BigQuery.
- 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.