本页面介绍如何启用 OS Login 以及如何配置组织政策,以便为 GKE Standard 模式集群和节点强制执行 OS Login。您可以利用 OS Login 通过 IAM 管理对实例的 SSH 访问权限,而无需创建和管理单独的 SSH 密钥。
由于 GKE 会管理节点,因此 OS Login 不适用于 GKE Autopilot 模式集群。
本页面适用于希望在 GKE Standard 集群上添加 OS Login 政策以确保所有虚拟机实例默认具有 OS Login 的安全专家。如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE Enterprise 用户角色和任务。
在阅读本页面之前,请确保您熟悉 OS Login 总览。
概览
您可以在组织中设置 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。
将项目中的所有节点池中的版本更新为受支持的版本:
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 版或更高版本。
将
enable-oslogin
标志设置为TRUE
,以默认在所有现有和新的虚拟机实例上启用 OS Login。您无需重启节点。gcloud compute project-info add-metadata --metadata enable-oslogin=TRUE
设置 OS Login 组织政策
如需在组织级层设置 OS Login 限制条件,请执行以下操作:
运行以下命令,查找您的组织 ID:
gcloud organizations list
设置 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。
后续步骤
- 了解 OS Login 服务。
- 了解如何排查 OS Login 问题。