Skip to main content
Connect Teleport to Oleria to see who can access your infrastructure through Teleport, which roles and access lists grant that access, and which bots and join tokens can act on the cluster. Oleria reads identity, access, and audit data from the Teleport API as a Machine ID bot. You can then review over-provisioned access and take action directly from Oleria. One Oleria connection maps one Teleport cluster. Teleport Enterprise Cloud and self-hosted Teleport clusters running version 18 or later are supported. To connect another cluster, add another integration.
For a self-hosted cluster, Oleria must be able to reach your proxy address. Contact support@oleria.com to allow the address before you connect. Teleport Enterprise Cloud (*.teleport.sh) needs no action.

What Oleria discovers

Once connected, Oleria continuously discovers and maps the following from your Teleport cluster:
  • Users - every local user, and every SSO user that currently has a session, with their roles. A user is shown as disabled while a Teleport lock targets them or one of their roles, or after their account expires. A lock that only blocks one login, device, or desktop is shown in the user’s details instead. Oleria also shows:
    • whether the user has set a password, and when a pending invitation expires
    • their SSO connector, for users created by a SAML, OIDC, or GitHub connector
    • MFA status, from the cluster’s second factor setting. When the cluster requires a second factor, Teleport is the MFA authority and MFA is shown as enabled; a user with no MFA device enrolled is shown as enrollment required. When the second factor is optional or off, MFA is shown as not required. For SSO users without a Teleport MFA device, MFA is handled by the identity provider.
    • administrators: users who hold a role that can create or update users or roles
    • who created the user, and when
    • their last sign-in and last password change, from the audit log of the last 30 days
    • the users they can impersonate, from the impersonate rules of their roles. Machine ID bots are checked the same way. Rules with a where condition aren’t counted.
  • Groups - each access list is shown as a group, with its user members, its nested access lists, and the access list owners. Membership expiry dates are shown on the membership.
  • Roles - every Teleport role, marked as preset, system, or custom. Oleria shows the roles assigned directly to users and bots, and the roles each access list grants to its members.
  • Non-human identities (NHIs):
    • Service accounts - Machine ID bots, with their roles, who created them, and when they last authenticated.
    • API tokens - join tokens that use the token join method. Oleria never shows the token value: the name is masked the same way Teleport masks it.
    • SSH keys - join tokens that use the bound_keypair join method, with the fingerprint of the registered public key.
    • Federated credentials - join tokens that use a cloud or CI identity, such as iam, github, or kubernetes.
    • System - Teleport’s own system users, such as @teleport-access-approval-bot, and the join tokens Teleport uses for its own infrastructure.
    Each join token is also shown as a credential with its expiry date, linked to the bot it lets join. When Teleport records it, Oleria also shows when the token was last used to join.
  • Activity - events from the Teleport audit log, such as:
    • sign-ins and failed sign-ins, including the MFA device used and the client IP address
    • bot joins
    • SSH, application, and database session starts
    • user, role, bot, and access list changes
    • access list membership changes, access requests, and access request reviews
    • locks created and removed
    • join token creation, password changes and resets, and MFA enrollments
    • changes to the cluster’s authentication settings
    Oleria leaves out the join and certificate events of the bot this integration connects as. Changes that bot makes, including remediation actions, are shown.
Nodes, applications, databases, Kubernetes clusters, and desktops enrolled in Teleport aren’t discovered.

Prerequisites

  • A Teleport Enterprise Cloud tenant or a self-hosted Teleport cluster running version 18 or later.
  • A Teleport user who can create roles, bots, and join tokens, with tctl and tbot installed.
  • Admin access on the Oleria platform to add a new integration.

Permissions

Oleria connects as a Machine ID bot and reads with the roles you grant the bot. Grant a role with these rules, all with the list and read verbs: user, role, access_list, bot, bot_instance, token, lock, event, and cluster_auth_preference. Without read on cluster_auth_preference, Oleria shows users’ MFA status as unavailable. Remediation actions need more rules. See Remediation actions for the rules each action needs.
Use a dedicated bot for this integration rather than a person’s account. Oleria never disables the bot it connects as, or deletes that bot’s join token.

Create a bot in Teleport

1

Create a key pair

Run tbot keypair create --proxy-server <your-proxy>:443 --static. The command prints a public key, and a private key value to use in Oleria. Keep the private key value secret.
2

Create the role, bot, and join token

Save the following as oleria.yaml, replace the public key with the one from the previous step, and run tctl create -f oleria.yaml:
The token uses a static key, so it needs the insecure recovery mode. Don’t set rotate_after on it.
3

Optional: allow remediation

To take remediation actions from Oleria, add a second role with the rules from Remediation actions to the bot’s roles.
Teleport changes over time. If these steps don’t match your cluster, refer to Teleport’s guide on bound keypair static keys.

Connect Teleport to Oleria

1

Open the integration

Sign in to your Oleria workspace, navigate to Integrations, and select Teleport.
2

Complete the connection form

3

Authenticate

Select Authenticate. Oleria joins your cluster as the bot, lists one user, and checks that the bot’s roles allow list and read on user, role, and lock. If any of these steps fails, the connection fails with the reason.

Edit the connection

You can change the join token name and private key of an existing connection. Leave the private key blank to keep the stored value. The proxy address can’t be changed; to connect a different cluster, add a new integration.

Verify the integration

Confirm the Teleport cluster appears on the Connected tab of your Oleria Integrations page. The connection is named after your Teleport cluster. After the first sync completes, review the discovered users, access lists, roles, NHIs, and activity in your Oleria workspace.

Remediation actions

Oleria runs actions as the same bot. Each action is available only when the bot’s roles allow the rules it needs. Each action needs these role rules: The bot also needs read on role to check its own permissions.
Deleting a join token is permanent, and it only stops new joins: anything that already joined with it, such as a node, keeps its certificates. Nothing can join with the token again until you create a new one.
Oleria refuses these actions and sends no change to Teleport:
  • Disabling the bot this integration connects as, or deleting its join token.
  • Disabling, deleting, or revoking the sessions of a Machine ID bot with a user action. Use Disable NHI accounts instead.
  • Changing the roles of a Machine ID bot. Bot roles are managed on the bot.
  • Changing the roles of an SSO user. The SSO connector sets their roles at every sign-in, so change the connector’s role mapping instead.
  • Deleting an SSO user. The SSO connector creates the user again at every sign-in, so remove the person in your identity provider instead.
  • Disabling, deleting, or changing the roles of Teleport’s system users, or revoking their sessions.
  • Removing the bot this integration connects as from an access list.
  • Enabling a user who is blocked by a lock on one of their roles, because that lock also blocks everyone else with the role. Remove the role lock in Teleport instead.
  • Deleting the join tokens Teleport uses for its own proxy and auth services.
  • Changing members of an access list that’s managed by SCIM.
Keep these points in mind:
  • If the user is already in the requested state, or a user to delete no longer exists, the action succeeds without making a change, and there’s nothing to revert.
  • A lock blocks new sessions and certificates for the user or bot. It doesn’t change their roles.
  • Revoke user sessions signs the user out of the Web UI and applications, but certificates already issued to tsh or tbot stay valid until they expire. To block those too, use Disable user accounts.

Known limitations

  • Last sign-in and password change look back 30 days. Teleport doesn’t store these dates on users, so Oleria reads them from the audit log of the last 30 days. Older ones are left empty. Sign-ins still appear as activity.
  • Access lists need Teleport Enterprise. On a cluster without access lists, such as Community Edition, Oleria discovers no groups, and the group actions aren’t available.
  • Teleport is the MFA authority for SSO users too. When the cluster requires a second factor, Teleport is listed as the MFA authority for every user, including SSO users whose MFA is handled by their identity provider.
  • Infrastructure resources aren’t discovered. Nodes, applications, databases, Kubernetes clusters, and desktops enrolled in Teleport aren’t shown.
  • Each sync creates a bot instance. The bot joins your cluster at the start of each sync and action, so Teleport lists a new bot instance for each join. Bot instances expire on their own.
  • SSO users without a session aren’t listed. Teleport creates SSO users when they sign in and removes them when their session expires, so Oleria only sees SSO users with a current session. Your identity provider integration remains the source for those people.
  • Login lockouts aren’t shown as disabled. A user temporarily locked out after failed sign-ins is still shown as enabled, with the lockout end time in their profile details.
  • Self-hosted clusters need allowlisting. Oleria can connect to *.teleport.sh hosts. For a self-hosted proxy, contact support@oleria.com to add its host before you connect.

Contact us

For questions about this integration, contact us at support@oleria.com.