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 :

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 :

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

  1. Dans la console Google Cloud , accédez à la page IAM.

    Accéder à IAM

  2. Cliquez sur Accorder l'accès.

  3. 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
  4. 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
  5. Facultatif : Pour contrôler davantage l'accès aux Google Cloud ressources, ajoutez une liaison de rôle conditionnelle.

  6. 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 exemple my-project-1
  • PRINCIPAL: 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

API

  1. Pour lire la stratégie existante, utilisez la projects.getIamPolicy méthode :

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
    

    Remplacez PROJECT_ID par l'ID du projet, par exemple my-project-1.

  2. 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.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain: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"
    }
    
  3. Pour définir une stratégie pour un projet, utilisez la projects.setIamPolicy mé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_ID par l'ID du projet, par exemple my-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

  1. Dans la Google Cloud console, accédez à la page Partage (Analytics Hub).

    Accéder à Partage (Analytics Hub)

  2. Cliquez sur le nom de l'échange de données pour lequel vous souhaitez définir des autorisations.

  3. Cliquez sur l'onglet Détails.

  4. Cliquez sur Définir les autorisations.

  5. Pour ajouter des comptes principaux, cliquez sur Ajouter un compte principal.

  6. 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 allUsers pour rendre une ressource publique et accessible à tous sur Internet, ou allAuthenticatedUsers pour la rendre accessible uniquement aux utilisateurs Google connectés.

  7. 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
  8. Cliquez sur Enregistrer.

API

  1. Pour lire la stratégie existante, utilisez la projects.locations.dataExchanges.getIamPolicy mé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 exemple my-project-1
    • LOCATION: 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.

  2. 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.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain: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"
    }
    
  3. Pour définir la stratégie de l'échange de données, utilisez la projects.locations.dataExchanges.setIamPolicy mé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

  1. Dans la Google Cloud console, accédez à la page Partage (Analytics Hub).

    Accéder à Partage (Analytics Hub)

  2. Cliquez sur le nom de l'échange de données contenant la fiche.

  3. Cliquez sur la fiche pour laquelle vous souhaitez définir des autorisations.

  4. Cliquez sur Définir les autorisations.

  5. Pour ajouter des comptes principaux, cliquez sur Ajouter un compte principal.

  6. Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail du compte principal auquel vous souhaitez accorder l'accès.

  7. 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
  8. Cliquez sur Enregistrer.

API

  1. Pour lire la stratégie existante, utilisez la projects.locations.dataExchanges.listings.getIamPolicy mé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 exemple my-project-1
    • LOCATION: emplacement de l'échange de données contenant la liste Utilisez des lettres minuscules.
    • DATAEXCHANGE_ID : ID de l'échange de données
    • LISTING_ID : ID de la liste

    Le partage BigQuery renvoie la stratégie actuelle.

  2. 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.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain: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"
    }
    
  3. Pour définir la stratégie de la fiche, utilisez la projects.locations.dataExchanges.listings.setIamPolicy mé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