S'authentifier auprès de Bigtable

Ce document explique comment s'authentifier de manière automatisée auprès de Bigtable. La méthode d'authentification auprès de Bigtable dépend de l'interface que vous utilisez pour accéder à l'API et de l'environnement dans lequel votre code s'exécute.

Pour en savoir plus sur l'authentification Google Cloud, consultez la page Présentation de l'authentification.

Accès API

Bigtable est compatible avec l'accès automatisé. Vous pouvez accéder à l'API de différentes manières:

Bibliothèques clientes

Les bibliothèques clientes Bigtable offrent une compatibilité de haut niveau avec les langages de programmation pour l'authentification auprès de Bigtable de manière automatisée. Pour authentifier les appels aux API Google Cloud, les bibliothèques clientes sont compatibles avec les ADC (Identifiants par défaut de l'application). Les bibliothèques recherchent des identifiants dans un ensemble d'emplacements définis et les utilisent pour authentifier les requêtes adressées à l'API. Le service ADC vous permet de mettre des identifiants à disposition de votre application dans divers environnements, tels que l'environnement de développement local ou l'environnement de production, sans avoir à modifier le code de votre application.

Google Cloud CLI

Lorsque vous utilisez la gcloud CLI pour accéder à Bigtable, vous vous connectez à la gcloud CLI avec un compte Google, qui fournit les identifiants utilisés par les commandes de la gcloud CLI.

Si les règles de sécurité de votre organisation empêchent les comptes utilisateur de disposer des autorisations requises, vous pouvez utiliser l'emprunt d'identité du compte de service.

Pour en savoir plus, consultez la section S'authentifier pour utiliser gcloud CLI. Pour en savoir plus sur l'utilisation de la gcloud CLI avec Bigtable, consultez les pages de référence de la gcloud CLI.

Configurer l'authentification pour Bigtable

La façon dont vous configurez l'authentification dépend de l'environnement dans lequel votre code s'exécute.

Les options de configuration d'authentification suivantes sont les plus couramment utilisées. Pour plus d'options et pour en savoir plus sur l'authentification, consultez la section Authentification chez Google.

Pour un environnement de développement local

Vous pouvez configurer les identifiants pour un environnement de développement local comme suit :

Bibliothèques clientes ou outils tiers

Configurez les identifiants par défaut de l'application dans votre environnement local :

  1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

    gcloud init
  2. Créez des identifiants d'authentification locaux pour votre compte Google :

    gcloud auth application-default login

    Un écran de connexion s'affiche. Une fois que vous êtes connecté, vos identifiants sont stockés dans le fichier d'identifiants local utilisé par ADC.

Pour en savoir plus sur l'utilisation des ADC dans un environnement local, consultez la section Environnement de développement local.

Sur Google Cloud

Pour authentifier une charge de travail exécutée sur Google Cloud, vous devez utiliser les identifiants du compte de service associé à la ressource de calcul où votre code est exécuté. Par exemple, vous pouvez associer un compte de service à une instance de machine virtuelle (VM) Compute Engine, à un service Cloud Run ou à un job Dataflow. Cette approche est la méthode d'authentification recommandée pour le code exécuté sur une ressource de calcul Google Cloud.

Pour la plupart des services, vous devez associer le compte de service lorsque vous créez la ressource qui exécutera votre code. Vous ne pourrez pas ajouter ni remplacer le compte de service ultérieurement. Compute Engine fait exception, car il vous permet d'associer un compte de service à une instance de VM à tout moment.

Créez un compte de service à l'aide de la gcloud CLI et associez-le à votre ressource :

  1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

    gcloud init
  2. Configurez l'authentification :

    1. Créez le compte de service :

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Remplacez SERVICE_ACCOUNT_NAME par le nom que vous souhaitez donner au compte de service.

    2. Pour accorder l'accès à votre projet et à vos ressources, attribuez un rôle au compte de service :

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Remplacez les éléments suivants :

      • SERVICE_ACCOUNT_NAME : nom du compte de service.
      • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
      • ROLE : rôle à accorder
    3. Pour attribuer un autre rôle au compte de service, exécutez la commande comme vous l'avez fait à l'étape précédente.
    4. Attribuez à votre compte Google un rôle vous permettant d'utiliser les rôles du compte de service et d'associer le compte de service à d'autres ressources :

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Remplacez les éléments suivants :

      • SERVICE_ACCOUNT_NAME : nom du compte de service.
      • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
      • USER_EMAIL: adresse e-mail de votre compte Google
  3. Créez la ressource qui exécutera votre code et associez-lui le compte de service. Par exemple, si vous utilisez Compute Engine :

    Créez une instance Compute Engine. Configurez l'instance comme suit :
    • Remplacez INSTANCE_NAME par le nom d'instance de votre choix.
    • Définissez l'indicateur --zone sur la zone dans laquelle vous souhaitez créer votre instance.
    • Définissez l'option --service-account sur l'adresse e-mail du compte de service que vous avez créé.
    gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL

Pour en savoir plus sur l'authentification auprès des API Google, consultez la page Authentification chez Google.

Sur site ou chez un autre fournisseur cloud

La méthode recommandée pour configurer l'authentification en dehors de Google Cloud consiste à utiliser la fédération d'identité de charge de travail. Pour en savoir plus, consultez la section Fournisseur sur site ou autre fournisseur cloud dans la documentation sur l'authentification.

Contrôle des accès pour Bigtable

Une fois que vous êtes authentifié auprès de Bigtable, vous devez être autorisé à accéder aux ressources Google Cloud. Bigtable utilise Identity and Access Management (IAM) pour l'autorisation.

Pour en savoir plus sur les rôles pour Bigtable, consultez la page Contrôle des accès avec IAM. Pour en savoir plus sur IAM et les autorisations, consultez la section Présentation d'IAM.

Étapes suivantes