Skip to main content
Engineering, Backend

Scaling Adoption of Kerberos at Uber

19 January 2023 / Global
Featured image for Scaling Adoption of Kerberos at Uber
Image
Figure 1: Kerberos Protocol
Account TypeDescription
User AccountFor personnel (employee) access, ad hoc data exploration
Example: employee-account@uber.com
Service AccountFor running daily pipelines, which the team will be maintaining even when the original pipeline author leaves the company.
A service account is backed by a Linux group of the same name so that project members can be added to the group and gain access to the data written by the service account.
Example: uber_eats@DATA.UBER.COM
System AccountFor systems that make up the Data infrastructure stack. Unlike service accounts, no group members are added here to avoid any security risks.
Example: hdfs@DATA.UBER.COM
Service-Host AccountThis enables us to scope the principal and keytab credential to a specific {service, host} combination. In an event where the keytab is compromised, we would need to rotate only that specific {service, host} keytab, instead of rotating service keytab across several hosts (in contrast to a Service Account). This is typically used by services that are deployed across a large fleet of hosts.
Example: hdfs/us-west-123.internal@DATA.UBER.COM
Image
Figure 2: Service Account Creation Process
Image
Image
Figure 3: Propagating Accounts to Production Infrastructure
Image
Figure 4: Kerberos Architecture
Image
Figure 5: Keytab Distribution Pipeline
Image
Figure 6: Kerberos-Bridge
Image
Figure 7: Keytab-Manager
Image
Figure 8: Keytab-Fetcher
Image
Figure 9: Keytabs Generated in a Week
Alexander Gulko

Alexander Gulko

Alexander is a Senior Software Engineer working on the Data Security team based in Seattle, WA. While the team is responsible for all aspects of data security and compliance, he primarily focuses on Authentication and leads various initiatives in that area.

Mithun (Matt) Mathew

Mithun (Matt) Mathew

Mithun (Matt) Mathew is a Sr. Staff Engineer on the Data team at Uber. He currently works on various projects in the security domain. Previously, he led the initiative to containerize and automate Data infrastructure at Uber.

Posted by Alexander Gulko, Mithun (Matt) Mathew