Skip to content

aws-samples/sample-encryption-in-transit-for-kubernetes

Sample: Encryption in Transit for Kubernetes

Overview

This sample demonstrates how to enable end to end encryption in transit on Kubernetes by integrating AWS Private Certificate Authority (PCA) to enable secure TLS communications between clients, services, and pods.

This project provides a complete example setup via a set of four scripts, each with it's own README.

Prerequisites

You will need the following pre-installed to use this sample:

Additionally, your EKS cluster must have the EKS pod identity add-on installed. The create-cluster script will create a cluster with the agent installed.

Getting Started

  1. Create an EKS cluster:

    ./create-cluster/create-cluster.sh
    
  2. Deploy core PKI tooling and AWS Private CA: Install core PKI encryption tooling and AWS Private CA as a certificate issuer for your Kubernetes cluster.

    ./deploy-core-pki/deploy-core.sh
    
  3. Deploy TLS-enabled service: Demonstrates how to deploy a TLS-enabled service to your cluster, behind a NGINX ingress that uses certificates from AWS Private CA.

    ./deploy-ingress/deploy-ingress.sh
    
  4. Deploy end to end encryption and mTLS with Istio: Implement end to end encryption in transit and mTLS between services using Istio with AWS Private CA.

    ./deploy-mtls-istio/setup-istio-mtls.sh
    

Contributing & Security

See CONTRIBUTING for more information.

Note: Sample code, software libraries, command line tools, proofs of concept, templates, or other related technology are provided as AWS Content or Third-Party Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content or Third-Party Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content or Third-Party Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content or Third-Party Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.

About

Encryption in Transit for Kubernetes

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages