Contrôle des accès Bigtable avec IAM

Cette page décrit les options de contrôle des accès disponibles 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. A Le projet Google Cloud est le parent d'une table 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. Toi peuvent configurer le contrôle des accès à chaque niveau.

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

Pour en savoir plus sur la hiérarchie IAM, consultez 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 quelques exemples d'utilisation du contrôle des accès au niveau de la sauvegarde:

  • Empêchez un utilisateur de supprimer une sauvegarde.
  • Empêchez un utilisateur d'effectuer une restauration à partir de la sauvegarde.

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

  • Permettez à un utilisateur de lire une vue autorisée, mais pas de la modifier.
  • Permettez à un utilisateur de consulter les données d'une seule des vues autorisées d'une 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 jusqu'à ce que vous activiez le 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 des données à partir d'une sauvegarde Bigtable
bigtable.backups.setIamPolicy Mettez à 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 le tableau, telles que 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 d'affichage autorisé Description
bigtable.authorizedViews.create Créez une vue autorisée.
bigtable.authorizedViews.delete Supprimez une vue autorisée.
bigtable.authorizedViews.get Permet d'obtenir des informations sur une vue autorisée.
bigtable.authorizedViews.getIamPolicy Contrôle des accès pour une vue autorisée Renvoyées sous forme de stratégies Cloud IAM.
bigtable.authorizedViews.list Répertorier les vues autorisées dans une table
bigtable.authorizedViews.mutateRows Modifiez les lignes d'une vue autorisée.
bigtable.authorizedViews.readRows Lire les lignes d'une vue autorisée
bigtable.authorizedViews.sampleRowKeys Obtenez 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 pour une vue autorisée.
bigtable.authorizedViews.update Mettez à jour 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 à vos exigences métier, vous pouvez définir vos propres rôles personnalisés avec les autorisations que vous spécifiez.

Si votre rôle personnalisé doit permettre l'accès à la console Google Cloud, vous doit identifier les tâches que les utilisateurs effectueront, puis s'assurer que le code 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'une tente d'effectuer cette tâche, 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 dans 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 autorisés au niveau de la vue pour un utilisateur, assurez-vous qu'il possède au moins l'un des éléments suivants au niveau du projet Rôles IAM:

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

Choisissez un rôle au niveau du projet qui ne dispose pas d'autres autorisations que l'utilisateur réellement pour l'ensemble des 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 console Google Cloud. La console Google Cloud requiert l'un de ces des rôles au niveau du projet pour récupérer des informations sur les instances, des clusters, des tables ou des 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 compte de service que vous souhaitez ajouter, puis cliquez sur l'adresse e-mail de l'utilisateur ou de service géré.

  5. Cliquez sur la liste déroulante Sélectionner un rôle, puis sur Bigtable pour sélectionner un rôle prédéfini ou sur Personnalisé pour sélectionnez 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 compte de service que vous souhaitez ajouter, puis cliquez sur l'adresse e-mail de l'utilisateur ou de service géré.

  7. Cliquez sur la liste déroulante Sélectionner un rôle, puis sur Bigtable pour sélectionner un rôle prédéfini ou sur Personnalisé pour sélectionnez 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 de table de l'instance, utilisez 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

Attribuer des rôles IAM au niveau de la sauvegarde

Au niveau de la sauvegarde, vous pouvez accorder des autorisations prédéfinies de Bigtable les rôles à 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 niveau de 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, utilisez 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 accorder les rôles prédéfinis de Bigtable à un compte utilisateur ou de service. Vous pouvez également attribuer 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 au niveau de la vue autorisée, exécutez la commande suivante:

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 table de l'instance, utilisez 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, exécutez 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 de 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 attributs des instances, clusters, tables, sauvegardes et vues autorisées pour configurer l'accès conditionnel. Par exemple, vous pouvez autoriser un utilisateur à gérer dans les tables qui commencent par un préfixe spécifique, ou vous pouvez autoriser d'accéder à 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.