ProficientNowTechRFCs

5. Identity Integration

RFC-PAM-0001                                                    Section 5
Category: Standards Track                           Identity Integration

5. Identity Integration

← Previous: Components | Index | Next: SSH Access →


5.1 Keycloak SSO Configuration

5.1.1 Integration Overview

Teleport authenticates users through Keycloak using OIDC, per RFC-IAM-0001. This establishes a single identity source for all platform access.

5.1.2 Keycloak Client Configuration

Teleport requires a Keycloak client:

SettingValueDescription
Client IDteleportUnique identifier
Client Protocolopenid-connectOIDC authentication
Access TypeconfidentialClient has a secret
Valid Redirect URIshttps://teleport.example.com/v1/webapi/oidc/callbackCallback URL
Client AuthenticationClient ID and SecretAuthentication method

5.1.3 Required Scopes and Claims

ScopeClaims IncludedPurpose
openidsubUser identifier
profilename, preferred_usernameDisplay name
emailemailUser email
groupsgroupsGroup memberships for role mapping

5.1.4 OIDC Connector Configuration

Teleport's OIDC connector references Keycloak:

ParameterDescription
issuer_urlKeycloak realm URL
client_idteleport
client_secretFrom Vault via ESO
redirect_urlTeleport callback URL
claims_to_rolesMaps Keycloak groups to Teleport roles

5.2 Group-to-Role Mapping

5.2.1 Mapping Strategy

Keycloak groups (derived from Azure AD) map to Teleport roles:

5.2.2 Role Mapping Table

Azure AD GroupKeycloak GroupTeleport RoleAccess Level
DevelopersdevelopersdeveloperNon-prod SSH, K8s
SRE-Teamsre-teamsre-oncallAll SSH, K8s, prod access
DBA-Teamdba-teamdba-oncallDatabase access
Data-Teamdata-teamdata-analystRead-only database
Security-Teamsecurity-teamsecurity-analystAudit log access
Platform-Adminsplatform-adminsplatform-adminFull access

5.2.3 Claims-to-Roles Configuration

The OIDC connector maps claims to roles:

ClaimValueAssigned Role
groupscontains developersdeveloper
groupscontains sre-teamsre-oncall
groupscontains dba-teamdba-oncall
groupscontains platform-adminsplatform-admin

Users may receive multiple roles if they belong to multiple groups.

5.3 Authorization Ceiling Enforcement

5.3.1 Ceiling Principle

Per RFC-IAM-0001 §5.1, Azure AD group membership defines the authorization ceiling. Teleport roles MUST NOT grant permissions exceeding this ceiling.

5.3.2 Enforcement Mechanism

The ceiling is enforced through:

  1. Keycloak group synchronization: Only Azure AD groups are synchronized
  2. Claims-to-roles mapping: Roles assigned based only on group claims
  3. No local role assignment: Teleport does not maintain local user-role mappings

5.3.3 Ceiling Verification

To verify ceiling compliance:

CheckMethod
User's Azure AD groupsQuery Azure AD or Keycloak
User's Teleport rolesQuery Teleport for user's roles
Role permissionsCompare against ceiling expectation

A user's Teleport roles MUST be a subset of what their Azure AD groups permit.

5.4 Token Claims for Access Decisions

5.4.1 Relevant Claims

Teleport uses these token claims for access decisions:

ClaimSourceUsage
subKeycloakUnique user identifier
preferred_usernameKeycloakDisplay name in sessions
emailAzure AD (via Keycloak)User contact, audit attribution
groupsAzure AD (via Keycloak)Role assignment

5.4.2 Session Attribution

Session recordings and audit logs include:

FieldSourceExample
Userpreferred_username claimjane.doe
Emailemail claimjane.doe@example.com
RolesDerived from groupsdeveloper, readonly
Session IDTeleport-generatedabc123...

5.4.3 Access Decision Flow

5.5 Session Establishment

5.5.1 Authentication Flow

5.5.2 Certificate Issuance

Upon successful authentication, Teleport issues:

CertificatePurposeTTL
User certificateSSH authenticationSession TTL (e.g., 12h)
TLS certificateDatabase/App authenticationSession TTL

5.5.3 Session Properties

PropertyValueSource
Session TTLConfigurable (default: 12h)Teleport configuration
Max session TTLConfigurable (default: 30h)Teleport configuration
Idle timeoutConfigurable (default: 30m)Teleport configuration
MFA requirementPer-session or per-resourceRole configuration

5.6 Identity Lifecycle

5.6.1 User Onboarding

When a new user is added to Azure AD:

No action required from Platform Team—access is automatic based on group membership.

5.6.2 User Offboarding

When a user is removed from Azure AD:

TimelineEffect
ImmediateCannot authenticate to Keycloak
Within TTLExisting certificates may still work
After TTLAll access revoked

For immediate revocation, administrators can:

  • Lock the Teleport user
  • Revoke active certificates
  • Terminate active sessions

5.6.3 Role Changes

When a user's Azure AD groups change:

ActionEffectTimeline
Added to groupNew role availableNext authentication
Removed from groupRole revokedNext authentication

Active sessions continue with original roles until re-authentication.


Document Navigation


End of Section 5