文件名称:k8s-gke-service-account-assigner:为在Kubernetes上运行的Pod提供不同的Google服务帐户和范围
文件大小:32KB
文件格式:ZIP
更新时间:2024-02-23 22:58:04
kubernetes security google iam google-cloud-platform
k8s-gke-service-account-assigner 根据注释为在kubernetes集群中运行的容器提供Google服务帐户令牌。 受到启发并 语境 服务帐户已附加到实例,并且服务可以通过Google实例元数据API的google-cloud-sdk透明使用而被服务访问。 使用google-cloud-sdk时,会调用Google实例元数据API,该API提供临时凭据,然后这些凭据用于调用Google服务。 问题陈述 问题在于,在基于多租户容器的世界中,多个容器将共享基础节点。 给定容器将共享相同的基础节点,则每个容器将获得相同的Google服务帐户凭据。 解 解决方案是将发往docker容器的Google实例元数据API的流量重定向到在每个实例上运行的容器,调用Google IAM Credentials API检索临时证书并将其返回给调用方。 其他调用将被代理到Google实例元数据API。 此容器需要在启用主机网络的情况下运行,以便它可以调用Google实例元数据API本身。 用法 服务帐号 必须创建一个具有角色roles/iam.serviceAccountT
【文件预览】:
k8s-gke-service-account-assigner-master
----iptables()
--------iptables.go(2KB)
----.gitignore(361B)
----version()
--------version.go(434B)
----Dockerfile(974B)
----cover.sh(717B)
----Makefile(3KB)
----server()
--------server.go(15KB)
----.dockerignore(56B)
----k8s-daemonset.yaml(2KB)
----iam()
--------iam.go(4KB)
----k8s()
--------k8s.go(4KB)
----.travis.yml(559B)
----namespace_test.go(1KB)
----LICENSE(1KB)
----namespace.go(3KB)
----mappings()
--------mapper.go(6KB)
--------mapper_test.go(6KB)
----README.md(11KB)
----pod.go(2KB)
----example-pod-storage-scopes.yaml(468B)
----example-pod-cloud-platform-scopes.yaml(513B)
----glide.lock(7KB)
----skaffold.yaml(170B)
----cmd()
--------main.go(4KB)
----glide.yaml(669B)