Ce document explique comment utiliser un compte de service pour se connecter à des instances de machines virtuelles (VM) Compute Engine à l'aide de SSH. Configurer SSH pour un compte de service vous permet de configurer des applications pour utiliser SSH, ce qui peut vous aider à automatiser vos charges de travail.
Avant de commencer
- Créez un compte de service.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux Google Cloud services et aux API.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Se connecter manuellement aux VM en tant que compte de service
Pour vous connecter aux VM en tant que compte de service, appliquez l'une des méthodes suivantes :
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
- Toutes les autorisations incluses dans le rôle Créateur de jetons du compte de service (
roles/iam.serviceAccountTokenCreator
), sur le compte de service. Pour plus d'informations sur l'attribution de ce rôle sur un compte de service unique, consultez la section Gérer l'accès aux comptes de service. - Si vous utilisez OS Login, vous avez besoin de toutes les autorisations incluses dans l'un des rôles IAM OS Login sur le compte de service.
- Si vous n'utilisez pas OS Login, le compte de service nécessite également l'autorisation
compute.projects.setCommonInstanceMetadata
.
Utilisez l'option --impersonate-service-account
de gcloud CLI pour vous connecter directement à une VM à l'aide de l'identité d'un compte de service. Exécutez la commande suivante pour vous connecter à une VM en tant que compte de service :
gcloud compute sshVM_NAME \ --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
Remplacez les éléments suivants :
VM_NAME
: nom de la VM sur laquelle vous souhaitez vous connecter au compte de service.SERVICE_ACCOUNT_EMAIL
: adresse e-mail associée au compte de service.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
- Toutes les autorisations incluses dans le rôle Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service et votre compte utilisateur. Pour plus d'informations sur l'attribution de ce rôle sur un compte de service unique, consultez la section Gérer l'accès aux comptes de service. - Si vous utilisez OS Login, vous avez besoin de toutes les autorisations incluses dans l'un des rôles IAM OS Login sur le compte de service et votre compte utilisateur.
- Si vous n'utilisez pas OS Login, vous devez également disposer de l'autorisation
compute.projects.setCommonInstanceMetadata
sur le compte de service et votre compte utilisateur.
Vous devez également attribuer votre compte de service à une VM et définir le niveau d'accès cloud-platform
sur la VM.
Empruntez l'identité d'un compte de service d'une autre VM en procédant comme suit :
- Connectez-vous à la VM qui s'exécute en tant que compte de service.
À partir de la VM qui s'exécute en tant que compte de service, connectez-vous à d'autres VM à l'aide des mêmes méthodes.
Étapes suivantes
- Découvrez comment configurer des applications pour utiliser SSH.
- Obtenez plus d'informations sur le fonctionnement des connexions SSH dans Compute Engine, y compris la configuration et le stockage de clés SSH.