首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python对云中部署的gRPC进行身份验证

如何使用Python对云中部署的gRPC进行身份验证
EN

Stack Overflow用户
提问于 2022-01-03 10:22:26
回答 3查看 541关注 0票数 0

我想在云运行上部署一个微服务,使用gRPC与它进行通信。我已经设置了该服务,并让它使用不安全的通道工作,但是当涉及到身份验证时,我对文档感到有点困惑。

我对安全性和身份验证没有经验,所以我非常希望有人能概述一下在云运行中设置安全的gRPC通道所需的步骤。将在python中运行。

出现了一些具体的问题

  • 身份验证是只使用oidc (据我从文档了解),还是需要oidc和ssl (这是他们所称的呼叫和信道凭据吗?)
  • 我是使服务器安全还是不安全?似乎有些线程会使服务器变得不安全,然后我猜身份验证将在客户端和谷歌之间完成吗?
  • 如何在云运行中处理ssl证书?您需要自己生成它们吗?如果需要,您是否将它们存储在码头映像中?

提前感谢

EN

回答 3

Stack Overflow用户

发布于 2022-01-03 12:04:55

您可以在HTTP/2上运行gRPC,而对于HTTP/2,通常使用TLS证书(与普通HTTPS相同)来保护它。

身份验证是通过令牌/密钥或客户端证书或任何您喜欢的东西来完成的。对于令牌/密钥,通常在HTTP/2中提供身份验证头。(类似于HTTP/1.1)

要使HTTPS工作,您需要一个有效的证书,通常是在云中使用LetsEncrypt颁发的。

gRPC和任何其他HTTP请求一样(但在HTTP/2上)

票数 0
EN

Stack Overflow用户

发布于 2022-01-03 14:46:35

云运行将代理作为侧服务器注入到部署的容器中。

服务将始终使用TLS进行保护。

基于TLS的auth可以用于相互验证客户端和服务器,但不对客户端的用户进行身份验证,因为您需要使用额外的机制。

如果允许未经身份验证,任何东西都可以调用您的服务。如果需要身份验证,则服务将需要授权令牌(标识令牌)进行身份验证。

您可以使用Google进行身份验证,但是需要适当地允许项目的成员(例如调用人员),您需要使用JWT (使用云运行服务端点作为其受众),客户端交换标识令牌。这在您包含的链接中有记录:https://cloud.google.com/run/docs/authenticating/service-to-service

另一种更复杂但更灵活的方法是使用Firebase Auth来支持联邦身份验证(例如Google、Microsoft、Facebook帐户)和云端点(另一个代理)来进行身份验证。使用这种方法,您还需要实现授权服务,以确定经过身份验证的用户具有什么样的角色:https://cloud.google.com/endpoints/docs/grpc/authenticating-users

票数 0
EN

Stack Overflow用户

发布于 2022-01-19 13:19:06

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70564350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档