Tunneling in REL-ID
🌐 Tunneling – REL-ID SDK Overview
📘 Purpose
Tunneling in REL-ID SDK enables secure access to remote/internal enterprise services over a trusted channel without requiring direct network exposure (e.g., VPN or public internet). The SDK provides APIs to discover services and establish or terminate access tunnels dynamically.
🔐 Core Concept
REL-ID SDK uses policy-driven service discovery and secure tunneling to connect to backend services via the REL-ID Server. This ensures:
- Zero-trust access enforcement
- Application-level service authorization
- Encrypted traffic across managed tunnels
🚀 Workflow Overview
- 🔍 Discover available services using
getAllServices(),getServiceByServiceName()orgetServiceByTargetCoordinate() - 🔓 Start access tunnel using
serviceAccessStart()orserviceAccessStartAll() - 🛰️ Route traffic through the SDK's secure tunnel
- 🔒 Stop tunnel using
serviceAccessStop()orserviceAccessStopAll()
🔎 Service Discovery APIs
📥 getAllServices
getAllServicesRetrieves all services available to the user based on their group, device, and policy.
RdnaClient.getAllServices();🔎 getServiceByServiceName
getServiceByServiceNameRetrieve service details using a registered service name.
RdnaClient.getServiceByServiceName("intranet_service");🎯 getServiceByTargetCoordinate
getServiceByTargetCoordinateLookup a service using a target host and port coordinate.
RdnaClient.getServiceByTargetCoordinate("10.0.0.1", 8080);🔓 Tunneling APIs
🚪 serviceAccessStart
serviceAccessStartStarts a tunnel to a specific service by service ID.
RdnaClient.serviceAccessStart("serviceId");🛑 serviceAccessStop
serviceAccessStopStops the active tunnel to a specific service.
RdnaClient.serviceAccessStop("serviceId");🚀 serviceAccessStartAll
serviceAccessStartAllStarts access to all available services (based on policy).
RdnaClient.serviceAccessStartAll();🛑 serviceAccessStopAll
serviceAccessStopAllStops access to all currently active tunnels.
RdnaClient.serviceAccessStopAll();📦 Sample Flow
- Discover Services
const services = RdnaClient.getAllServices();- Start Tunnel to a Specific Service
RdnaClient.serviceAccessStart(services[0].serviceId);- Stop Tunnel
RdnaClient.serviceAccessStop(services[0].serviceId);🧠 Best Practices
- Always call
serviceAccessStop()orStopAll()after session ends - Use
getAllServices()to build dynamic service access UIs - Respect service policy limits and failure reasons
- Audit tunnel activity for compliance
📌 Notes
- All tunneling traffic is encrypted and routed via REL-ID policy engine
- Service access may be revoked in real time by the server
- Access is context-aware: device, user, location, and risk-based
📎 Tunneling in REL-ID enables secure, scalable service access without traditional VPN or exposed firewalls.
Updated 6 months ago
