在 GKE 中启用和配置 OS Login


本页面介绍如何启用 OS Login 以及如何配置组织政策,以便为专用 GKE Standard 模式 GKE 集群和节点强制执行 OS Login。由于 GKE 会管理节点,因此 OS Login 不适用于 GKE Autopilot 模式集群。

如需了解 OS Login 服务,请参阅有关 OS Login 的 Compute Engine 文档

概览

您可以在组织中设置 OS Login 限制条件,以确保所有新项目和在这些新项目中创建的虚拟机实例都启用了 OS Login。OS Login 已迅速成为 Google Cloud 安全最佳做法,建议您通过组织政策来强制执行使用。

以下说明详细介绍了如何使用 GKE 中的组织政策启用 OS Login。

准备工作

在开始之前,请确保您已执行以下任务:

  • 启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 如果您要使用 Google Cloud CLI 执行此任务,请安装初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行 gcloud components update 以获取最新版本。

更新现有项目以使用 OS Login

在设置组织政策之前,请迁移任何现有的专用集群以使用 OS Login。

  1. 将项目中的所有节点池中的版本更新为受支持的版本:

    gcloud container clusters upgrade CLUSTER_NAME \
        --node-pool=NODE_POOL_NAME \
        --cluster-version VERSION
    

    请替换以下内容:

    • CLUSTER_NAME:现有集群的名称。
    • NODE_POOL_NAME:节点池的名称。
    • VERSION:与 OS Login 兼容的版本,它可以是 1.20.5 版或更高版本。
  2. enable-oslogin 标志设置为 TRUE,以默认在所有现有和新的虚拟机实例上启用 OS Login。您无需重新启动节点。

    gcloud compute project-info add-metadata --metadata enable-oslogin=TRUE
    

设置 OS Login 组织政策

如需在组织级层设置 OS Login 限制条件,请执行以下操作:

  1. 运行以下命令,查找您的组织 ID:

    gcloud organizations list
    
  2. 设置 OS Login 组织政策。将 ORGANIZATION_ID 替换为您的组织 ID。

    gcloud resource-manager org-policies enable-enforce \
        compute.requireOsLogin \
        --organization=ORGANIZATION_ID
    

设置组织政策后,将应用以下条件:

  • 在所有新项目的项目元数据中,enable-oslogin 设置为 true
  • 在实例或项目元数据中将 enable-oslogin 设置为 false 的更新请求被拒绝。

管理节点访问权限

启用 OS Login 组织政策后,您无需管理 SSH 密钥即可做出授权决策。OS Login 将授权管理移至 Identity and Access Management。如需管理针对节点的 SSH 访问权限,请使用 OS Login。如需了解详情,请参阅设置 OS Login

后续步骤