Gérer OS Login dans une organisation


Si vous utilisez OS Login pour gérer l'accès à vos instances, vous pouvez définir des configurations au niveau de l'organisation pour votre compte Cloud Identity. Par exemple, vous pouvez contrôler qui peut utiliser directement l'API OS Login, activer OS Login pour toutes les instances de VM d'une organisation et accorder l'accès aux utilisateurs externes.

Ce sujet couvre les tâches suivantes :

Avant de commencer

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 :

  • 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 sur false dans les métadonnées de VM ou des projets sont rejetées, pour les VM et les projets nouveaux et existants.

Limites

OS Login n'est pas compatible avec les produits, fonctionnalités et VM suivants :

  • Cloud Data Fusion 6.1.4 et versions antérieures.
  • Cloud Composer
  • 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.

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 :

  1. Dans Google Cloud Console, accédez à la page Règles d'administration.

    Accéder à la page "Règles d'administration"

  2. Dans la liste des règles, cliquez sur Exiger OS Login pour afficher les contraintes OS Login.
  3. Cliquez sur Modifier pour modifier vos contraintes OS Login existantes.
  4. Sur la page Modifier, sélectionnez Personnaliser.
  5. Pour activer l'application de cette contrainte, sélectionnez Activer.
  6. Cliquez sur Enregistrer pour appliquer les paramètres relatifs aux contraintes.

gcloud

Pour définir la règle d'administration d'OS Login, exécutez la commande gcloud beta resource-manager org-policies enable-enforce.

  1. Trouvez l'ID de votre organisation.

    gcloud organizations list
  2. 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
    

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 l'accès aux instances pour des utilisateurs appartenant à une autre organisation ou disposant d'un compte gmail.com Google.

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. Le rôle IAM roles/compute.osLoginExternalUser n'accorde pas l'accès aux VM.

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 :

  1. Dans Google Cloud Console, accédez à la page de sélection du projet et de l'organisation.

    Accéder à la page de sélection du projet et de l'organisation.

  2. Dans le menu déroulant Organisation, sélectionnez votre organisation.
    1. Cliquez sur Tous pour voir toutes vos organisations.
    2. Cliquez sur le nom de l'organisation.
  3. Cliquez sur Ajouter pour ajouter un nouveau rôle à un utilisateur.
  4. Indiquez le nom de l'utilisateur pour lequel vous souhaitez configurer l'accès aux instances.
  5. Cliquez sur Sélectionner un rôle pour spécifier les rôles que vous souhaitez accorder à l'utilisateur.
  6. Dans la liste des rôles Compute Engine, sélectionnez le rôle Utilisateur externe Compute OS Login.
  7. Cliquez sur Ajouter pour confirmer que vous souhaitez accorder le rôle sélectionné à l'utilisateur.
  8. 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.

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 :

  • 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'utilisateur user@example.com aura le nom d'utilisateur user 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.

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() avec applicationName=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 :

  • 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.

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éthode directory.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 valeurs username, uid et gid actuelles ou nouvelles dans la requête.

Si vous modifiez les propriétés sshPublicKeys de l'utilisateur, vous devez spécifier la valeur key 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 :

  • 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 entre 1001 et 60000, ou une valeur comprise entre 65535 et 2147483647. Pour accéder à un système d'exploitation Container-Optimized OS, l'identifiant UID doit avoir une valeur comprise entre 65536 et 214748646. Cet identifiant UID 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 à l'interface système 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 publique
  • EXPIRATION_TIME : (facultatif) délai d'expiration de la clé en microsecondes depuis l'epoch (1 seconde = 106 microsecondes).

Supprimer les propriétés de compte

Pour effacer les données posixAccounts et sshPublicKeys d'un utilisateur, envoyez une requête PUT à la méthode directory.users.update en définissant les champs posixAccounts et sshPublicKeys sur null :

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.

Accéder à la section "Quotas"

Étape suivante