github gravitational/teleport v6.0.0
Teleport 6.0.0

latest releases: v13.4.24, v14.3.18, v15.3.1...
3 years ago

Teleport 6.0 is a major release with new features, functionality, and bug fixes.

New Features

We have implemented Database Access, open sourced role-based access control (RBAC), and added official API and a Go client library.

Users can review the 6.0 milestone on Github for more details.

Database Access

Review the Database Access design in RFD #11.

With Database Access users can connect to PostgreSQL and MySQL databases using short-lived certificates, configure SSO authentication and role-based access controls for databases, and capture SQL query activity in the audit log.

Getting Started

Configure Database Access following the Getting Started guide.

Guides

Resources

To learn more about configuring role-based access control for Database Access, check out the RBAC section.

Architecture provides a more in-depth look at Database Access internals such as networking and security.

See Reference for an overview of Database Access related configuration and CLI commands.

Finally, check out Frequently Asked Questions.

OSS RBAC

Open source RBAC support was introduced in RFD #7.

RBAC support gives OSS administrators more granular access controls to servers and other resources with a cluster (like session recording access). An example of an RBAC policy could be: "admins can do anything, developers must never touch production servers and interns can only SSH into staging servers as guests"

In addition, some Access Workflow Plugins will now become available to open source users.

  • Access Workflows Golang SDK and API
  • Slack
  • Gitlab
  • Mattermost
  • JIRA Plugin
  • PagerDuty Plugin

Client libraries and API

API and Client Libraries support was introduced in RFD #10.

The new API and client library reduces the dependencies needed to use the Teleport API as well as making it easier to use. An example of using the new API is below.

// Create a client connected to the Auth server with an exported identity file.
clt, err := client.NewClient(client.Config{
  Addrs: []string{"auth.example.com:3025"},
  Credentials: []client.Credentials{
    client.LoadIdentityFile("identity.pem"),
  },
})
if err != nil {
  log.Fatalf("Failed to create client: %v.", err)
}
defer clt.Close()

// Create a Access Request.
accessRequest, err := types.NewAccessRequest(uuid.New(), "access-admin", "admin")
if err != nil {
  log.Fatalf("Failed to build access request: %v.", err)
}
if err = clt.CreateAccessRequest(ctx, accessRequest); err != nil {
  log.Fatalf("Failed to create access request: %v.", err)
}

Improvements

  • Added utmp/wtmp support for SSH in #5491.
  • Added the ability to set a Kubernetes specific public address in #5611.
  • Added Proxy Protocol support to Kubernetes Access in #5299.
  • Added ACME (Let's Encrypt) support to make getting and using TLS certificates easier. #5177.
  • Added the ability to manage local users to the Web UI in #2945.
  • Added the ability to preserve timestamps when using tsh scp in #2889.

Fixes

  • Fixed authentication failure when logging in via CLI with Access Workflows after removing .tsh directory in #5323.
  • Fixed tsh login failure when --proxy differs from actual proxy public address in #5380.
  • Fixed session playback issues in #2945.
  • Fixed several UX issues in #5559, #5568, #4965, and #5057.

Upgrade Notes

Please follow our standard upgrade procedure to upgrade your cluster.

Note, for clusters using GitHub SSO and Trusted Clusters, when upgrading SSO users will lose connectivity to leaf clusters. Local users will not be affected.

To restore connectivity to leaf clusters for SSO users, leaf admins should update the trusted_cluster role mapping resource like below.

kind: trusted_cluster
version: v2
metadata:
   name: "zztop-oss"
spec:
   enabled: true
   token: "bar"
   web_proxy_addr: 172.10.1.1:3080
   tunnel_addr: 172.10.1.1:3024
   role_map:
   - remote: "admin"
     local: ['admin']
   - remote: "^(github-.*)$"
     local: ['admin']

Download

Download the current and previous releases of Teleport at https://gravitational.com/teleport/download.

Don't miss a new teleport release

NewReleases is sending notifications on new releases.