Function | ONAP Today | Service Mesh | Risk |
Password Authn | Performed by AAF Performed locally
| | ONAP risk: |
Certificate Management | | Uniform implementation Managed by Sidecar Strongly recommends the use of ingress controller instead of node port cert manager project is the typical way of managing certificates in K8S cert manager is separate from Service Mesh (https://github.com/jetstack/cert-manager) Service Mesh designed to deliver the certificate to the pod (sidecar)
| ONAP risk: Istio risk: cert manager not support CMPv2 must enable Istio to obtain certificates from an external CA must manage two levels of certificates must disable all application level authentication
|
Authorization (Enforcement) | Performed by AAF Performed locally
| | Istio risk: |
RBAC (Enforcement) | | Access decisions based on URL and request header content (includes a JWT) Keycloak or other OpenID Connect compatible service to manage roles and issue JWT token JWT token can be used both within the the Service Mesh and on the Ingress Controller Provides extensible architecture to support decisions based on content in the body https://istio.io/docs/tasks/security/authorization/authz-jwt/
| AAF risk: |
Confidentiality on External Interfaces (Encrypted transport) | Performed by AAF Performed locally
| | AAF risk: |
Confidentiality on Internal Interfaces (Encrypted transport) | | Performed by Service Mesh Service Mesh assigns an identity (spiffe https://spiffe.io/) to every pod Service Mesh uses Citadel for certificate management, using the spiffe identity
| ONAP risk: Service Mesh risk: |
User Management (Information Store) | Part of AAF Part of each project
| | ONAP risk: AAF user/passwords not stored in user store AAF has complicated user store management Non-uniform solution is difficult to manage Showstopper for commercial use Most Operators have an existing user store (commonly LDAP or Keberos) Limited support from AAF and project teams
|
Certificate Management | see confidentiality | see confidentiality |
|
TCP and UDP support | TCP supported UDP not supported
| | DCAE (SNMP trap collector) uses UDP for data collection (SNMP) Service Mesh would not change the security posture of ONAP use of UDP Authentication could be implemented as a sidecar plugin, but would require custom work |
Logging | The application has responsibility for transactional logging Multiple solutions have been adopted by the projects (ONAP Logging, AAF-CADI, natively in application) Some components running a sidecar that runs an application called filebeat that sends log files to ELK Stack (Logging) or ESSK Logging project has not participated in the past two releases Some components log to stdout ONAP logging is customized AAF provides logging capabilities ONAP and Acumos logging projects have a common definition Transactional events are logged by AAF-CADI, if integrated
| Service Mesh could be integrated with ONAP Logging Transactional events can be logged by Service Mesh instead of by the application Collects the events to a centralized location Consistent source of log data across all projects and requires no work from projects to collect the data
| ONAP Today: Service Mesh: |
API Tracing | | |
|
Monitoring and Alarming | POMBA was the analytics logging analytics service and is in the process of being deprecated and removed from ONAP ONAP logs can be ingested into an SIEM tool ONAP does not provide native monitoring and alarming for the ONAP components
| Service Mesh integrates natively with FluentD (CNCF open source data aggregation solution) Logs can be ingested into SIEM tool Service Mesh collects information about ingress and egress traffic, including authentication
| |
Performance | | | |
Integration | Enforcement of AN/AZ requires code development AAF CADI only supports Java Certificate management via certman mostly language independent (uses AAFinit container to put cert into volume) supports P12 and JKS, no PEM format. ONAP containers retrieve the cert from the volume. AAF was not designed to be run on containers
| | ONAP Today: Third party microservices require modification (modification may not be possible) Cannot use the ONAP microservice independently CA is part of ONAP, not external If AAF fails during deployment, the ONAP containers cannot retrieve a certificate
Service Mesh: |
Layer 7 load balancing | | https://istio.io/docs/concepts/traffic-management/ |
|