如何在 Kubernetes 中验证 api 调用
How to authenticate api calls in Kubernetes
我计划构建一个包含许多微服务的 K8s 集群(pods 中的每个 运行 服务确保通信)。我试图了解如何确保这些微服务之间的通信是安全的。通过通信,我指的是微服务 A 和微服务 B 之间的 HTTP 调用 API.
通常,我会实现一个 OAuth 流程,其中 auth 服务器会接收一些凭据作为输入和 return JWT。然后客户端可以在任何后续调用中使用此 JWT。
我希望 K8s 有一些可以生成令牌的内置身份验证服务器(如 JWT),但我似乎找不到。
K8s 确实对其 API 服务器进行了身份验证,但这似乎只对执行 Kubernetes 特定操作(例如缩放 pod 或获取机密等)的调用进行身份验证。
但是,没有提及简单地验证 HTTP 调用(GET POST 等)。
我应该只创建自己的身份验证服务器并使其可通过服务访问,还是有一种简单干净的方法可以在 Kubernetes 中自动验证 API 调用?
不知道如何回答这个大问题,不过,我会尽力的。
您可以应用多种解决方案,但同样在 K8s 中没有任何您可以使用的身份验证解决方案。
要么您必须设置 third-party OAuth 服务器或 IAM 服务器等,要么您编写并创建自己的微服务。
有不同的区域不能合并,
服务互联服务A到服务B最好使用像Istio[这样的服务网格 和 LinkerD 提供 相互 TLS 安全支持并且也易于设置。
所以服务之间的连接将是 HTTPS 并且是安全的,但是您需要管理和设置它。
如果您只是 运行 后端内部的普通流量,您可以按照您描述的相同方法进行操作。
在后端服务中传递带有 jwt 负载的纯 HTTP。
Keycloak is also a good idea to use the OAuth server, i would also recommend checking out Oauth2-proxy
列出几篇可能有用的文章
我自己关于 Keycloak with Kong 的文章API Kubernetes 上的网关
https://faun.pub/securing-the-application-with-kong-keycloak-101-e25e0ae9ec56
GitHub 个 POC 文件:https://github.com/harsh4870/POC-Securing-the--application-with-Kong-Keycloak
K8s 上的 Keycloak 部署:https://github.com/harsh4870/Keycloack-postgres-kubernetes-deployment
我计划构建一个包含许多微服务的 K8s 集群(pods 中的每个 运行 服务确保通信)。我试图了解如何确保这些微服务之间的通信是安全的。通过通信,我指的是微服务 A 和微服务 B 之间的 HTTP 调用 API.
通常,我会实现一个 OAuth 流程,其中 auth 服务器会接收一些凭据作为输入和 return JWT。然后客户端可以在任何后续调用中使用此 JWT。
我希望 K8s 有一些可以生成令牌的内置身份验证服务器(如 JWT),但我似乎找不到。 K8s 确实对其 API 服务器进行了身份验证,但这似乎只对执行 Kubernetes 特定操作(例如缩放 pod 或获取机密等)的调用进行身份验证。 但是,没有提及简单地验证 HTTP 调用(GET POST 等)。
我应该只创建自己的身份验证服务器并使其可通过服务访问,还是有一种简单干净的方法可以在 Kubernetes 中自动验证 API 调用?
不知道如何回答这个大问题,不过,我会尽力的。
您可以应用多种解决方案,但同样在 K8s 中没有任何您可以使用的身份验证解决方案。
要么您必须设置 third-party OAuth 服务器或 IAM 服务器等,要么您编写并创建自己的微服务。
有不同的区域不能合并,
服务互联服务A到服务B最好使用像Istio[这样的服务网格 和 LinkerD 提供 相互 TLS 安全支持并且也易于设置。
所以服务之间的连接将是 HTTPS 并且是安全的,但是您需要管理和设置它。
如果您只是 运行 后端内部的普通流量,您可以按照您描述的相同方法进行操作。
在后端服务中传递带有 jwt 负载的纯 HTTP。
Keycloak is also a good idea to use the OAuth server, i would also recommend checking out Oauth2-proxy
列出几篇可能有用的文章
我自己关于 Keycloak with Kong 的文章API Kubernetes 上的网关
https://faun.pub/securing-the-application-with-kong-keycloak-101-e25e0ae9ec56
GitHub 个 POC 文件:https://github.com/harsh4870/POC-Securing-the--application-with-Kong-Keycloak
K8s 上的 Keycloak 部署:https://github.com/harsh4870/Keycloack-postgres-kubernetes-deployment