Skip to content

Added gRPC authentication and authorization infrastructure#226

Open
Vikramarjuna wants to merge 1 commit intoCloud-Foundations:masterfrom
Vikramarjuna:grpc-auth-core
Open

Added gRPC authentication and authorization infrastructure#226
Vikramarjuna wants to merge 1 commit intoCloud-Foundations:masterfrom
Vikramarjuna:grpc-auth-core

Conversation

@Vikramarjuna
Copy link

Add gRPC Authentication and Authorization Infrastructure

Why

Enable gRPC support for Dominator services by sharing SRPC's existing authorization logic.

What

Adds core gRPC auth infrastructure:

  • lib/grpc/api.go: Unary and streaming auth interceptors, Conn type for handlers to access auth info, ServiceOptions for registering public/unauthenticated methods
  • lib/srpc/api.go: AuthConn interface (implemented by both SRPC and gRPC connections), GetDefaultGrantMethod(), GetPermittedMethods(), AllowMethodPowers()
  • lib/srpc/server.go: Exported GetAuth() and CheckAuthorization() so gRPC can reuse the same 4-level authorization hierarchy

gRPC method names (/package.Service/Method) are translated to SRPC format (Service.Method) for RBAC compatibility.

Metrics stubs are included - actual metrics tracking comes in a later PR.

What Follows

  • Streaming support (StreamingConn interface)
  • Metrics + REST gateway + combined HTTP/gRPC server
  • Adding support for VM creation, deletion and listing in gRPC and REST calls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant