Surveiller les journaux d'audit OS Login


Vous pouvez surveiller les tentatives de connexion aux instances de machines virtuelles (VM) sur lesquelles OS Login et l'authentification à deux facteurs (2FA) OS Login sont activés en affichant les journaux d'audit OS Login. Ces journaux d'audit sont toujours activés et ne peuvent pas être désactivés par les configurations d'accès aux données.

Vous pouvez également suivre les événements et les 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 avec le SDK Admin Google Workspace.

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 :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

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

      gcloud init
    2. Définissez une région et une zone par défaut.

Afficher les journaux d'audit OS Login

Pour afficher la liste des tentatives de connexion à OS Login, interrogez Cloud Audit Logs.

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Dans le champ Requête, saisissez la requête suivante :

    protoPayload.serviceName="oslogin.googleapis.com"
    

  3. Si l'événement que vous recherchez s'est produit il y a plus d'une heure, définissez une période personnalisée en cliquant sur le symbole de l'horloge et en saisissant une plage personnalisée.

    Définissez la période de la requête.

  4. Cliquez sur Run query. Les résultats sont affichés dans la section Résultats de la requête.

  5. Cliquez sur la flèche de développement à côté de chaque résultat pour afficher des informations détaillées.

  6. Pour en savoir plus sur les types de journaux d'audit OS Login et leur signification, consultez la section Examiner les journaux d'audit OS Login de ce document.

gcloud

  1. Affichez les journaux d'audit Cloud à l'aide de la commande gcloud logging read :

    gcloud logging read --freshness=TIME 'protoPayload.serviceName="oslogin.googleapis.com"'
    

    Remplacez TIME par la période que vous souhaitez interroger. Par exemple, 1h interroge les entrées du journal de la dernière heure. Pour en savoir plus sur les formats de date et d'heure, consultez la section gcloud topic datetimes.

    Les résultats s'affichent.

  2. Pour en savoir plus sur les types de journaux d'audit OS Login et leur signification, consultez la section Examiner les journaux d'audit OS Login de ce document.

Examiner les journaux d'audit OS Login

Examinez les champs methodName et principalEmail des journaux d'audit pour en savoir plus sur les types de tentatives de connexion aux VM pour lesquelles OS Login est activé et les utilisateurs qui ont initié ces tentatives de connexion.

  • Développez la section protoPayload pour afficher le champ methodName correspondant à la tentative de connexion. Pour connaître la signification de chaque champ methodName, consultez le tableau suivant :

    Méthode Type de connexion Description
    google.cloud.oslogin.v1.OsLoginService.CheckPolicy Toutes les connexions à OS Login Indique une tentative de connexion à une VM. Pour les connexions autres que 2FA, une réponse positive indique que l'utilisateur s'est connecté à la VM. Pour les connexions 2FA, une connexion réussie est indiquée à la fois par un appel CheckPolicy réussi et un appel ContinueSession réussi.
    google.cloud.oslogin.OsLoginService.v1.StartSession Connexions à OS Login 2FA Indique une nouvelle session d'authentification 2FA. Dans un appel StartSession, un client déclare ses capacités au serveur et obtient des informations sur les types d'authentification disponibles.
    google.cloud.oslogin.OsLoginService.v1.ContinueSession Connexions à OS Login 2FA

    Indique la continuation d'une session d'authentification. Le client utilise le type d'authentification proposé par le serveur lors de l'appel StartSession précédent ou envoie une demande et utilise un type d'authentification différent. Ensuite, la méthode ContinueSession accepte la réponse à la question d'authentification ou la méthode, et authentifie ou refuse la tentative d'authentification.

  • Développez la section authenticationInfo pour afficher le champ principalEmail. Le champ principalEmail indique l'adresse e-mail de l'utilisateur qui a tenté de se connecter à la VM.

Propriétés des journaux d'audit OS Login

Les sections suivantes décrivent les propriétés des journaux d'audit. Certaines propriétés sont communes à tous les journaux d'audit, et d'autres sont spécifiques aux méthodes CheckPolicy, StartSession et ContinueSession.

Propriétés courantes des journaux d'audit OS Login

Les propriétés répertoriées dans le tableau suivant sont communes à tous les journaux d'audit OS Login.

Propriété Valeur
serviceName oslogin.googleapis.com
resourceName Chaîne contenant le numéro de projet qui indique à quelle requête de connexion le journal d'audit est rattaché. Par exemple : projects/myproject12345
severity Niveau de gravité du message du journal. Par exemple, INFO ou WARNING. Pour en savoir plus sur les niveaux de gravité, consultez la section LogSeverity.
authenticationInfo.principalEmail Adresse e-mail de l'utilisateur que la méthode authentifie.
request.numericProjectId Numéro de projet du projet Google Cloud.

Propriétés des journaux d'audit CheckPolicy

Les propriétés répertoriées dans le tableau suivant s'appliquent aux journaux d'audit CheckPolicy.

Propriété Valeur
methodName google.cloud.oslogin.v1.OsLoginService.CheckPolicy
request.@type type.googleapis.com/google.cloud.oslogin.v1.CheckPolicyRequest
request.policy Autorisation en cours de vérification. LOGIN, qui vérifie si l'utilisateur est autorisé à se connecter à la VM, ou ADMIN_LOGIN, qui vérifie si l'utilisateur est autorisé à disposer d'un accès administrateur à la VM.
response.success Résultat de la vérification de request.policy LOGIN ou ADMIN_LOGIN. true ou false, selon que l'utilisateur est autorisé ou non pour la stratégie spécifiée.

Propriétés des journaux d'audit StartSession

Les propriétés répertoriées dans le tableau suivant s'appliquent aux journaux d'audit StartSession, pour les VM sur lesquelles OS Login 2FA est activé.

Propriété Valeur
methodName google.cloud.oslogin.OsLoginService.v1.StartSession
request.@type type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.StartSessionRequest
request.supportedChallengeTypes Liste des types d'authentification ou des méthodes 2FA que vous pouvez choisir.
response.authenticationStatus État de la session. Authenticated, Challenge required ou Challenge pending.
response.sessionId Chaîne d'ID identifiant la session de manière unique. Cet ID de session est transmis à l'appel ContinueSession dans la séquence.
response.challenges Ensemble des questions d'authentification que vous pouvez essayer de transmettre durant cette séquence d'authentification. Une seule de ces questions est lancée et dispose de l'état READY. Les autres sont fournies sous forme d'options que l'utilisateur peut spécifier comme alternative à la principale question d'authentification proposée.

Propriétés des journaux d'audit ContinueSession

Les propriétés répertoriées dans le tableau suivant s'appliquent aux journaux d'audit ContinueSession, pour les VM sur lesquelles OS Login 2FA est activé.

Propriété Valeur
methodName google.cloud.oslogin.OsLoginService.v1.ContinueSession
request.sessionId Chaîne d'ID identifiant de manière unique la session précédente. Cet ID de session est transmis depuis l'appel StartSession.
request.@type type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.ContinueSessionRequest
request.challengeId Chaîne d'ID identifiant l'authentification à lancer ou à exécuter. Cet ID doit appartenir à un type d'authentification renvoyé par l'appel response.challenges dans la réponse StartSession.
request.action Mesure à prendre pour terminer l'authentification.
response.authenticationStatus État de la session. Par exemple, Authenticated, Challenge required ou Challenge pending.
response.challenges.status SUCCESS indique qu'un utilisateur s'est connecté avec succès à la VM.
response.challenges Ensemble des questions d'authentification que vous pouvez essayer de transmettre pour cette séquence d'authentification. Une seule de ces questions est lancée et dispose de l'état READY. Les autres sont fournies sous forme d'options que l'utilisateur peut spécifier comme alternative à la principale question d'authentification proposée.

Étape suivante