From identity to network access.
SkiMasque turns an authenticated identity into a short-lived, policy-controlled network session.
- WORKLOADcontrol plane
- IDENTITYcontrol plane
- AUTHENTICATEcontrol plane
- AUTHORIZEactive
- SESSION ACTIVEactive
- GATEWAYactive
- PRIVATE NETWORK
Follow a deployment from request to expiry
In this example, a GitHub Actions job needs temporary access to one private database. Play the walkthrough to follow the decision and the resulting traffic path, or read each step at your own pace.
Simulated example · Playback compresses a 20-minute session into a few seconds. It does not open a connection or show live activity.
Read the six steps below to follow the session from request to expiry.
-
Request access
GitHub Actionsacme/widgetA GitHub Actions job in acme/widget asks to run terraform against db.prod:5432.
-
Verify identity
Identitydeploy-productionSkiMasque verifies the job's OIDC identity, including its repository and workflow claims.
-
Check policy
Policy ACCESS GRANTEDA matching allow rule permits this identity and application to reach the requested destination. Without a matching allow rule, the request is denied.
-
Open a session
Session20 minutes ACTIVEAn authorized request receives a session limited to db.prod:5432 for 20 minutes in this example.
-
Connect through the gateway
- Gatewayus-westtrafficactive
- Databasedb.prod:5432
The gateway forwards the session's traffic to db.prod:5432. The workload's traffic passes through the us-west gateway to the private database. The control plane makes the access decision; the gateway carries the traffic.
-
Session expires
Session EXPIREDWhen the session expires or ends, its access closes. A later connection needs a new authorized session.
Step 1 — Identify
A workload requests access to a destination. SkiMasque identifies who is asking and which application needs the connection.
repository: acme/widget workflow: deploy-production ref: main application: terraform
Step 2 — Authenticate
SkiMasque verifies the presented identity using the configured identity source.
For GitHub Actions, workload identity/OIDC establishes which repository and workflow is making the request. Authentication establishes the identity; policy determines its access.
Step 3 — Authorize
SkiMasque evaluates the identity, application, and requested destination against policy.
WHO acme/widget WHAT terraform WHERE db.prod:5432
A matching allow rule grants the requested access within its limits. With no matching allow rule, the request is denied before a session is opened.
Step 4 — Establish a session
If authorized, SkiMasque creates a short-lived session for the permitted destination. The 20-minute duration and bandwidth below are illustrative policy limits.
SESSION Status: Active Destination: db.prod:5432 Duration: 20m Bandwidth: 100 Mbps Gateway: us-west
Step 5 — Connect
The control plane authorizes the session. Traffic flows through the SkiMasque gateway to the permitted service in the customer's network.
- sessions and policycontrol plane
Gateway
- active
Database
- active
Internal API
- active
Kubernetes API
Services behind YOUR NETWORK. - active
Step 6 — Expire
Each new tunnel requires a valid credential and another policy decision. Exec closes its local tunnels on exit. Agent sessions additionally close active tunnels at expiry or when the gateway receives revocation. CI/developer credential expiry does not cut existing tunnels, and policy max_duration is currently metadata.
- REQUESTidentitycontrol plane
- AUTHENTICATEpolicycontrol plane
- AUTHORIZEactive
- CONNECTactive
- ACTIVE ACTIVEpotential
- EXPIRE EXPIRED
No manual VPN disconnect.
No standing session.