我在 GKE 上运行 Kubernetes 应用程序。在 GCP IAM 控制台中,我可以看到几个内置角色,例如Kubernetes Engine Admin
. 每个角色都有一个 ID 和与之关联的权限——例如,Kubernetes Engine Admin
有 IDroles/container.admin
和大约 300 个权限,每个都类似于container.apiServices.create
.
在 Kubernetes 集群中,我可以运行:
kubectl get clusterrole | grep -v system: # exclude system roles
这将返回以下内容:
NAME AGE
admin 35d
cloud-provider 35d
cluster-admin 35d
cluster-autoscaler 35d
edit 35d
gce:beta:kubelet-certificate-bootstrap 35d
gce:beta:kubelet-certificate-rotation 35d
gce:cloud-provider 35d
kubelet-api-admin 35d
view 35d
我在此表中没有看到任何反映 GCP IAM 中角色的角色。
既然如此,GCP IAM 角色是如何在集群中实施/执行的?除了使用 RBAC 之外,Kubernetes 在进行权限检查时还会与 GCP 通信吗?