使用应用层传输安全 (ALTS) 在 Python 中进行 gRPC 身份验证的概述。
应用层传输安全(ALTS)是谷歌开发的相互认证和传输加密系统。它用于保护 Google 基础架构内的 RPC 通信。ALTS 类似于双向 TLS,但经过设计和优化以满足 Google 生产环境的需求。有关更多信息,请查看 ALTS 白皮书.https://cloud.google.com/docs/security/encryption-in-transit/application-layer-transport-security
gRPC 中的 ALTS 具有以下特点:
使用 ALTS 作为传输安全协议创建 gRPC 服务器和客户端。
ALTS 连接受到端到端的隐私和完整性保护。
应用程序可以访问对等信息,例如对等服务帐户。
客户端授权和服务器授权支持。
启用 ALTS 的最小代码更改。
gRPC 用户可以将其应用程序配置为使用 ALTS 作为传输安全协议,只需几行代码。
请注意,如果应用程序在Google Cloud Platform上运行,则 ALTS 功能齐全 . ALTS 可以在任何具有可插拔 ALTS 握手服务的平台上运行.
gRPC 客户端可以使用 ALTS 凭据连接到服务器,如以下代码摘录所示:
import grpc
channel_creds = grpc.alts_channel_credentials()
channel = grpc.secure_channel(address, channel_creds)
gRPC 服务器可以使用 ALTS 凭据来允许客户端连接到它们,如下图所示:
import grpc
server = grpc.server(futures.ThreadPoolExecutor())
server_creds = grpc.alts_server_credentials()
server.add_secure_port(server_address, server_creds)