Logo for domains_euc

Google Domains - RPC Security, User Authorization

I wrote an RPC security layer for Google Domains that checks user authorization, validates request, and introduced type-safe API credential requirements to reduce programmer error.

Features

  • Credentials carried in code by immutable objects allowing explicit privilege escalation and deescalation. Previous solution used mutable global variable
  • Credential objects had type hierarchy allowing differentiation on user-scoped, admin, and anonymous credentials. These improved readability of code and allowed enforcing credentials at the type-level for APIs.
  • Unified request authorization and validity checking to ensure basic security checks in all servers, instead of previous server-specific checks and assumptions.
  • Automated support user and engineer admin access audit logging.

Accomplishments

  • Rolled out safely to 8 servers and 15 internal APIs.
  • Brought Domains in line with Google-wide data security standards.
  • Gave tech talk to educate team about data security standards and the new layer I wrote.
  • Team expert for user security and credentials - consulting for Domains engineers and debugging many security issues over the years.
Visit Google Domains