Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/pages/access-controls/reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -408,18 +408,18 @@ metadata:
spec:
allow:
rules:
# Teleport allows shared session access by default, so for our restrictions
# to work we first allow access to ssh_sessions...
- resources: [ssh_session]
# Teleport allows session access to the user's sessions
# and sessions they can join by default. This allows seeing any sessions.
- resources: [session_tracker]
verbs: ['*']
deny:
rules:
# ... and then limit that access via a deny rule.
# Deny rules take precedence over allow rules, so the resulting role allows
# users to create SSH sessions but to only view their own sessions.
- resources: [ssh_session]
- resources: [session_tracker]
verbs: [list, read, update, delete]
where: '!contains(ssh_session.participants, user.metadata.name)'
where: '!contains(session_tracker.participants, user.metadata.name)'
```

## Second Factor - U2F
Expand All @@ -435,7 +435,7 @@ Here is an explanation of the fields used in the `where` and `filter` conditions
| -------------------------- | ------------------------------------------------- |
| `user.spec.roles` | The list of roles assigned to a user |
| `session.participants` | The list of participants from a session recording |
| `ssh_session.participants` | The list of participants from an SSH session |
| `session_tracker.participants` | The list of participants from an SSH session |
| `user.metadata.name` | The user's name |

Check out our [predicate language](../reference/predicate-language.mdx#scoping-allowdeny-rules-in-role-resources)
Expand Down
4 changes: 3 additions & 1 deletion docs/pages/includes/role-spec.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,9 @@ spec:
# access_plugin_data - allows modifying Access Request plugin data
#
# session - session playback records
# ssh_session - an active SSH session
# session_tracker - an active session
# ssh_session - allows seeing active sessions page
# instance - a Teleport instance
# event - structured audit logging event
#
#
Expand Down
23 changes: 16 additions & 7 deletions docs/pages/reference/networking.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,10 @@ In those cases, they can set up separate listeners in the config file.
| 3023 | All clients | SSH port clients connect to. The Proxy Service will forward this connection to port `3022` on the destination service. |
| 3024 | Auth Service | SSH port used to create reverse SSH tunnels from behind-firewall environments into a trusted Proxy Service instance. |
| 3080 or 443 | Proxy Service | HTTPS connection to authenticate `tsh` users into the cluster. The same connection is used to serve a Web UI. |
| 3036 | Database Service | Traffic to MySQL databases.|
| 5432 | Database Service | Traffic to Postgres databases.|
| 27017 | Database Service | Traffic to MongoDB instances.|
| 6379 | Database Service | Traffic to Redis instances.|

### Auth Service ports

Expand Down Expand Up @@ -225,19 +229,24 @@ meaning that you can expose ports on that service's host directly to clients.
This is useful when you need to connect to resources directly if the Proxy
Service becomes unavailable.

<Admonition
type="tip"
title="Note"
>
In Teleport Cloud, the Auth and Proxy Services run in Teleport-owned infrastructure.
For this reason, Teleport Cloud customers must connect their resources via reverse tunnels.
Exposing ports for direct dial is only supported in self-hosted deployments.
</Admonition>

The table below describes the ports that each Teleport Service opens for proxied
traffic:

| Port | Service | Traffic Type |
| - | - | - |
| 3022 | SSH Service | Incoming SSH connections.|
| 3026 | Kubernetes Service | HTTPS traffic to a Kubernetes API server.|
| 3036 | Database Service | Traffic to MySQL databases.|
| 5432 | Database Service | Traffic to Postgres databases.|
| 27017 | Database Service | Traffic to MongoDB instances.|
| 6379 | Database Service | Traffic to Redis instances.|
| 3028 | Windows Desktop Service | Teleport Desktop Protocol traffic from Teleport clients.|

Applications registered with the Teleport Application Service can only be
accessed via the Teleport Proxy Service, not directly via the Application
Service.
You can only access enrolled applications and databases through the Teleport Proxy Service.
The Teleport Application Service and Teleport Database Service use reverse tunnel
connections through the Teleport Proxy Service and cannot expose ports directly.