Ce document explique comment configurer OS Login.
OS Login vous permet de contrôler l'accès aux instances de machine virtuelle (VM) en fonction des autorisations IAM. Pour en savoir plus sur OS Login, consultez la section À propos d'OS Login.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet 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 :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la Google Cloud console pour accéder aux Google Cloud services et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
- Définissez une région et une zone par défaut.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Si vous utilisez un shell local, créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Vous n'avez pas besoin de le faire si vous utilisez Cloud Shell.
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez le service Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Limites
OS Login n'est pas compatible avec les VM suivantes :- VM Windows Server et SQL Server.
- VM Fedora CoreOS. Pour gérer l'accès aux instances pour des VM créées à l'aide de ces images, utilisez le système Ignition de Fedora CoreOS.
- VM SLES-16. Pour gérer l'accès aux instances pour des VM créées à l'aide de ces images, utilisez le SSH basé sur les métadonnées.
Pour vérifier la compatibilité d'OS Login avec des distributions Linux spécifiques, consultez la page Détails des systèmes d'exploitation.
Attribuer des rôles IAM OS Login
Attribuez tous les rôles IAM requis aux utilisateurs qui se connectent aux VM pour lesquelles OS Login est activé.
| Rôle | Utilisateurs requis | Niveau d'attribution |
|---|---|---|
roles/compute.osLogin ou roles/compute.osAdminLogin |
Tous les utilisateurs |
Si un utilisateur a besoin d'un accès SSH à partir de Google Cloud la console ou de Google Cloud CLI,
vous devez attribuer ces rôles au niveau du projet, ou également attribuer un
rôle au niveau du projet contenant l'autorisation |
roles/iam.serviceAccountUser |
Tous les utilisateurs, si la VM dispose d'un compte de service | Sur le compte de service. |
roles/compute.osLoginExternalUser |
Les utilisateurs d'une organisation différente de la VM à laquelle ils se connectent | Sur l'organisation. Ce rôle doit être attribué par un administrateur de l'organisation. |
Activer OS Login
Vous pouvez activer OS Login pour une seule VM ou pour toutes les VM d'un projet en définissant
enable-oslogin sur TRUE dans les métadonnées du projet ou de l'instance.
Lorsque vous définissez les métadonnées OS Login, Compute Engine supprime les fichiers authorized_keys de la VM et n'accepte plus les connexions à partir de clés SSH stockées dans les métadonnées du projet ou de l'instance.
Activer OS Login pour toutes les VM d'un projet
Pour activer OS Login pour toutes les VM d'un projet, définissez la valeur suivante dans les métadonnées du projet :
- Clé :
enable-oslogin - Valeur :
TRUE
Activer OS Login pour une seule VM
Pour activer OS Login pour une seule VM, définissez la valeur suivante dans les métadonnées d'instance :
- Clé :
enable-oslogin - Valeur :
TRUE
Activer OS Login lors de la création de la VM
Activez OS Login lors de la création d'une VM à l'aide de la Google Cloud console ou de la gcloud CLI.
Console
Créez une VM qui active OS Login au démarrage en créant une VM à partir d'une image publique et en spécifiant les configurations suivantes :
- Développez la section Options avancées.
- Développez la section Sécurité.
- Développez la section Gérer l'accès.
- Sélectionnez Contrôler l'accès aux VM à l'aide des autorisations IAM.
- Cliquez sur Créer pour créer et démarrer la VM.
gcloud
-
Dans la Google Cloud console, activez Cloud Shell.
En bas de la fenêtre de la console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Google Cloud Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
Créez une VM qui active OS Login au démarrage en exécutant la commande
gcloud compute instance createsuivante :gcloud compute instances create VM_NAME \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --metadata enable-oslogin=TRUE
Remplacez les éléments suivants :
VM_NAME: nom de la nouvelle VM.IMAGE_FAMILY: famille d'images d'un système d'exploitation Linux. Cette action crée la VM à partir de l'image d'OS la plus récente et non obsolète. Pour toutes les familles d'images publiques, consultez la page Détails des systèmes d'exploitation.IMAGE_PROJECT: projet d'image contenant la famille d'images. Chaque système d'exploitation possède son propre projet d'image. Pour tous les projets d'images publiques, consultez la page Détails des systèmes d'exploitation.
Terraform
Vous pouvez appliquer les valeurs de métadonnées à vos projets ou VM en utilisant l'une des options suivantes :
Option 1 : définissez
enable-oslogindans les métadonnées à l'échelle du projet afin d'appliquer ce paramètre à toutes les VM de votre projet.Utilisez la ressource Terraform
google_compute_project_metadataet définissez une valeur de métadonnées pour laquelleoslogin=TRUE:Vous pouvez également définir
enable-osloginsurFALSEpour désactiver la OS Login.Option 2: définissez
enable-oslogindans les métadonnées d'une VM nouvelle ou existante.Utilisez la ressource Terraform
google_compute_instanceet définissezoslogin=TRUE. Remplacezoslogin_instance_namepar le nom de votre VM.Vous pouvez également définir
enable-osloginsurFALSEpour empêcher votre VM d'utiliser OS Login.
Se connecter aux VM pour lesquelles OS Login est activé
Connectez-vous aux VM pour lesquelles OS Login est activé à l'aide des méthodes décrites dans la section Se connecter aux VM Linux.
Lorsque vous vous connectez à des VM pour lesquelles OS Login est activé, Compute Engine utilise le nom d'utilisateur que votre administrateur d'organisation a configuré pour vous.
Si l'administrateur de votre organisation n'a pas configuré de nom d'utilisateur pour vous, Compute Engine génère un nom d'utilisateur au format USERNAME_DOMAIN_SUFFIX.
Pour en savoir plus sur les noms d'utilisateur, consultez la page Fonctionnement d'OS Login.
Activer OS Login avec l'authentification A2F
Pour plus de sécurité, vous pouvez exiger des utilisateurs qu'ils utilisent l'authentification à deux facteurs (A2F) lorsqu'ils se connectent à des VM pour lesquelles OS Login est activé. Si vous prévoyez d'utiliser OS Login avec l'authentification à deux facteurs, les utilisateurs doivent configurer la validation en deux étapes sur leurs comptes. Pour en savoir plus sur les méthodes d'authentification A2F compatibles, consultez la section À propos d'OS Login.
Avant d'activer l'authentification A2F, assurez-vous qu'OS Login est activé, comme décrit dans la section Activer OS Login. Pour activer l'authentification A2F d'OS Login, définissez la valeur de métadonnées suivante dans les métadonnées de l'instance ou du projet :
- Clé :
enable-oslogin-2fa - Valeur :
TRUE
Pour que l'authentification A2F d'OS Login soit appliquée, les métadonnées d'OS Login (enable-oslogin)
et d'authentification A2F d'OS Login (enable-oslogin-2fa) doivent être définies sur TRUE.
Lorsque vous vous connectez à des VM sur lesquelles OS Login est activé avec l'authentification A2F, un message basé sur la méthode de validation en deux étapes ou le type de question d'authentification que vous avez sélectionné s'affiche. Pour la méthode par invite téléphonique, acceptez les invites sur votre téléphone ou tablette pour continuer. Pour les autres méthodes, entrez votre code de sécurité ou votre mot de passe à usage unique.
Résoudre les problèmes liés à OS Login
Pour connaître les méthodes de diagnostic et de résolution des erreurs liées à OS Login, consultez la section Résoudre les problèmes liés à OS Login.
Étapes suivantes
- Découvrez comment les connexions SSH aux VM Linux fonctionnent sur Compute Engine.
- Découvrez comment utiliser les certificats SSH (aperçu) pour vous connecter à des VM.
- Découvrez comment utiliser SSH avec des clés de sécurité (aperçu) pour restreindre davantage l'accès aux VM.