1.1 How security works in a monolithic application1.2 Challenges of securing microservices1.2.1 The broader the attack surface, the higher the risk of attack1.2.2 Distributed security screening may result in poor performance1.2.3 Deployment complexities make bootstrapping trust among microservices a nightmare1.2.4 Requests spanning multiple microservices are harder to trace1.2.5 Immutability of containers challenges how you maintain service credentials and access-control policies1.2.6 The distributed nature of microservices makes sharing user context harder1.2.7 Polyglot architecture demands more security expertise on each development team1.3 Key security fundamentals1.3.1 Authentication protects your system against spoofing1.3.2 Integrity protects your system from data tampering1.3.3 Nonrepudiation: Do it once, and you own it forever1.3.4 Confidentiality protects your systems from unintended information disclosure1.3.5 Availability: Keep the system running, no matter what1.3.6 Authorization: Nothing more than you’re supposed to do1.4 Edge security1.4.1 The role of an API gateway in a microservices deployment1.4.2 Authentication at the edge1.4.3 Authorization at the edge1.4.4 Passing client/end-user context to upstream microservices1.5 Securing service-to-service communication1.5.1 Service-to-service authentication1.5.2 Service-level authorization1.5.3 Propagating user context among microservices1.5.4 Crossing trust boundariesSummary