Utiliser Spanner dans une instance de machine virtuelle
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page explique comment donner à votre instance de machine virtuelle Compute Engine le droit d'accéder à une base de données Spanner.
Votre instance peut accéder à l'API Cloud Spanner à partir de Compute Engine via un compte de service agissant en votre nom. Ce compte fournit les identifiants par défaut de toutes vos applications. Ainsi, vous n'avez pas besoin de configurer l'utilisation de vos identifiants d'utilisateur personnels pour chaque instance de Compute Engine.
Configurez le compte de service sur votre instance avec l'une des options suivantes :
Configurer une instance pouvant accéder à toutes les API Cloud
Pour permettre rapidement à votre instance d'accéder à l'API Cloud Spanner, créez une nouvelle instance de sorte qu'elle utilise le compte de service par défaut ainsi qu'un champ d'application avec un accès complet à toutes les API Cloud.
Accédez à la page "Instances de VM" de Compute Engine.
Cliquez sur Créer une instance pour commencer à créer une instance.
Dans la section Identité et accès à l'API, cliquez sur Autoriser l'accès complet à l'ensemble des API Cloud.
Configurez les autres paramètres de l'instance selon vos besoins, puis cliquez sur Créer.
Maintenant que le compte de service de votre instance Compute Engine a accès à l'API Cloud Spanner, utilisez une bibliothèque cliente pour lire et écrire des données dans votre base de données Spanner. L'instance utilise les identifiants du compte de service par défaut pour s'authentifier auprès de l'API Cloud Spanner.
Configurer une instance avec un compte de service
Pour limiter l'accès des instances à des API et à des rôles spécifiques, créez un compte de service n'ayant l'autorisation d'accéder qu'à vos bases de données Spanner. Puis, appliquez le compte de service à votre instance.
Sélectionnez un compte de service qui agira en votre nom pour accéder à Spanner. Utilisez l'une des options suivantes :
Cliquez sur Créer une instance pour commencer à créer une instance.
Dans la section Identité et accès à l'API, sous la rubrique Compte de service, sélectionnez le compte de service dans la liste.
Configurez les autres paramètres de l'instance selon vos besoins, puis cliquez sur Créer.
Maintenant que le compte de service de votre instance Compute Engine a accès à l'API Cloud Spanner, utilisez une bibliothèque cliente pour lire et écrire des données dans votre base de données Spanner. L'instance utilise les identifiants du compte de service pour s'authentifier auprès de l'API Cloud Spanner.
Découvrez davantage d'informations sur les comptes de service sur Compute Engine et sur la manière de les utiliser pour accorder des rôles IAM et des champs d'application d'accès aux API aux applications qui s'exécutent sur vos instances.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[],[],null,["# Using Spanner in a virtual machine instance\n\nThis page describes how to grant your Compute Engine\n[virtual machine instance](/compute/docs/instances) permission to access a\nSpanner database.\n\nYour instance can access the Cloud Spanner API from Compute Engine by\nusing a service account to act on your behalf. The service account provides\n[application default credentials](https://developers.google.com/identity/protocols/application-default-credentials)\nfor your applications so that you don't need to configure each\nCompute Engine instance to use your personal user credentials.\n\nConfigure the service account on your instance with one of the following\noptions:\n\n- For easy development and testing, configure your instance to [use the default service account with full access to all Cloud APIs](#default-full-access).\n- For production environments, [create a service account with read and write access to your Spanner databases](#service-account) and apply it to your instance.\n\nConfigure an instance with access to all Cloud APIs\n---------------------------------------------------\n\nTo quickly allow your instance to access the Cloud Spanner API, create a new instance\nto use the default service account and a scope with full access to all Cloud\nAPIs.\n\n1. Go to the Compute Engine VM instances page.\n\n [Go to the VM instances page](https://console.cloud.google.com/compute/instances)\n2. Select your project and click **Continue**.\n\n3. Click **Create Instance** to start creating a new instance.\n\n4. In the **Identity and API access** section, click **Allow full access to all Cloud APIs**.\n\n5. Configure other instance settings as needed, then click **Create**.\n\nNow that the service account on your Compute Engine instance has access\nto the Cloud Spanner API, [use a client library](/spanner/docs/tutorials) to read\nand write data in your Spanner database. The instance uses the\ncredentials from the default service account to authenticate with the\nCloud Spanner API.\n\nConfigure an instance with a service account\n--------------------------------------------\n\nTo restrict instance access to specific APIs and roles, create a service\naccount with permission only to access your Spanner\ndatabases. Then, apply the service account to your instance.\n\n1. Select a service account that will act on your behalf to access\n Spanner. Use one of the following options:\n\n - [Create a new service account](/iam/docs/service-accounts-create).\n - [Identify an existing service account](/iam/docs/service-accounts-list-edit#listing) that you can use for your instance.\n2. [Grant a role to the service account](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource)\n so that it has the necessary permissions to access Spanner. For a\n list of roles that apply to Spanner, see\n [Access Control for Spanner](/spanner/docs/iam#roles).\n\n3. Go to the Compute Engine VM instances page.\n\n [Go to the VM instances page](https://console.cloud.google.com/compute/instances)\n4. Select your project and click **Continue**.\n\n5. Click **Create Instance** to start creating a new instance.\n\n6. In the **Identity and API access** section, select the service account\n from the list under **Service account**.\n\n7. Configure other instance settings as needed, then click **Create**.\n\nNow that the service account on your Compute Engine instance has access\nto the Cloud Spanner API, [use a client library](/spanner/docs/tutorials) to read\nand write data in your Spanner database. The instance uses the\nservice account credentials to authenticate with the Cloud Spanner API.\n\nWhat's next\n-----------\n\n- [Connect to your instance](/compute/docs/instances/connecting-to-instance) and follow a [client library tutorial](/spanner/docs/tutorials) to learn how to read and write data to Spanner from your instance.\n- Learn more about [service accounts on Compute Engine](/compute/docs/access/service-accounts) and how you can use them to grant IAM roles and API access scopes to the applications that run on your instances.\n- Learn how to [change service accounts on existing instances](/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes).\n- Learn more about [creating and starting an Compute Engine instances](/compute/docs/instances/create-start-instance)."]]