Créer et exécuter des jobs en tant qu'utilisateur non racine

Ce document explique comment créer et exécuter un job par lot en tant qu'utilisateur non racine.

Par défaut, Batch exécute des exécutables en tant qu'utilisateur racine. Si vous souhaitez que Batch exécute des exécutables en tant qu'utilisateur non racine (par exemple, pour exécuter une application qui n'autorise pas ce type d'utilisateur ou qui ne répond pas aux exigences de sécurité), créez un job Batch utilisant OS Login. Lorsque vous activez OS Login dans un job par lot, OS Login configure un compte utilisateur pour vous sur les VM sur lesquelles votre tâche s'exécute. Tous les exécutables de la tâche sont ensuite exécutés par votre compte utilisateur sur la VM, et non par l'utilisateur racine.

Avant de commencer

Créer un job qui s'exécute en tant qu'utilisateur non racine

Créez une tâche par lot qui exécute des exécutables via votre propre compte utilisateur en procédant comme suit:

Utilisez Google Cloud CLI ou l'API REST pour créer une tâche incluant le champ runAsNonRoot défini sur true dans le corps principal du fichier JSON:

"runAsNonRoot": true

Par exemple, une tâche qui exécute des exécutables en tant qu'utilisateur non racine possède un fichier de configuration JSON semblable à celui-ci:

{
    "taskGroups": [
      {
        "taskSpec": {
          "runnables": [
            {
              "script": {
                "text": "echo Hello World! This is task $BATCH_TASK_INDEX executed by $(whoami)."
              }
            }
          ]
        },
        "taskCount": 3,
        "runAsNonRoot": true
      }
    ],
    "logsPolicy": {
        "destination": "CLOUD_LOGGING"
    }
}

Étapes suivantes