openHttpConnection

🌐 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

  1. šŸ” Discover available services using getAllServices(), getServiceByServiceName() or getServiceByTargetCoordinate()
  2. šŸ”“ Start access tunnel using serviceAccessStart() or serviceAccessStartAll()
  3. šŸ›°ļø Route traffic through the SDK's secure tunnel
  4. šŸ”’ Stop tunnel using serviceAccessStop() or serviceAccessStopAll()

šŸ”Ž Service Discovery APIs

šŸ“„ getAllServices

Retrieves all services available to the user based on their group, device, and policy.

RdnaClient.getAllServices();

šŸ”Ž getServiceByServiceName

Retrieve service details using a registered service name.

RdnaClient.getServiceByServiceName("intranet_service");

šŸŽÆ getServiceByTargetCoordinate

Lookup a service using a target host and port coordinate.

RdnaClient.getServiceByTargetCoordinate("10.0.0.1", 8080);

šŸ”“ Tunneling APIs

🚪 serviceAccessStart

Starts a tunnel to a specific service by service ID.

RdnaClient.serviceAccessStart("serviceId");

šŸ›‘ serviceAccessStop

Stops the active tunnel to a specific service.

RdnaClient.serviceAccessStop("serviceId");

šŸš€ serviceAccessStartAll

Starts access to all available services (based on policy).

RdnaClient.serviceAccessStartAll();

šŸ›‘ serviceAccessStopAll

Stops access to all currently active tunnels.

RdnaClient.serviceAccessStopAll();

šŸ“¦ Sample Flow

  1. Discover Services
const services = RdnaClient.getAllServices();
  1. Start Tunnel to a Specific Service
RdnaClient.serviceAccessStart(services[0].serviceId);
  1. Stop Tunnel
RdnaClient.serviceAccessStop(services[0].serviceId);

🧠 Best Practices

  • Always call serviceAccessStop() or StopAll() 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.