Securing the runtime installation

A typical Apigee hybrid installation is made of multiple pods, as listed in the following table. Each of these pods require specific access to ports, and not every pod needs to communicate with every other pod. For a detailed map of these internal connections and the security protocols they employ, see Internal connections.

PodDescription
apigee-loggerContains an Apigee logger agent that sends application logs to Stackdriver.
apigee-metricsContains an Apigee metrics agent that sends application logs to Stackdriver.
apigee-cassandraContains the hybrid runtime persistance layer.
apigee-synchronizerSynchronizes configuration between the management (control) plane and runtime (data) plane.
apigee-udcaAllows transfer of analytics data to the management plane.
apigee-martContains the Apigee administrative API endpoint.
apigee-runtimeContains the gateway for API request processing and policy execution.

Google recommends that you follow these methods and best practices to harden, secure, and isolate the runtime pods:

MethodDescription
Kubernetes security overviewReview the Google Kubernetes Engine (GKE) document Security overview. This document provides an overview of each layer of your Kubernetes infrastructure, and explains how you can configure its security features to best suit your needs.

For Google Cloud Engine's current guidance for hardening your GKE cluster, see Hardening your cluster's security.

Network policies

Use network policies to restrict communication between Pods and to pods that have access outside the Kubernetes network. For more information, see Creating a cluster network policy in the GKE documentation.

A network policy is a specification of how groups of pods are allowed to communicate with each other and other network endpoints.

The Kubernetes NetworkPolicy resource uses labels to select pods and define rules which specify what traffic is allowed to the selected pods.

You can implement a Container Network Interface (CNI) plugin to add network policies to an Apigee hybrid runtime installation. Network policies let you isolate pods from outside access and enable access to specific pods. You can use an open source CNI plugin, such as Calico to get started.

GKE SandboxEnable GKE Sandbox for the Kubernetes clusters that run Apigee hybrid. See GKE Sandbox for details.