kubernetes - istio 的细粒度授权解决方案

标签 kubernetes google-cloud-platform istio

背景

因此,在从单体应用到微服务的旅程中,我们决定在谷歌云上(同样)沿着 k8s 路线(已经成功),我们正在寻找身份验证和授权解决方案。

所以我们正在考虑使用 Istio,RBAC 元素看起来像一个 WIN,并且允许我们在应用程序之外保持授权,以及其他细节。

还有,云 IAP。亲爱的,我们不需要关心身份验证,只需通过云 iam 授予用户(所有这些用户都已经拥有 g-suite 帐户)访问权限。

问题

我们如何为用户管理和注入(inject)认证数据? IAP 允许我们授予对项目的访问权限,并通过 JWT 呈现数据(到目前为止非常完美),但我们无法添加自定义应用程序权限。

我们希望能够对端点和组/角色使用细粒度的权限来授予这些权限。

经过大量搜索,我找不到任何解决方案,这似乎是一个非常普遍的要求。我错过了什么(我看错了吗?)。

最佳答案

我能想到几个解决方案:

  • Istio(就像你提到的那样)。支持:
  • Transport Authentication
  • End-user Authentication . Here's an example on how to use it .
  • 对于细粒度授权,您可以使用 Istio authorization
  • ConsulKubernetes并使用 ACLs使用 ACL token 。 token 也可以由 Vault 管理.在撰写本文时,它还没有与 OpenID 或 Oauth2 提供程序集成。 Consul 将通过 ACLs 帮助您提供细粒度的授权。
  • 关于kubernetes - istio 的细粒度授权解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52965265/

    相关文章:

    azure - K8s azure VM 节点 - 可以从主节点 ping 工作节点,但无法 ping 工作节点上的 pod

    google-cloud-platform - Google Cloud SQL 从第一代迁移到第二代

    kubernetes - 如何在istio入口后面使港口可达?

    kubernetes-helm - 用于安装 istio 的 Helm 存储库

    kubernetes - kubernetes 中的 PersistentVolume 和 PersistentVolumeClaim 在概念上有什么区别?

    Kubernetes Pod 在 "Pod sandbox changed, it will be killed and re-created"上失败

    Azure Key Vault 与 AKS 集成适用于 nginx 教程 Pod,但不适用于实际项目部署

    ios - Firestore 查询在创建新文档时未收到更新

    amazon-web-services - AWS/GCP : Is it possible to have a VM with dynamic CPU/RAM?

    kubernetes - 两个 pod 之间的 istio 路由