构建安全的 gRPC 服务:认证与授权实践
在构建 gRPC 服务时,安全性是至关重要的。本文将详细介绍如何为 gRPC 服务添加认证和授权功能,确保服务的安全性和可靠性。
1. 配置 gRPC 服务器
首先,我们需要更新 server.go 中的 NewGRPCServer() 函数,使其能够接受给定的 gRPC 服务器选项并创建服务器。以下是更新后的代码:
func NewGRPCServer(config *Config, opts ...grpc.ServerOption) (
*grpc.Server,
error,
) {
gsrv := grpc.NewServer(opts...)
srv, err := newgrpcServer(config)
if err != nil {
return nil, err
}
api.RegisterLogServer(gsrv, srv)
return gsrv, nil
}
更新完成后,我们可以运行 $ make test 来执行测试。此时,服务器已经完成认证,连接也已加密。我们可以通过临时更改测试代码,使用 grpc.WithInsecure() 拨号选项创建不安全的客户端连接,再次运行测试,测试将会失败,因为服务器期望客户端通过 TLS 运行。
2. 使用相互 TLS 认证客户端
在之前
超级会员免费看
订阅专栏 解锁全文
49

被折叠的 条评论
为什么被折叠?



