Contrôle des accès à Bigtable avec IAM

Cette page décrit les options de contrôle des accès dans Bigtable.

Présentation

Bigtable utilise la gestion de l'authentification et des accès (Identity and Access Management, IAM) pour le contrôle des accès. Vous définissez des stratégies IAM sur les ressources pour contrôler qui a accès à quelles ressources.

Les ressources Bigtable sont organisées de façon hiérarchique. Un projet Google Cloud est le parent d'une instance Bigtable, qui est le parent de ses clusters et de ses tables. Une table est le parent de ses vues autorisées, tandis qu'un cluster est le parent de ses sauvegardes. Vous pouvez configurer le contrôle des accès à chaque niveau.

Si vous disposez d'autorisations à un niveau, vous disposez automatiquement d'autorisations en dessous de ce niveau. Par exemple, si vous disposez d'un accès au niveau du projet, vous avez accès aux instances, aux clusters, aux tables et aux vues autorisées de ce projet. Si vous disposez d'un accès à une vue autorisée, vous n'avez pas automatiquement accès aux ressources de niveau supérieur qui sont les parents de la vue autorisée, telles que la table et l'instance. Ce comportement est appelé héritage de règles.

Pour en savoir plus sur la hiérarchie IAM, consultez la section Héritage des stratégies IAM.

Voici quelques exemples d'utilisation du contrôle des accès au niveau du projet:

  • Donner à un utilisateur des droits en lecture mais pas en écriture, sur toutes les tables du projet.
  • Donner à un utilisateur des droits en lecture et en écriture sur toutes les tables du projet, mais ne pas l'autoriser à gérer des instances.
  • Donner à un utilisateur des droits en lecture et en écriture sur toutes les tables du projet, et l'autoriser à gérer des instances.

Voici quelques exemples d'utilisation du contrôle des accès au niveau de l'instance:

  • Autoriser un utilisateur à lire une table dans une instance seulement, au sein d'un projet comportant plusieurs instances.
  • Autoriser un utilisateur à gérer une instance seulement, au sein d'un projet comportant plusieurs instances

Voici quelques exemples d'utilisation du contrôle des accès au niveau de la table:

  • Donner à un utilisateur des droits en écriture, mais pas en lecture, sur une table.
  • Donner à un utilisateur des droits en lecture, mais pas en écriture, sur une table.

Voici des exemples d'utilisation du contrôle des accès au niveau de la sauvegarde:

  • Empêcher un utilisateur de supprimer une sauvegarde
  • Empêcher un utilisateur de restaurer à partir de la sauvegarde

Voici quelques exemples d'utilisation du contrôle des accès au niveau de la vue autorisée:

  • Autorisez un utilisateur à lire une vue autorisée, mais pas à la modifier.
  • Autorisez un utilisateur à afficher les données d'une seule des vues autorisées d'un tableau.

Pour obtenir une description détaillée d'IAM et de ses fonctionnalités, consultez le guide du développeur IAM. Consultez en particulier la page Accorder, modifier et révoquer les accès à des ressources.

Dans Bigtable, vous ne pouvez pas accorder l'accès aux types de comptes principaux suivants :

Pour obtenir une liste des autorisations et des rôles acceptés par Bigtable, consultez les sections suivantes.

Activer l'API Bigtable

Pour afficher et attribuer des rôles IAM Bigtable, vous devez activer l'API Bigtable pour le projet concerné. Vous ne pouvez pas voir les rôles Bigtable dans la console Google Cloud tant que vous n'avez pas activé l'API.

Enable the API

Autorisations

Cette section récapitule les autorisations disponibles dans Bigtable.

Les autorisations permettent aux utilisateurs de réaliser des opérations spécifiques sur les ressources Bigtable. Par exemple, les autorisations bigtable.instances.list permettent aux utilisateurs de répertorier toutes les instances Bigtable d'un projet. Vous n'accordez pas directement des autorisations aux utilisateurs, mais vous leur attribuez un rôle prédéfini ou un rôle personnalisé, auquel sont associées une ou plusieurs autorisations.

Les tableaux suivants répertorient les autorisations IAM associées à Bigtable :

Nom de l'autorisation du profil d'application Description
bigtable.appProfiles.create Créer un profil d'application Bigtable.
bigtable.appProfiles.delete Supprimer un profil d'application Bigtable.
bigtable.appProfiles.get Obtenir des informations sur un profil d'application Bigtable.
bigtable.appProfiles.list Répertorier les profils d'application Bigtable d'une instance.
bigtable.appProfiles.update Mettre à jour les paramètres d'un profil d'application Bigtable.
Nom de l'autorisation relative aux sauvegardes Description
bigtable.backups.create Créer une sauvegarde Bigtable.
bigtable.backups.delete Supprimer une sauvegarde Bigtable.
bigtable.backups.get Obtenir des informations sur une sauvegarde Bigtable.
bigtable.backups.getIamPolicy Lire les listes de contrôle d'accès (LCA) d'une sauvegarde. Renvoyées sous forme de stratégies Cloud IAM.
bigtable.backups.list Répertorier les sauvegardes Bigtable.
bigtable.backups.restore Effectuer une restauration à partir d'une sauvegarde Bigtable.
bigtable.backups.testIamPermissions Obtenir les autorisations de l'appelant sur une sauvegarde spécifiée.
bigtable.backups.read Lire à partir d'une sauvegarde Bigtable.
bigtable.backups.setIamPolicy Mettre à jour les LCA de sauvegarde.
bigtable.backups.update Modifier l'expiration d'une sauvegarde Bigtable.
Nom de l'autorisation du cluster Description
bigtable.clusters.create Créer un cluster Bigtable.
bigtable.clusters.delete Supprimer un cluster Bigtable.
bigtable.clusters.get Obtenir des informations sur un cluster Bigtable.
bigtable.clusters.list Répertorier les clusters Bigtable d'une instance.
bigtable.clusters.update Mettre à jour les paramètres d'un cluster Bigtable.
Nom de l'autorisation des tablets suractifs Description
bigtable.hotTablets.list Répertorier les tablets suractifs d'un cluster.
Nom de l'autorisation de l'instance Description
bigtable.instances.create Créer une instance Bigtable
bigtable.instances.createTagBinding Créer un tag.
bigtable.instances.delete Supprimer une instance Bigtable.
bigtable.instances.deleteTagBinding Supprimer un tag.
bigtable.instances.get Obtenir des informations sur une instance Bigtable.
bigtable.instances.getIamPolicy Lire les listes de contrôle d'accès (LCA) d'une instance. Renvoyées sous forme de stratégies Cloud IAM.
bigtable.instances.list Répertorier les instances Bigtable d'un projet.
bigtable.instances.listEffectiveTagBindings Répertorier tous les tags en vigueur pour une instance.
bigtable.instances.listTagBindings Répertorier les tags d'une instance.
bigtable.instances.ping Envoyer des requêtes d'amorçage de canal.
bigtable.instances.setIamPolicy Mettre à jour les LCA.
bigtable.instances.update Mettre à jour les paramètres d'une instance Bigtable.
Nom de l'autorisation Key Visualizer Description
bigtable.keyvisualizer.get Obtenir des informations Key Visualizer sur une table, y compris les métadonnées concernant les modèles d'accès et la distribution des clés de ligne.
bigtable.keyvisualizer.list Répertorier les informations Key Visualizer disponibles pour une table.
Nom de l'autorisation relative aux emplacements Description
bigtable.locations.list Répertorier les emplacements Bigtable.
Nom de l'autorisation de la table Description
bigtable.tables.checkConsistency Vérifier si une table répliquée est à jour.
bigtable.tables.create Créer une table.
bigtable.tables.delete Supprimer une table.
bigtable.tables.generateConsistencyToken Générer un jeton pour vérifier si une table répliquée est à jour.
bigtable.tables.get Obtenir des informations sur une table, y compris les familles de colonnes et leurs paramètres individuels.
bigtable.tables.getIamPolicy Lire les LCA d'une table, renvoyées sous forme de stratégies Cloud IAM.
bigtable.tables.list Répertorier les tables d'une instance.
bigtable.tables.mutateRows Modifier les lignes dans une table ou tronquer la table.
bigtable.tables.readRows Lire les lignes d'une table. Cela inclut des informations sur la table, telles que les familles de colonnes et leurs paramètres individuels.
bigtable.tables.sampleRowKeys Obtenir un échantillon des clés de ligne utilisées dans une table.
bigtable.tables.setIamPolicy Mettre à jour les LCA d'une table.
bigtable.tables.undelete Récupérer une table supprimée.
bigtable.tables.update Mettre à jour les paramètres d'une table, y compris les familles de colonnes et leurs paramètres individuels.
Nom de l'autorisation relative aux emplacements Description
bigtable.locations.list Répertorier les emplacements Bigtable.
Nom de l'autorisation de vue autorisée Description
bigtable.authorizedViews.create Créez une vue autorisée.
bigtable.authorizedViews.delete Supprimez une vue autorisée.
bigtable.authorizedViews.get Obtenez des informations sur une vue autorisée.
bigtable.authorizedViews.getIamPolicy Afficher le contrôle des accès pour une vue autorisée. Renvoyées sous forme de stratégies Cloud IAM.
bigtable.authorizedViews.list Répertoriez les vues autorisées dans un tableau.
bigtable.authorizedViews.mutateRows Modifier les lignes d'une vue autorisée
bigtable.authorizedViews.readRows Lire les lignes d'une vue autorisée.
bigtable.authorizedViews.sampleRowKeys Obtenir un échantillon des clés de ligne utilisées dans une vue autorisée.
bigtable.authorizedViews.setIamPolicy Mettez à jour les stratégies de contrôle des accès d'une vue autorisée.
bigtable.authorizedViews.update Modifiez les paramètres d'une vue autorisée.

Rôles prédéfinis

Chaque rôle prédéfini correspond à un ensemble d'une ou plusieurs autorisations. Par exemple, le rôle roles/bigtable.reader fournit un accès en lecture seule aux informations sur les instances, clusters, tables et familles de colonnes de Bigtable, ainsi qu'aux données contenues dans les tables. Vous attribuez des rôles à des utilisateurs ou à des groupes, ce qui leur permet d'effectuer des actions sur les ressources du projet.

Le tableau suivant répertorie les rôles prédéfinis pour Bigtable, avec les autorisations associées à chaque rôle :

Role Permissions

(roles/bigtable.admin)

Administers all Bigtable instances within a project, including the data stored within tables. Can create new instances. Intended for project administrators.

Lowest-level resources where you can grant this role:

  • Table

bigtable.*

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.appProfiles.update
  • bigtable.authorizedViews.create
  • bigtable.authorizedViews.createTagBinding
  • bigtable.authorizedViews.delete
  • bigtable.authorizedViews.deleteTagBinding
  • bigtable.authorizedViews.get
  • bigtable.authorizedViews.getIamPolicy
  • bigtable.authorizedViews.list
  • bigtable.authorizedViews.listEffectiveTags
  • bigtable.authorizedViews.listTagBindings
  • bigtable.authorizedViews.mutateRows
  • bigtable.authorizedViews.readRows
  • bigtable.authorizedViews.sampleRowKeys
  • bigtable.authorizedViews.setIamPolicy
  • bigtable.authorizedViews.update
  • bigtable.backups.create
  • bigtable.backups.delete
  • bigtable.backups.get
  • bigtable.backups.getIamPolicy
  • bigtable.backups.list
  • bigtable.backups.read
  • bigtable.backups.restore
  • bigtable.backups.setIamPolicy
  • bigtable.backups.update
  • bigtable.clusters.create
  • bigtable.clusters.delete
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.clusters.update
  • bigtable.hotTablets.list
  • bigtable.instances.create
  • bigtable.instances.createTagBinding
  • bigtable.instances.delete
  • bigtable.instances.deleteTagBinding
  • bigtable.instances.executeQuery
  • bigtable.instances.get
  • bigtable.instances.getIamPolicy
  • bigtable.instances.list
  • bigtable.instances.listEffectiveTags
  • bigtable.instances.listTagBindings
  • bigtable.instances.ping
  • bigtable.instances.setIamPolicy
  • bigtable.instances.update
  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list
  • bigtable.locations.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.create
  • bigtable.tables.delete
  • bigtable.tables.generateConsistencyToken
  • bigtable.tables.get
  • bigtable.tables.getIamPolicy
  • bigtable.tables.list
  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys
  • bigtable.tables.setIamPolicy
  • bigtable.tables.undelete
  • bigtable.tables.update

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.reader)

Provides read-only access to the data stored within Bigtable tables. Intended for data scientists, dashboard generators, and other data-analysis scenarios.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.user)

Provides read-write access to the data stored within Bigtable tables. Intended for application developers or service accounts.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.mutateRows

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.mutateRows

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.viewer)

Provides no data access. Intended as a minimal set of permissions to access the Google Cloud console for Bigtable.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

Rôles personnalisés

Si les rôles prédéfinis pour Bigtable ne répondent pas aux besoins de votre entreprise, vous pouvez définir vos propres rôles personnalisés, disposant des autorisations de votre choix.

Si votre rôle personnalisé doit permettre l'accès à la console Google Cloud, vous devez identifier les tâches que les utilisateurs effectueront, puis vous assurer que le rôle personnalisé dispose des autorisations requises pour chaque tâche, comme indiqué dans le tableau suivant. Si un rôle personnalisé ne dispose pas de toutes les autorisations requises pour une tâche et qu'un utilisateur tente de l'exécuter, la console Google Cloud ne fonctionnera pas correctement.

Tâche de la console Google Cloud Autorisations requises
Accès de base à la console Google Cloud
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • bigtable.tables.get
  • bigtable.tables.list
  • resourcemanager.projects.get
Créer une instance ou un cluster

Autorisations d'accès de base, plus :

  • bigtable.clusters.create
  • bigtable.instances.create
Modifier une instance ou un cluster

Autorisations d'accès de base, plus :

  • bigtable.clusters.update
  • bigtable.instances.update
Gérer la configuration de réplication

Autorisations d'accès de base, plus :

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
Supprimer une instance ou un cluster

Autorisations d'accès de base, plus :

  • bigtable.clusters.delete
  • bigtable.instances.delete
Surveiller une instance en consultant des graphiques

Autorisations d'accès de base, plus :

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list
Créer et mettre à jour une table

Autorisations d'accès de base, plus :

  • bigtable.tables.create
  • bigtable.tables.update
Restaurer une sauvegarde

Autorisations d'accès de base, plus :

  • bigtable.backups.list
  • bigtable.tables.create
  • bigtable.backups.restore

Gestion de l'IAM

Cette section explique comment gérer les rôles IAM et les autorisations associées au niveau du projet, de l'instance, de la table et de la sauvegarde.

Gestion IAM au niveau du projet

Au niveau du projet, vous pouvez attribuer, modifier et révoquer des rôles IAM à l'aide de Google Cloud Console, de l'API IAM ou de Google Cloud CLI Pour savoir comment procéder, consultez la page Attribuer, modifier et révoquer les accès.

Une fois que vous avez créé un projet, vous pouvez attribuer les rôles IAM au niveau du projet aux utilisateurs en fonction des niveaux d'accès spécifiques.

Rôles requis

Avant de définir des rôles IAM au niveau de l'instance, au niveau de la table, au niveau de la sauvegarde ou des rôles IAM autorisés au niveau de la vue pour un utilisateur, assurez-vous que celui-ci possède au moins l'un des rôles IAM suivants au niveau du projet:

  • Lecteur restreint Bigtable (recommandé)
  • Lecteur Bigtable
  • Utilisateur Bigtable
  • Administrateur Bigtable

Choisissez un rôle au niveau du projet qui ne dispose pas d'un nombre d'autorisations supérieur à celui dont l'utilisateur a réellement besoin dans toutes les instances, tables, sauvegardes ou vues autorisées du projet. Pour cette raison, vous devez accorder le rôle de lecteur restreint Bigtable dans presque tous les cas.

Si l'utilisateur ne possède pas au moins l'un de ces rôles au niveau du projet, il n'aura pas accès à Bigtable via la console Google Cloud. La console Google Cloud requiert l'un de ces rôles au niveau du projet pour pouvoir extraire des informations sur les instances, les clusters, les tables ou les sauvegardes au nom de l'utilisateur.

Attribuer des rôles IAM au niveau de l'instance

Au niveau de l'instance, vous pouvez attribuer n'importe quel rôle prédéfini de Bigtable à un utilisateur ou un compte de service. Vous pouvez également accorder tous les rôles personnalisés que vous avez définis.

Pour attribuer un rôle prédéfini ou personnalisé à un utilisateur ou un compte de service au niveau de l'instance :

Console

  1. Accédez à la page "Instances Bigtable" de la console Google Cloud.

    Accéder à la page Instances

  2. Cochez les cases correspondant aux instances dont vous souhaitez gérer les rôles. Un panneau d'information apparaît.

  3. Dans le panneau d'information, cliquez sur Autorisations.

  4. Sous Ajouter des comptes principaux, commencez à saisir l'adresse e-mail de l'utilisateur ou du compte de service que vous souhaitez ajouter, puis cliquez sur l'adresse qui vous convient.

  5. Cliquez sur la liste déroulante Sélectionner un rôle, puis cliquez sur Bigtable pour sélectionner un rôle prédéfini ou sur Personnalisé pour sélectionner un rôle personnalisé.

  6. Cliquez sur le nom de chaque rôle que vous souhaitez attribuer.

  7. Cliquez sur Ajouter. L'utilisateur ou le compte de service se voit attribuer les rôles que vous avez spécifiés au niveau de l'instance.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Exécutez la commande bigtable instances set-iam-policy :

    gcloud bigtable instances set-iam-policy \
    INSTANCE_ID \
    POLICY_FILE
    

    Indiquez les éléments suivants :

    • INSTANCE_ID : identifiant permanent de l'instance.
    • POLICY_FILE : chemin d'accès à un fichier JSON ou YAML local contenant une stratégie IAM valide

Accorder des rôles IAM au niveau de la table

Au niveau de la table, vous pouvez attribuer n'importe quel rôle prédéfini de Bigtable à un utilisateur ou un compte de service. Vous pouvez également accorder tous les rôles personnalisés que vous avez définis.

Pour attribuer un rôle prédéfini ou personnalisé à un utilisateur ou un compte de service au niveau de la table :

Console

  1. Accédez à la page "Instances Bigtable" de la console Google Cloud.

    Accéder à la page Instances

  2. Cliquez sur le nom de l'instance contenant la table pour laquelle vous définissez les rôles IAM.

  3. Ouvrez l'onglet Tables dans le volet de navigation de gauche.

  4. Cochez les cases correspondant aux tables dont vous souhaitez gérer les rôles. Un panneau d'information apparaît.

  5. Dans le panneau d'information, cliquez sur Autorisations.

  6. Sous Ajouter des comptes principaux, commencez à saisir l'adresse e-mail de l'utilisateur ou du compte de service que vous souhaitez ajouter, puis cliquez sur l'adresse qui vous convient.

  7. Cliquez sur la liste déroulante Sélectionner un rôle, puis cliquez sur Bigtable pour sélectionner un rôle prédéfini ou sur Personnalisé pour sélectionner un rôle personnalisé.

  8. Cliquez sur le nom de chaque rôle que vous souhaitez attribuer.

  9. Cliquez sur Ajouter. L'utilisateur ou le compte de service se voit attribuer les rôles que vous avez spécifiés au niveau de la table.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas les ID des tables de l'instance, exécutez la commande bigtable instances tables list pour afficher la liste des tables de l'instance.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • INSTANCE_ID : identifiant permanent de l'instance.
  3. Exécutez la commande bigtable instances tables set-iam-policy :

    gcloud bigtable instances tables set-iam-policy \TABLE_ID \
        --instance=INSTANCE_ID \
        POLICY_FILE
    

    Indiquez les éléments suivants :

    • TABLE_ID: identifiant permanent de la table.
    • INSTANCE_ID : identifiant permanent de l'instance.
    • POLICY_FILE : chemin d'accès à un fichier JSON ou YAML local contenant une stratégie IAM valide

Accorder des rôles IAM au niveau de la sauvegarde

Au niveau de la sauvegarde, vous pouvez attribuer n'importe quel rôle prédéfini de Bigtable à un utilisateur ou un compte de service. Vous pouvez également accorder tous les rôles personnalisés que vous avez définis.

Pour attribuer un rôle prédéfini ou personnalisé à un utilisateur ou un compte de service au niveau de la sauvegarde:

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas les ID de sauvegarde d'une instance, exécutez la commande bigtable instances backups list pour afficher la liste des sauvegardes de l'instance.

    gcloud bigtable backups list --instances=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • INSTANCE_ID : identifiant permanent de l'instance.
  3. Exécutez la commande gcloud bigtable backups set-iam-policy :

    gcloud bigtable backups set-iam-policy BACKUP_ID \
        --instance=INSTANCE_ID \
        --cluster=CLUSTER_ID \
        POLICY_FILE
    

    Indiquez les éléments suivants :

    • BACKUP_ID: identifiant permanent de la sauvegarde.
    • INSTANCE_ID : identifiant permanent de l'instance.
    • TABLE_ID: identifiant permanent de la table
    • POLICY_FILE : chemin d'accès à un fichier JSON ou YAML local contenant une stratégie IAM valide

Attribuer des rôles IAM autorisés au niveau de la vue

Au niveau de la vue autorisée, vous pouvez attribuer n'importe quel rôle prédéfini de Bigtable à un utilisateur ou un compte de service. Vous pouvez également accorder tous les rôles personnalisés que vous avez définis.

Pour attribuer un rôle prédéfini ou personnalisé à un utilisateur ou un compte de service au niveau de la vue autorisée, procédez comme suit:

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance contenant la vue autorisée.

  3. Dans le volet de navigation, cliquez sur Bigtable Studio.

  4. Dans l'explorateur, développez la table et Vues autorisées.

  5. À côté de la vue autorisée que vous souhaitez modifier, cliquez sur le menu d'action more_vert, puis sur Accorder l'accès.

  6. Ajoutez au moins un compte principal et sélectionnez le rôle auquel ce compte principal ou ce groupe de comptes principaux doit être attribué.

  7. Facultatif: Pour accorder l'accès à des rôles supplémentaires, cliquez sur Ajouter un autre rôle, puis saisissez le compte principal et le rôle pour chaque rôle supplémentaire.

  8. Cliquez sur Enregistrer.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas les ID des tables de l'instance, exécutez la commande bigtable instances tables list pour afficher la liste des tables de l'instance.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  3. Si vous ne connaissez pas l'ID de la vue, utilisez la commande bigtable authorized-views list pour afficher la liste de toutes les vues autorisées de la table.

    gcloud bigtable instances tables authorized-views list \
        --instance=INSTANCE_ID \
        --table=TABLE_ID
    
  4. Exécutez la commande bigtable authorized-views set-iam-policy :

    gcloud bigtable authorized-views set-iam-policy TABLE_ID \
        AUTHORIZED_VIEW_ID --instance=INSTANCE_ID POLICY_FILE
    

    Indiquez les éléments suivants :

    • INSTANCE_ID : identifiant permanent de l'instance.
    • TABLE_ID: identifiant permanent de la table
    • AUTHORIZED_VIEW_ID: identifiant permanent de la vue
    • POLICY_FILE : chemin d'accès à un fichier JSON ou YAML local contenant une stratégie IAM valide

Conditions IAM

Les conditions IAM vous permettent de définir et d'appliquer un contrôle d'accès conditionnel basé sur des attributs pour certaines ressources Google Cloud, y compris les ressources Bigtable.

Dans Bigtable, vous pouvez appliquer un accès conditionnel en fonction des attributs suivants :

  • Attributs de date/heure : permettent de définir un accès temporaire (expiration), de planification ou à durée limitée aux ressources Bigtable. Par exemple, vous pouvez autoriser un utilisateur à accéder à une table jusqu'à une date spécifiée.
  • Attributs de ressource : permet de configurer un accès conditionnel en fonction du nom d'une ressource, d'un type de ressource ou des attributs de service d'une ressource. Dans Bigtable, vous pouvez utiliser des attributs d'instances, de clusters, de tables, de sauvegardes et de vues autorisées pour configurer l'accès conditionnel. Par exemple, vous pouvez autoriser un utilisateur à gérer les tables uniquement sur les tables commençant par un préfixe spécifique, ou autoriser un utilisateur à accéder uniquement à une table spécifique.

Pour en savoir plus sur les conditions IAM, consultez la page Présentation des conditions.

Étape suivante

Apprenez-en plus sur IAM.