Run time Security using ISTIO - as a POC
Executive Summary - Improve security posture of ONAP without complicating each application container logic.
Business Impact - Lesser operational issues, centralized monitoring of ONAP
Business Markets - Applicable across compute continuum : On-prem edges, network edges, edge clouds and public clouds.
Funding/Financial Impacts - Reduces OPEX as the security, traffic management & observability is centralized.
Organization Mgmt, Sales Strategies - There is no additional organizational management or sales strategies for this use case outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider.
Goal:
Avoid node ports (use ingress gateways)
Load balancer as it is done in public clouds (such as MetalLB)
Secure communication to outside entities
Secure communication among the micro services
User authentication via tokens
Prove that ISTIO can achieve above goals with the help OAUTH2.
Start with Multi-Cloud project and show that there is no change in applications to achieve run time security.
Once proven come back to ONAP wider community on the need for separating the security from the applications.
Current challenges with ONAP
We feel that user management, creating roles, RBAC of resources with roles is basic for any project. ONAP is not very well secured on this aspect.
Proposal:
Since the intention is to start slow, current proposal is providing ISTIO security to ONAP4K8S profile (Multi Cluster Orchestration (ONAP4K8s))
Proposal items:
ISTIO-ingress and MetalLB for ingress connections (connections to Multi-Cloud project from other projects) – Secure at least with one project (SO) and non-secure with others.
User Management with OAUTH2 server with local userDB of OAUTH2 server.
RBAC as per ISTIO RBAC
ISTIO (with envoy)for inter-service communication of containers within the Multi-Cloud project.
ISTIO CA (Citadel) for certificate enrollment of internal services.
Manual certificates for external communication
Certificate credential storage using TPM
Use ORY (OAUTH2) server
Improve performance of Envoy with hardware crypto accelerators