Ce document explique comment utiliser OS Login pour gérer l'accès aux instances de VM dans votre organisation.
Ce sujet couvre les tâches suivantes :
- Activer OS Login pour une organisation à l'aide d'une règle d'administration : utilisez une règle d'administration pour vous assurer qu'OS Login est activé pour toutes les nouvelles instances de VM de votre organisation.
- Accorder un accès aux instances à des utilisateurs extérieurs à l'organisation : autorisez les comptes utilisateur extérieurs à votre organisation à se connecter en SSH à vos instances.
- Gérer l'API OS Login : autorisez ou refusez aux utilisateurs l'accès à l'API OS Login. Activez ou désactivez également les fonctionnalités de l'API OS Login.
- Effectuer un audit des événements OS Login : suivez les événements et activités liés à OS Login, tels que l'ajout, la suppression ou la mise à jour d'une clé SSH, ou la suppression d'informations POSIX.
- Modifier des comptes utilisateur à l'aide de l'API Directory : mettez à jour les propriétés utilisateur, telles que le nom d'utilisateur et les informations de compte POSIX, à l'aide de l'API Directory.
- Utiliser des groupes Linux avec OS Login : gérez les autorisations utilisateur des VM en utilisant des groupes Linux avec OS Login.
- Utilisez OS Login avec la fédération d'identité de personnel (bêta) : connectez-vous aux VM sur lesquelles OS Login est activé lorsque votre organisation utilise un fournisseur d'identité externe (IdP).
Avant de commencer
-
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 services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
enable-oslogin=true
est inclus dans les métadonnées du projet pour tous les nouveaux projets.- Les requêtes qui définissent
enable-oslogin
surfalse
dans les métadonnées d'instances ou de projets sont rejetées, pour les VM et les projets nouveaux et existants. - Cloud Data Fusion 6.1.4 et versions antérieures.
- Cloud Composer 1
- Clusters publics Google Kubernetes Engine (GKE) qui exécutent des versions antérieures à 1.23.5
- Clusters privés GKE qui exécutent des versions de pool de nœuds antérieures à 1.20.5
- Dataproc sans serveur
- 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.
- Dans Google Cloud Console, accédez à la page Règles d'administration.
- Dans la liste des règles, cliquez sur Exiger OS Login pour afficher les contraintes OS Login.
- Cliquez sur Modifier pour modifier vos contraintes OS Login existantes.
- Sur la page Modifier, sélectionnez Personnaliser.
- Pour activer l'application de cette contrainte, sélectionnez Activer.
- Cliquez sur Enregistrer pour appliquer les paramètres relatifs aux contraintes.
Trouvez l'ID de votre organisation.
gcloud organizations list
Définissez la contrainte dans votre organisation. Remplacez
organization-id
par l'ID de votre organisation.gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --organization=organization-id
folder-id
: l'ID de votre dossier.project-id
: l'ID de votre projet.- Dans Google Cloud Console, accédez à la page IAM et administration.
- Cliquez sur le menu déroulant Sélectionner un projet. Dans la boîte de dialogue Sélectionner une ressource qui s'affiche, sélectionnez votre organisation en procédant comme suit :
- Cliquez sur le menu déroulant "Organisation" pour afficher toutes vos organisations.
- Sélectionnez votre organisation dans la liste déroulante.
- Cliquez sur Accorder l'accès pour ajouter un nouveau rôle à un utilisateur.
- Dans le champ Nouveaux comptes principaux, ajoutez l'adresse e-mail de l'utilisateur pour lequel vous souhaitez configurer l'accès à l'instance.
- Dans le menu déroulant Rôle, sélectionnez le rôle Utilisateur externe Compute OS Login.
- Cliquez sur Enregistrer.
- Si vous ne l'avez pas déjà fait, accordez à l'utilisateur tous les autres rôles d'accès aux instances pertinents au niveau du projet ou de l'organisation.
- Choisissez d'inclure ou non le suffixe de domaine dans les noms d'utilisateur générés par l'API OS Login. Par exemple, dans le domaine
example.com
, l'utilisateuruser@example.com
aura le nom d'utilisateuruser
si le paramètre permettant d'inclure le suffixe de domaine n'est pas coché. - Décidez si les membres de votre organisation peuvent gérer les clés SSH à l'aide de l'API OS Login.
- Limitez ou autorisez l'accès aux VM pour les utilisateurs extérieurs à votre organisation.
- Modifiez les paramètres de connexion de l'instance.
- Définissez un utilisateur comme administrateur.
- Modifiez les propriétés utilisateur, telles que le nom du compte et l'adresse e-mail.
- Ajoutez et supprimez des clés SSH pour un utilisateur.
- Modifiez les informations relatives au compte POSIX.
- Modifiez le nom d'utilisateur auquel les utilisateurs se connectent sur l'instance.
USER_KEY
: adresse e-mail principale, adresse e-mail d'alias ou ID utilisateur unique de l'utilisateur.USERNAME
: nom d'utilisateur que Compute Engine ajoute à la VM pour l'utilisateur. Cette valeur doit être unique au sein de votre organisation et ne doit pas se terminer par un tilde ("~") ni contenir un point (".").UID
: identifiant spécifique à cet utilisateur sur la VM. Cette propriété doit être une valeur comprise entre1001
et60000
, ou une valeur comprise entre65535
et2147483647
. Pour accéder à un système d'exploitation Container-Optimized OS, l'identifiantUID
doit avoir une valeur comprise entre65536
et214748646
. Cet identifiantUID
doit être unique au sein votre organisation.GID
: ID de groupe pour la VM à laquelle appartient l'utilisateur.USER_HOME_PATH
: (facultatif) répertoire d'accueil de la VM pour l'utilisateur. Exemple :/home/example_username
SHELL_PATH
: (facultatif) chemin d'accès au shell par défaut pour l'utilisateur après sa connexion à l'instance. Par exemple,/bin/bash
ou/bin/sh
.KEY_VALUE
: valeur de la clé SSH publiqueEXPIRATION_TIME
: (facultatif) délai d'expiration de la clé en microsecondes depuis l'epoch (1 seconde = 106 microsecondes).- Créer un pool d'identités de personnel
- Configurez des mappages d'attributs
google.posix_username
. Configurez votre VM pour qu'elle utilise OS Login avec la fédération d'identité de personnel en procédant comme suit :
Vérifiez qu'OpenSSH 7.4 ou une version ultérieure est installé sur la VM en exécutant la commande suivante sur la VM :
ssh -V
La VM à laquelle vous vous connectez doit disposer d'OpenSSH version 7.4 ou ultérieure pour utiliser la fédération des identités des employés avec OS Login.
Les utilisateurs des organisations qui utilisent la fédération des identités des employés ne peuvent pas accéder aux ports série de la VM.
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Exécutez la commande suivante :
gcloud beta compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant la VMZONE
: nom de la zone dans laquelle se trouve la VMVM_NAME
: nom de la VM
Si vous avez défini les propriétés par défaut de Google Cloud CLI, vous pouvez omettre les options
--project
et--zone
de cette commande. Exemple :gcloud compute ssh VM_NAME
-
Installez IAP Desktop sur votre poste de travail, si ce n'est pas déjà fait.
-
Ouvrez IAP Desktop. La fenêtre Ajouter des projets s'ouvre.
-
Lorsque vous y êtes invité, connectez-vous avec la fédération d'identité des employés.
-
Dans la fenêtre Ajouter des projets, saisissez l'ID ou le nom du projet qui contient les VM auxquelles vous souhaitez vous connecter.
-
Dans la fenêtre Explorateur de projets, effectuez à nouveau un clic droit sur le nom de la VM et sélectionnez Se connecter pour vous connecter à la VM.
- Créez une clé SSH si vous n'en avez pas encore.
Signez votre clé SSH publique à l'aide de la méthode
users.projects.locations.signSshPublicKey
:POST https://oslogin.googleapis.com/v1beta/users/USER/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" }
Remplacez les éléments suivants :
USER
: identité unique d'un pool de personnel, au format suivant :principal:%2F%2Fiam.googleapis.com%2Flocations%2Fglobal%2FworkforcePools%2POOL_ID%2Fsubject%2FSUBJECT_ATTRIBUTE_VALUE
Remplacez les éléments suivants :
POOL_ID
: pool de personnel auquel l'utilisateur appartient.SUBJECT_ATTRIBUTE_VALUE
: valeur du mappage d'attributsgoogle.posix_username
de l'utilisateur.
PROJECT_ID
: ID du projet contenant la VM à laquelle vous souhaitez vous connecter.LOCATION
: zone où se trouve la VM à laquelle vous souhaitez vous connecter.PUBLIC_KEY
: contenu de votre fichier de clé publique SSH
Copiez le certificat SSH à partir de la sortie de la méthode
user.signSshPublicKey
et enregistrez le contenu dans un nouveau fichier.Définissez des autorisations sur le fichier de certificat SSH en exécutant la commande suivante :
sudo chmod 600 FILE_NAME
Remplacez
FILE_NAME
par le nom du fichier.Connectez-vous à la VM à l'aide de la commande suivante :
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Remplacez les éléments suivants :
PATH_TO_PRIVATE_KEY
: chemin d'accès au fichier de clé SSH privée.PATH_TO_SSH_CERTIFICATE
: chemin d'accès à votre fichier de certificat SSH.USERNAME
: valeur du mappage d'attributsgoogle.posix_username
de l'utilisateur.EXTERNAL_IP
: adresse IP externe de la VM.
- Découvrez comment configurer OS Login.
- Découvrez comment configurer OS Login avec la validation en deux étapes.
- Consultez la présentation de la fonctionnalité OS Login.
- Découvrez comment résoudre les problèmes liés à OS Login.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Règles d'administration d'OS Login
Vous pouvez configurer une contrainte OS Login au sein de votre organisation afin que tous les nouveaux projets et les instances de VM créées dans ces nouveaux projets soient activés.
Lorsque cette contrainte est configurée, les conditions suivantes sont appliquées :
Limites
OS Login n'est pas compatible avec les produits, fonctionnalités et VM suivants :Solutions de contournement pour Cloud Data Fusion, Cloud Composer et GKE
Pour utiliser OS Login dans des organisations qui utilisent Cloud Data Fusion, Cloud Composer et GKE, vous pouvez activer la contrainte OS Login au niveau de l'organisation, puis la désactiver de manière sélective sur les projets ou dossiers pour les projets concernés.
Pour plus d'informations sur la modification des règles d'administration, consultez la section Créer et modifier des règles.
Activer la règle d'administration
Pour activer la règle OS Login, vous pouvez définir la contrainte OS Login sur des projets et dossiers spécifiques à l'aide de Google Cloud CLI. Vous pouvez également définir la contrainte OS Login sur l'ensemble de l'organisation à l'aide de Google Cloud Console ou de Google Cloud CLI.
Console
Pour définir les règles d'organisation OS Login depuis la console, procédez comme suit :
gcloud
Pour définir la règle d'administration d'OS Login, exécutez la commande
gcloud beta resource-manager org-policies enable-enforce
.Vous pouvez également appliquer les règles d'administration d'OS Login à un dossier ou à un projet avec respectivement les options
--folder
ou--project
, ainsi que l'ID de dossier et de projet.Pour les dossiers, exécutez la commande suivante :
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --folder=folder-id
Pour les projets, exécutez la commande suivante :
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --project=project-id
Remplacez les éléments suivants :
Accorder un accès aux instances à des utilisateurs extérieurs à l'organisation
Par défaut, les utilisateurs n'appartenant pas à votre organisation ne peuvent pas accéder aux instances de votre organisation ni leur définir de clés SSH. Dans certains cas, vous devrez peut-être accorder un accès aux instances aux utilisateurs appartenant à une autre organisation ou disposant d'un compte
gmail.com
Google grand public.Le rôle IAM
roles/compute.osLoginExternalUser
permet aux comptes Google externes d'interagir avec les autres rôles OS Login en leur permettant de configurer des informations de compte POSIX.Pour accorder
roles/compute.osLoginExternalUser
et d'autres rôles d'accès aux instances d'OS Login nécessaires à des utilisateurs extérieurs à votre organisation, procédez comme suit :L'utilisateur peut désormais se connecter à des instances de votre projet avec connexion à Login OS activée.
Gérer l'API OS Login
Au niveau de l'organisation, vous pouvez restreindre l'accès à l'API OS Login en définissant des commandes d'administration Google Workspace. Pour configurer des commandes d'administration Google Workspace ou afficher les options de configuration, consultez la section Contrôler qui utilise Google Cloud dans votre organisation. En tant qu'administrateur Google Workspace, vous pouvez également activer ou désactiver certaines fonctionnalités de l'API OS Login. Cela inclut les options suivantes :
Pour en savoir plus sur l'activation ou la désactivation des paramètres de l'API OS Login, consultez la section Choisir les paramètres de Google Cloud Platform.
Effectuer un audit des événements OS Login
En tant qu'administrateur Google Workspace, vous pouvez utiliser le SDK Admin Google Workspace pour effectuer un audit des actions effectuées avec l'API OS Login. En examinant ces événements, vous pouvez effectuer le suivi de l'ajout, de la suppression ou de la mise à jour d'une clé SSH par un utilisateur, ou de la suppression d'informations de compte POSIX.
Vous pouvez récupérer les événements d'audit de l'API OS Login depuis le SDK Admin Google Workspace en appelant
Activities.list()
avecapplicationName=gcp
. Pour plus d'informations, consultez la section sur les événements liés aux activités Google Cloud dans la documentation de l'API de création de rapports du SDK Admin Google Workspace.Modifier des comptes utilisateur à l'aide de l'API Directory
OS Login utilise vos paramètres utilisateur Cloud Identity ou Google Workspace lors de la connexion à une instance. Si vous êtes administrateur d'une organisation, vous pouvez utiliser l'API Directory pour effectuer les tâches suivantes pour vos comptes utilisateur Google Workspace ou Cloud Identity :
Les exemples suivants montrent comment modifier ou supprimer des comptes utilisateur à l'aide de l'API Directory. Pour plus d'informations sur les propriétés de compte que vous pouvez modifier, consultez la documentation de référence de l'API Directory.
Modifier les propriétés de compte
Pour modifier les informations de compte POSIX d'un utilisateur ou gérer les clés SSH de l'utilisateur, envoyez une requête
PUT
à la méthodedirectory.users.update
et spécifiez une ou plusieurs propriétés à modifier pour le compte utilisateur.Si vous modifiez les propriétés
posixAccounts
d'un utilisateur, vous devez spécifier les valeursusername
,uid
etgid
actuelles ou nouvelles dans la requête.Si vous modifiez les propriétés
sshPublicKeys
de l'utilisateur, vous devez spécifier la valeurkey
dans la requête.Voici un exemple de requête
PUT
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": [ { "username": "USERNAME", "uid": "UID", "gid": "GID", "homeDirectory": "USER_HOME_PATH", "shell": "SHELL_PATH" } ], "sshPublicKeys": [ { "key": "KEY_VALUE", "expirationTimeUsec": EXPIRATION_TIME } ], }
Remplacez les éléments suivants :
Supprimer les propriétés de compte
Pour effacer les données
posixAccounts
etsshPublicKeys
d'un utilisateur, envoyez une requêtePUT
à la méthodedirectory.users.update
en définissant les champsposixAccounts
etsshPublicKeys
surnull
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": null, "sshPublicKeys": null }
Remplacez
USER_KEY
par l'adresse e-mail principale de l'utilisateur, l'adresse e-mail d'alias ou l'ID utilisateur unique.Utiliser des groupes Linux avec OS Login
Les administrateurs d'organisation peuvent utiliser l'API Cloud Identity Groups afin de configurer des groupes Linux supplémentaires pour les utilisateurs d'OS Login en créant et en gérant des groupes POSIX. OS Login associe des groupes POSIX à des groupes Linux supplémentaires dans les VM de votre organisation afin de vous permettre de gérer les autorisations dont disposent les utilisateurs dans vos VM.
Gérer l'appartenance des utilisateurs à des groupes Linux
Pour créer un groupe POSIX, consultez la section Créer et mettre à jour des groupes POSIX.
Pour ajouter des utilisateurs à un groupe, consultez la section Ajouter ou inviter des utilisateurs à un groupe.
Les mises à jour d'adhésion prennent effet dans les 10 minutes. Les modifications de groupe sont reflétées dans toutes les nouvelles VM. La propagation des mises à jour de groupes POSIX sur l'ensemble des VM déjà en cours d'exécution peut prendre jusqu'à six heures. Les utilisateurs devront peut-être se déconnecter ou utiliser la commande
newgrp
pour appliquer les modifications du groupe.Limites de débit pour les groupes Linux avec OS Login
Les groupes Linux avec OS Login utilisent un quota
oslogin.googleapis.com/metadata_server_groups_requests
. Par défaut, la limite de quota est de 60 requêtes/minute, par projet pour une région donnée.Si vous avez besoin d'augmenter la limite de débit, vous pouvez demander des quotas supplémentaires à partir de la page "Quotas" de la console Google Cloud.
Utiliser la fédération d'identité de personnel avec OS Login
Les organisations utilisant la fédération d'identité de personnel peuvent utiliser OS Login pour gérer l'accès à leurs VM. Lorsque la fédération d'identité de personnel est activée pour une organisation, OS Login utilise l'authentification basée sur un certificat plutôt que sur une clé pour vérifier les identités des utilisateurs.
Avant de commencer
Limites
Se connecter aux VM qui utilisent OS Login et la fédération d'identité de personnel
Connectez-vous aux VM qui utilisent OS Login avec la fédération d'identité de personnel en utilisant la console Google Cloud, gcloud CLI ou d'autres clients SSH.
Console
Lorsque vous vous connectez à des VM qui utilisent OS Login avec une fédération d'identité de personnel à l'aide de SSH dans le navigateur, Compute Engine configure le certificat SSH en votre nom lorsque vous essayez de vous connecter.
Pour vous connecter à des VM, procédez comme suit :
gcloud
Lorsque vous vous connectez à des VM qui utilisent OS Login avec une fédération d'identité des employés à l'aide de gcloud CLI, Compute Engine configure le certificat SSH en votre nom lorsque vous essayez de vous connecter.
Connectez-vous à une VM à l'aide de SSH en exécutant la commande
gcloud beta compute ssh
:IAP Desktop
Lorsque vous vous connectez à des VM qui utilisent OS Login avec une fédération d'identité des employés à l'aide de IAP Desktop, Compute Engine configure le certificat SSH en votre nom lorsque vous essayez de vous connecter.
Pour vous connecter à une VM à l'aide d'IAP Desktop, procédez comme suit :
Client SSH
Pour vous connecter à une VM qui utilise OS Login avec la fédération d'identité de personnel à l'aide d'un client SSH, procédez comme suit :
Étapes suivantes
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 2024/11/29 (UTC).
-