以非根用户身份创建和运行作业

本文档介绍如何以非根用户身份创建和运行批处理作业。

默认情况下,Batch 以根用户身份执行可运行对象。如果您希望 Batch 以非根用户身份执行可运行对象(例如,运行不允许 root 用户或满足安全要求的应用),请创建一个使用 OS Login 的 Batch 作业。在批处理作业中启用 OS Login 时,OS Login 会在运行作业的虚拟机上为您配置用户帐号。然后,作业中的所有可运行对象都由虚拟机上的用户帐号执行,而不是由根用户执行。

准备工作

创建以非根用户身份运行的作业

通过执行以下操作,创建一个通过您自己的用户帐号运行可执行文件的 Batch 作业:

使用 Google Cloud CLI 或 REST API 创建一个作业,在 JSON 文件正文中包含设置为 truerunAsNonRoot 字段

"runAsNonRoot": true

例如,以非根用户身份运行可执行文件的作业将具有类似于以下内容的 JSON 配置文件:

{
    "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"
    }
}

后续步骤