Slide 1

Slide 1 text

May 25, 2023 Next-gen Authorization The role of NGAC and Service Mesh for Enterprise-wide Authorization Ignasi Barrera, Founding Engineer, Tetrate Zack Butcher, Founding Engineer, Tetrate

Slide 2

Slide 2 text

2 Agenda ● Who we are ● Introduction to NGAC ● Overview of the Service Mesh ● Mesh as NGAC PEP ● Key takeaways

Slide 3

Slide 3 text

3 Next Generation Access Control

Slide 4

Slide 4 text

4 Next Generation Access Control Role Based Access Control (RBAC) ● Easy to understand ● Easy to author correct policy ● Brittle, hard to model everything (role explosion!) Attribute Based Access Control (ABAC) ● Hard to understand ● Hard to author correct policy ● (Infinitely) flexible, easy to model anything

Slide 5

Slide 5 text

5 Next Generation Access Control (NGAC) Role Based Access Control (RBAC) ● Easy to understand ● Easy to author correct policy ● Brittle, hard to model everything (role explosion!) Attribute Based Access Control (ABAC) ● Hard to understand ● Hard to author correct policy ● (Infinitely) flexible, easy to model anything NGAC has the flexibility of ABAC, but has a set of guardrails that keep it structured and understandable like RBAC.

Slide 6

Slide 6 text

6 Why NGAC? Policy modeling capabilities ● graph based ● multiple classes of policy (eg RBAC, LBAC, DAC, domain) in the same decision ● scalable in terms of user and object attributes ● as expressive as ABAC: can model any XACML/ABAC policy

Slide 7

Slide 7 text

7 Ease of Administration ● administrative policies can be modeled directly in NGAC ● policies live in the same graph as user-policies ● first-class delegation => uniform access control over resources as well as admin data => we can write policy that governs federation Why NGAC?

Slide 8

Slide 8 text

8 Why NGAC? Decision-time Performance ● linear time evaluation algorithm ○ roughly, O(|user attributes| + |object attributes| + |associations|) or, the size of the subgraph for the user and object in question ● efficient (linear time) algorithms to produce ACLs ○ have your cake and eat it too: optimal runtime enforcement and great policy introspection (see next slide)

Slide 9

Slide 9 text

9 Why NGAC? Policy Review ● Audit: see what resources are (will be) affected by a policy ● Explain: understand why a particular access was allowed, in human-readable terms; eg: “Nic was allowed access because: ○ he is a member of group A which has RBAC policy B (authored by Zack on Sep 1, 2021) granting permissions X,Y,Z on container C, which contains the target resource Foo ○ he is a member of group F which was granted a location based policy G (authored by Varun on August 27, 2021) which grants permission X on container H, which contains the target resource Foo ○ Only location and RBAC policies applied, therefore Nic is able to take action X on target resource Foo.”

Slide 10

Slide 10 text

10 NGAC Architecture NIST SP 800-204B: Attribute-based Access Control for Microservices-based Applications Using a Service Mesh

Slide 11

Slide 11 text

11 The Service Mesh

Slide 12

Slide 12 text

12 The Service Mesh is a dedicated infrastructure layer enabling you to monitor, secure, connect and manage services consistently. It can be used to implement Identity Based Segmentation at runtime, among other use cases.

Slide 13

Slide 13 text

13 What’s a Service Mesh Deploy a sidecar proxy next to every application instance, which intercepts all traffic in and out to achieve: ● L7 application identity & encryption in transit ● Per request policy and controls ● Service discovery, load balancing, and resiliency ● Operational telemetry: metrics, logs, and traces And control them centrally with declarative configuration.

Slide 14

Slide 14 text

14 Mesh Features ● Service Discovery ● Resiliency Retry, outlier detection, circuit breaking, timeouts, etc. ● Load Balancing (Client side) ● Fine-grained traffic control L7, not L4! Route by headers, destination or source, etc. ● Policy on requests Authentication, rate limiting, arbitrary policy based on L7 metadata ● Workload identity (L7) ● Service-to-service authorization ● Metrics, Logs, and Tracing

Slide 15

Slide 15 text

15 Mesh Features ● Service Discovery ● Resiliency Retry, outlier detection, circuit breaking, timeouts, etc. ● Load Balancing (Client side) ● Fine-grained traffic control L7, not L4! Route by headers, destination or source, etc. ● Policy on requests Authentication, rate limiting, arbitrary policy based on L7 metadata ● Workload identity (L7) ● Service-to-service authorization ● Metrics, Logs, and Tracing ● Consistency across the fleet ● Centralized control ● Ease of change

Slide 16

Slide 16 text

16 Istio is the most widely used mesh. Envoy is its sidecar proxy.

Slide 17

Slide 17 text

17 Istio lets us bound attacks in space and in time Runtime encryption, authentication, and authorization reduce the attack surface exposed that’s exposed by our applications. Like we saw earlier today, it can help us achieve runtime controls for a ZTA.

Slide 18

Slide 18 text

18 App Envoy is a universal Policy Enforcement Point Envoy intercepts all traffic and can apply policies at the application layer. It is a reference monitor. NIST SP 800-204B

Slide 19

Slide 19 text

19 App Envoy is an NGAC Policy Enforcement Point We can use Envoy as the PEP in an NGAC deployment, with runtime decisions rendered by NGAC and enforced with the mesh sidecar. NIST SP 800-204B

Slide 20

Slide 20 text

20 The Mesh forms a Security Kernel With Envoy as PEP we can move security concerns out of the application and into the mesh. NIST SP 800-204B

Slide 21

Slide 21 text

21 A Service Mesh enables cross- cutting change A mesh allows for centralized control with distributed enforcement. Central teams can manage policy on behalf of the org. NIST SP 800-204A

Slide 22

Slide 22 text

[email protected] @tetrateio Tetrate tetrate.io Thank You

Slide 23

Slide 23 text

23 NGAC Architecture NIST SP 800-204B: Attribute-based Access Control for Microservices-based Applications Using a Service Mesh Pluggable: Mesh, eBPF, SDK, etc. NGAC Runtime