我爱普洱茶 发表于 2025-1-15 18:27:10

【k8s】用户和服务账户联系(user、serviceaccount、sa)

干系文章:
【k8s】serviceAccount、role、RoleBinding入门示例
【k8s】pod和serviceaccount关系
【k8s】用户和服务账户联系(user、serviceaccount、sa)
【k8s】–as=system:serviceaccount:demo-rbac:demo-user模拟某组件的某sa
概述

在 Kubernetes 和 OpenShift 中,用户和服务账户是两种差别的概念,用于控制权限和访问资源:
用户(User)


[*] 界说:
用户是集群外部的实体,代表人或应用程序,通过 API 或命令行与 Kubernetes 集群举行交互。
[*] 来源:
用户由集群管理员创建,可以是一个真实用户(如开发人员)或一个外部系统(如 CI/CD 工具)。它们是集群外部的身份,没有自动与 Pod 关联。
[*] 使用场景:

[*]用户通过工具(如 kubectl、oc)或 API 调用创建、管理资源(如 Pod、Deployment)。
[*]用户必要认证才能访问集群,通常通过以下方式认证:

[*]证书(x509 证书)
[*]OAuth Token(在 OpenShift 中常用)
[*]服务提供的身份认证(如 OIDC 或 LDAP)

[*]用户权限通过 Role 或 ClusterRole 和 RoleBinding 或 ClusterRoleBinding 授予。

[*] 与 Pod 的关系:
用户自己不会直接运行 Pod,但可以通过创建资源(如 Deployment、Pod、Job 等)间接控制 Pod 的举动。Pod 的权限终极由 ServiceAccount 决定,而不是用户。
服务账户(ServiceAccount)


[*] 界说:
服务账户是 Kubernetes 内部的一种身份,用于 Pod 和其他控制器(如 Deployment、Job)与 Kubernetes API 交互。
[*] 来源:
每个 Pod 都必须关联一个服务账户:

[*]如果未显式指定服务账户,系统会自动使用定名空间中的默认服务账户(default)。
[*]你也可以创建自界说服务账户并为其分配特定权限。

[*] 作用:

[*]服务账户是 Kubernetes 集群内部的身份,用于 Pod 或控制器与 API 交互(例如获取 ConfigMap、Secret 或更新资源状态)。
[*]每个服务账户都有一个关联的令牌,挂载到 Pod 中,供应用程序访问 Kubernetes API。

[*] 与 Pod 的关系:

[*]服务账户直接与 Pod 绑定。
[*]Pod 的运行时权限和安全上下文由绑定的服务账户和分配的 SCC 决定。

用户与服务账户的区别

属性用户(User)服务账户(ServiceAccount)作用范围外部用户与 Kubernetes 交互Pod 或控制器内部与 Kubernetes 交互身份来源通过认证系统(如证书、Token、OIDC 等)Kubernetes 内部自动创建或手动创建使用对象人类用户、外部应用程序Pod 或控制器(如 Deployment、CronJob)权限管理通过 Role/ClusterRole 授予权限通过 Role/ClusterRole 和 SCC 授予权限与 Pod 的关系间接关系,通过 API 操纵 Pod直接关系,服务账户是 Pod 的运行身份 Pod 的身份来源:用户 vs 服务账户

1. 用户创建 Pod:


[*] 用户通过 CLI 或 API 创建 Pod:
oc create -f pod.yaml

[*] 用户必要被授予 create pods 的权限(通过 Role/ClusterRole)。
系统会查抄用户是否有权限实行此操纵。
2.服务账户运行 Pod:


[*]当 Pod 被创建后,它会使用指定的 serviceAccountName。
[*]如果未指定,则使用默认的 default 服务账户。
[*]该服务账户决定了 Pod 在运行时的权限和安全上下文(指的是scc)。
总结



[*]用户是集群外部的实体,创建和管理 Kubernetes 资源。
[*]服务账户是 Kubernetes 内部的实体,用于 Pod 与集群 API 的交互。
[*]SCC 是绑定到用户或服务账户的,控制用户是否可以创建特定范例的 Pod,以及 Pod 运行时是否满足安全约束。
[*]Pod 的权限终极由服务账户决定,而不是直接由用户决定。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【k8s】用户和服务账户联系(user、serviceaccount、sa)