Commit Graph
18065 Commits
Author SHA1 Message Date
Yassine Bounekhla f2c8833cea implement listing notifications for a user with matching (#39942) 2024-05-15 19:26:58 +00:00
Michael 265b58cb7e Apply new logos based on license (#41294) 2024-05-15 19:09:33 +00:00
Nic Klaassen b466c8d365 refactor common proto resource (un)marshallers into generic functions (#41562)
* refactor common proto resource (un)marshallers into generic functions

* use protocmp.Transform
2024-05-15 18:18:03 +00:00
rosstimothy 2df9aeafd0 Convert App heartbeats to use the inventory control stream (#41164)
Updates app server heartbeats to use srv.Heartbeatv2 in order to
leverage the inventory control stream instead of the legacy mechanism.
The new srv.heartbeatV2Driver implementation for app servers detects
the version of Auth and falls back appropriately if the Auth server
is too old to know about the new field added to the InventoryHeartbeat
message. The connected_resources metric should be accurate if the
auth and app service are on the same version or if the auth service
is on a more recent version. If the app service is newer than auth
and the new app server driver kicks into fall back mode then the
connected resource metric will not be updated.

Partially addresses #40917
2024-05-15 17:59:30 +00:00
Brian Joerger 000679cdca Add abortSignal to getWebauthnResponse. (#41568) 2024-05-15 17:46:26 +00:00
Gavin Frazar 76ef907743 update tests for auto user deactivation (#41497)
* expect deactivation audit event
2024-05-15 17:44:47 +00:00
Hugo Shaka bb6c5ee9ae Fix terraform/event-handler Makefile & Dockerfile (#41591)
This commit fixes three issues:
- Terraform and event-handler integratiosn were still using hardcoded
  versions instead of looking up the Teleport version
- The version was not detectde properly when building access pluigin in
  docker
- The event-handler Dockerfil was not importing the whole teleport
  repo as context which is required since the teleport-plugins
  -> teleport migration (we use the go.mod from the root)
2024-05-15 17:43:38 +00:00
Grzegorz Zdunek 906471bb17 Remove semver@7.0.0 dependency (#41604)
* Update `core-js-compat` to get rid of semver@7.0.0

* npx yarn-deduplicate yarn.lock --packages browserslist caniuse-lite electron-to-chromium
2024-05-15 17:38:19 +00:00
bd4dcab802 Machine ID: Switch to using new tbot ssh-proxy-command by default. (#41482)
* Add warning to previous command

* Hash out basics of new tbot proxying command use

* Avoid passing full botConfig into `tbot ssh-proxy-command`

* wip

* simplify impl

* Set up test suite for ssh config generation

* Add support for checking if ALPNConnUpgrade is required

* Cache the alpn upgrade result

* Americanize Spellings

* Update lib/tbot/config/template_ssh_client.go

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>

* Add CHANGELOG.md entry for breaking change

* Update tool/tbot/proxy.go

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

* Update lib/tbot/tbot.go

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

* Switch to `--no` variants rather than `={bool}`

* Use SingleFlight on alpn proxy upgrade cache

* Improve singleflight

* Add rudimentary shell quoting

* Uniformly pad the templating

* Rename shellQuote -> proxyCommandQuote

* Fix imports

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>
2024-05-15 17:30:54 +00:00
Andrew LeFevre 120efb9bd7 ensure kube watcher writes and flushes are sequential (#41584)
* ensure kube watcher writes and flushes are sequential

* rename to flushLocked
2024-05-15 17:03:49 +00:00
Marco Dinis c4d4fca4d9 Docs: prefer v3 for teleport.yaml config examples (#41593) 2024-05-15 17:01:44 +00:00
Nic Klaassen 30072c0ea7 fix flaky TestCredentialsCache (#41597) 2024-05-15 16:53:58 +00:00
Paul GottschlingandEdoardo Spadolini 27e6b858ed Add a vale linter for accurate step numbering (#41533)
* Add a vale linter for accurate step numbering

The linter adds a `script` vale rule that ensures that H2-level headings
beginning `Step [0-9]+/[0-9]+` are numbered correctly, and that the
total number of steps shown in each heading matches the actual number of
steps.

* Apply suggestions from code review

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

---------

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>
2024-05-15 16:30:12 +00:00
Edoardo Spadolini bb2b5150a0 Keep SIGHUP handled while we have a pidfile written (#41567)
* Keep SIGHUP handled while there's a pidfile on disk

* Make checkServerIdentity more verbose

* Use a buffered channel that was filled

* Clarify that it's fine if the channel is full

* Use signal.Notify outside of WaitAndReload
2024-05-15 15:11:46 +00:00
Marco Dinis 5b411d73a5 Join Script: add apt repo for Ubuntu 24.04 (#40960) 2024-05-15 15:03:27 +00:00
Edward DowlingandPaul Gottschling 3da49b70ee Add more clarification to ServiceNow plugin setup docs (#41530)
* Add more clarification to ServiceNow plugin setup docs

* Update docs/pages/access-controls/access-request-plugins/servicenow.mdx

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>

---------

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>
2024-05-15 15:02:45 +00:00
rosstimothy e95f3d3ed5 Start using authclient.Client/ClientI/NewClient (#41539)
Consumes the new auth client created in #41460. The changes introduced
were performed with a series of gofmt rewrite rules.

```bash
$ find ./lib/auth -type f -name '*.go' -exec gofmt -w -l -r "ClientI -> authclient.ClientI" {} \;
$ find ./lib/auth -type f -name '*.go' -exec gofmt -w -l -r "Client -> authclient.Client" {} \;
$ find ./lib/auth -type f -name '*.go' -exec gofmt -w -l -r "NewClient -> authclient.NewClientI" {} \;
$ find . -type f -name '*.go' -exec gofmt -w -l -r "auth.ClientI -> authclient.ClientI" {} \;
$ find . -type f -name '*.go' -exec gofmt -w -l -r "auth.Client -> authclient.Client" {} \;
$ find . -type f -name '*.go' -exec gofmt -w -l -r "auth.NewClient -> authclient.NewClient" {} \;
```
2024-05-15 14:09:14 +00:00
Bartosz Leper 7c55bc3fe0 Update the account screen loading state (#41481)
- Don't show state pills until MFA devices are loaded
- Actually show the spinner on the passkey list
- Fix the test flakiness
2024-05-15 14:06:13 +00:00
Edoardo Spadolini 9fb54266e0 Use Restart=always for the Teleport systemd service (#41564) 2024-05-15 12:40:12 +00:00
M.C.M 39e1d96a47 mTLS in fedramp (#41565)
* mTLS in fedramp

* mTLS in fedramp edit
2024-05-15 10:31:05 +00:00
Bartosz Leper 1297b5fd26 Prepare for moving the RecoveryCodes component to enterprise (#41464)
Allow the call site to specify component that will be displayed in the welcome
flow and add some icons required to implement the new UI on the Enterprise
side.
2024-05-15 09:34:49 +00:00
Tiago Silva b242d26355 services: Fix inconsistency in ListPlugins with pageSize=0 (#41550)
`ListPlugins` endpoint doesn't enforce `size>0` nor it assumes the
default page size when `pageSize = 0` is passed.
This results in the agent being in a deadloop because it cannot iterate
through results.

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
2024-05-15 08:40:33 +00:00
Marco Dinis 8525347113 Docs: AWS OIDC Integration set up guide (#41265)
* Docs: AWS OIDC Integration set up guide

* add examples

* review

* add no ops required

* improve how it works
2024-05-15 07:46:07 +00:00
Marco Dinis c90bf7e9a4 AWS OIDC App Access: add PublicAddr to App (#41543)
* AWS OIDC App Access: add PublicAddr to App

This PR adds a missing field to the App created to handle the AWS App
Access when using the AWS OIDC credentials
The PublicAddr is required and was not being set.

* fix identation
2024-05-15 07:11:50 +00:00
Michael 99cc636046 Update e (#41566) 2024-05-14 23:41:28 +00:00
Gavin Frazar 3ac0a0e4f2 update db guide introductions (#41442) 2024-05-14 22:55:38 +00:00
Michael 50d56b28b4 Web: add bypass for flaky test (#41551) 2024-05-14 22:33:26 +00:00
Paul Gottschling 127184f0a8 Break up /database-access/guides/ (#38574)
* Break up /database-access/guides/

Closes #17641

Organize the guides to enrolling databases in specific cloud providers
(or self-hosted databases) into separate subsections of the "Database
Actions" section, organized by cloud provider (or self-hosted).

We can later add general information to the index page of each
subsection about how Teleport database access works for each cloud
provider. The remaining guides in the "Guides" subsection have to do
with database-agnostic functionality of the Teleport Database Service.

This change also adds a redirect for each page it moves.

* Respond to greedy52 feedback

- In the "Database Access" intro page, move the self-hosted section
  first in the list of links to database-specific guides so it's less
  easy to miss.
- Change "AWS" to "Amazon" in product names.

* Fix linter issues

* Remove redirects added by the DB guide reorg

This prevents us from running into Vercel route limit issues, since the
number of redirects is large.
2024-05-14 20:44:59 +00:00
Brian Joergerandrosstimothy 9ecd2943a7 MFA for SAML IdP: Add mfa check to CheckAccessToSAMLIdP (#41441)
* Add per-session MFA check to CheckAccessToSAMLIdP helper method.

* Update test.

* Add additional method needed to authorize requests in the Proxy service.

* Address comment.

* Apply suggestions from code review

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
2024-05-14 20:12:20 +00:00
Zac Bergquist 5a10566d4b tctl: add PKI domain flag for tctl auth sign --format=windows (#41495)
This comes in handy for troubleshooting multi-domain setups.
2024-05-14 20:07:15 +00:00
Gavin Frazar e1c47c0f21 fix docs step numbering (#41508) 2024-05-14 19:16:18 +00:00
Brian Joerger 3b50ffe4f2 Add mfa response to ProcessSAMLIdPRequest. (#41440) 2024-05-14 18:37:19 +00:00
Michael 6b0797adba Update shared access requests components for e changes (#41333) 2024-05-14 17:55:57 +00:00
Lisa Kim 6b2cfbdf38 Update app access RFD (#31103)
* Update app access rfd

* Clarify

* Clarify

* Add missing cookies and mismatch token state

* Clarify

* Remove forward slash for domain already specified

* Rename auth service to auth server in mermaid
2024-05-14 17:42:33 +00:00
Justinas StankevičiusandJakub Nyckowski 6fbfadc230 Access Graph: sync AWS identity providers (#41368)
* Add AWSSAMLProviderV1 to access graph proto

* Access Graph: sync AWS SAML Providers

* Parse SAML entity descriptor before sending to TAG

* Add protos for AWS OIDC providers

* Fetch AWS OIDC providers

* Fetch signing certificates for AWS SAML providers

* Deflake identity provider fetch test

The concrete implementation of IAM mock uses a map,
resulting in non-deterministic iteration order.
Sort the results before comparing to alleviate.

* Update lib/srv/discovery/fetchers/aws-sync/iam_test.go

Co-authored-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>

---------

Co-authored-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>
2024-05-14 16:20:36 +00:00
Zac Bergquist 10fca830d3 Deflake TestSeekForward (#41446)
Closes #40842
2024-05-14 15:46:57 +00:00
Gabriel Corado 0e54ee8567 Fix SSH sessions recorded on proxy not being fully closed (#41434)
* fix(srv): SSH remote sessions resources not being closed correctly

* refactor(srv): code review suggestions

* test(srv): move t.Helper to the correct function

* chore(srv): typo

* chore(srv): typo
2024-05-14 14:47:14 +00:00
Marco Dinis 6e80db34b7 Docs: fix typo in backend reference (#41513) 2024-05-14 14:28:43 +00:00
Zac Bergquist e101021c7f Clean up logging for cert generation (#41473)
On a busy cluster, Teleport can issue hundreds or even thousands
of TLS certificates in a short period of time. This can clutter
the logs and make troubleshooting difficult.

- Decrease the severity from INFO to DEBUG
- Log only the common name, not the full subject
2024-05-14 13:43:21 +00:00
rosstimothy 67f499a457 Refactor auth client code into lib/auth/authclient (#41460)
This starts separating the lib/auth client and server code into
distinct packages to reduce the dependency tree of client tools.
For the time being aliases were left to all things moved into
lib/auth/authclient to reduce the changeset and ensure code still
compiles. Future changes will be built off this to convert code
to use lib/auth/authclient where applicable, this was intentionally
left to a minimum amount of changes to facilitate backports.
2024-05-14 13:28:06 +00:00
Rafał CieślakandKrzysztof Skrzętnicki 8e319e7fd6 webclient.Ping: Return error on unsuccessful response (#41317)
* webclient.Ping: Return err on unsuccessful response

* Log mangled response, add test case

* Point towards possible causes of errors

Co-authored-by: Krzysztof Skrzętnicki <krzysztof.skrzetnicki@goteleport.com>

---------

Co-authored-by: Krzysztof Skrzętnicki <krzysztof.skrzetnicki@goteleport.com>
2024-05-14 12:43:43 +00:00
rosstimothy 24d06502ff Prevent web ui SSH connections from leaking (#41501)
The session closing in TerminalHandler.Close did not always close
established ssh sessions if the client closed the web socket
at any point between the new browser tab being opened and the session
being established. In these cases the SSH connection was leaked for
the duration of the Proxy process. To ensure sessions are always
terminated a check to see if the client closed the web socket was
added prior to writing the session metadata and after the shell
is established for the ssh session.
2024-05-14 11:26:21 +00:00
Grzegorz Zdunek 238b6e4954 Update Electron to 30.0.3 and Node.js to 20.13.0 (#41404)
* Update `electron` to 30.0.3

* Update Node.js to 20.13.0
2024-05-14 09:01:19 +00:00
Trent Clarke fbd0091b9b SCIM only okta (#41125)
* Changes required for implementing a standalone (i.e. without Okta Sync compatibility) SCIM service in teleport.e.

Includes:

 * `tctl plugins delete` and `tctl plugins create scim` tooling
 * Moving some constants from teleport.e to OSS
 * Protobuf message types for standalone SCIM settings
 * UI updates for rendering SCIM users

Changelog: Added plugin management tooling to tctl

* Adds validation to SCIM settigs

* Linter fixup

* linter appeasement
2024-05-14 08:36:11 +00:00
fheinecke 4d3b141ad5 Restructured teleport-plugins makefile variables to match plugins (#41506) 2024-05-14 02:35:02 +00:00
Zac Bergquist 408d6010e3 docs: add new troubleshooting steps to verify client certs on Windows (#41496) 2024-05-14 01:34:42 +00:00
fheinecke a9a5a959c1 Bumped e ref (#41503) 2024-05-14 00:52:29 +00:00
Gavin Frazar 03c65e4538 add redshift cluster e2e tests (#41195)
* test redshift cluster iam role and existing db user iam auth
* test redshift cluster auto user provisioning
* add error checking in test cleanup
2024-05-13 23:36:38 +00:00
M.C.M ecb09f133d Fedramp updates (#41344)
* fedramp updates

* fedramp updates

* fedramp updates - post-review v1

* fedramp updates - post-review v2
2024-05-13 23:09:51 +00:00
Bernard Kim 3a7ece300d Reload teleport service config on upgrade (#41127)
* Reload teleport service config on upgrade

* Ignore daemon-reload error
2024-05-13 22:48:35 +00:00