The Cloud Native Computing Foundation (CNCF) announced on March 29 that it is adding the Open Policy Agent (OPA) and the Secure Production Identity Framework for Everyone (SPIFFE) projects to its hosted projects roster.
OPA and SPIFFE extend the security capabilities available to cloud and container workloads, helping to fill perceived gaps in existing security controls. CNCF is home to the Kubernetes container orchestration platform, as well as a growing list of open-source projects that help to facilitate and secure cloud native computing.
“We’ve had some holes that we’re now filling out in CNCF,” Chris Aniszczyk, CNCF chief operating officer told eWEEK. “OPA is coming in, handling the policy and authorization side of things and SPIFFE is focused on service identity.”
Service identity is all about understanding what is running where and defining what different components are allowed to do in a distributed environment.
“SPIFFE comes from studying similar systems that are in production at Google, Netflix and Twitter,” Sunil James, CEO of Scytale, told eWEEK.
Kubernetes today already has a form of identity and access control, with integrated Role Based Access Control (RBAC) capabilities that first debuted in the Kubernetes 1.8 release in September 2017. James said that RBAC is complementary to what SPIFFE provides.
“SPIFFE provide an initial level of trust, so a workload has a form of identity,” James said.
SPIFFE has also been designed to be cloud-native, meaning that it is optimized to work in stateless environments where containers are started, stopped and moved frequently. James said that SPIFFE can inject identity at runtime, as workloads startup. James explained that SPIFFE uses public key cryptography (PKI) and Transport Layer Security (TLS) to authenticate workloads. The SPIFFE approach also includes a TLS Certificate Authority (CA) component to enable cryptographic keys to remain within an organization’s control.
OPA
The new OPA project provides a container based mechanism for deploying policy into a Kubernetes deployment.
“OPA is a host-local daemon designed to run as a side-car next to whatever software service needs policy decisions,” Tim Hinrichs, co-founder of Styra, told eWEEK.
Hinrich said that OPA provides more fine-grained control than existing policy and access-control systems. For example, he explained that for admission control within Kubernetes, OPA can enforce the policy that all images in a pod must come from a trusted repository— which is something that RBAC can’t do because it doesn’t look at the body of the API call.
“In addition, you can write context-aware policies with OPA that use any information available to make policy decisions,” Hinrich said.
The way that policy has sometimes been enforced in Kuberenetes deployment is via networking policies, implemented via the Container Networking Interface (CNI). Hinrich said that while CNI focuses on the network container interface, OPA enables administrators to enforce policy in any domain.
CNCF
The SPIFFE and OPA projects are joining the CNCF as Sandbox early stage projects. From there, projects move to incubation, which is where the majority of CNCF projects currently exist. The last stage of the CNCF project maturity spectrum is graduation, which is where Kubernetes is placed. A graduated project is one that is considered to be fully production-ready for large scale deployments.
“Each project is uniquely different, the CNCF was setup to allow projects to define their own governance process and grow on their own,” Aniszczyk said. “We’ll do our best to help SPIFFE and OPA to grow into incubating projects, by helping them increase the diversity of contributors and with other steps to move those two projects along.”
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.