teleport/api
Marco André Dinis f3a5d9695e
Integrations: AWS OIDC - ListDatabases action (#24460)
* AWSOIDC Integration: ListDatabases

This PR adds a new Action for the AWSOIDC Integration: ListDatabases
The goal of this action is to provide the User a list of RDS Databases
from which the User will pick one to be added as a Teleport Database
Resource.
This way, the user doesn't need to copy/paste DB name, endpoints and
labels.

Before being able to call this action, the User has to set up an AWS
OIDC integration.

How does it work:
```
                    Client (web app)
                     │     ▲
                     │     │4. Returns list of DBs
 1. List Databases   │     │   (name, tags, status, endpoint)
                     │     │
                     │     │
                     │     │
                     │     │
                     ▼     │       3. rds.DescribeDBInstances
               ┌───────────┴────┐     (auth: token)                ┌─────────┐
               │                ├─────────────────────────────────►│         │
               │ Teleport Proxy │                                  │   AWS   │
               │                │     3.1. Get OIDC Config         │         │
               │                │◄─────────────────────────────────┤         │
               │                │     3.2. Get RSA Public Key      │         │
               │                │◄─────────────────────────────────┤         ├─────────┐ 3.3.
               │                │                                  │         │         │Validates token signature
               │                │                                  │         │         │with received public key
               │                │   3.4 Returns list of DBs        │         │◄────────┘
               │                │◄─────────────────────────────────┤         │
               └─┬──────────────┘                                  └─────────┘
                 │
                 │  2. Sign Token
                 │
                 ▼
              ┌───────────────────┐
              │                   │
              │   Teleport Auth   │
              │  RSA Private Key  │
              └───────────────────┘

```

* add resource and account ids to DB resource

* move api namespaces

* use types.Database instead of custom database format

* add database uri

* fix comments and rate limiter

* test name override when converting RDS V2 DBs

* fix webapi database URI field

* TestClusterDatabasesGet: add parallel
2023-04-19 15:42:53 +00:00
..
breaker Update jonboulle/clockwork to 0.4.0 (#24099) 2023-04-13 20:04:38 +00:00
client Integrations: AWS OIDC - ListDatabases action (#24460) 2023-04-19 15:42:53 +00:00
constants TLS routing behind LB support for Auth, SSH, Reverse tunnel (#23866) 2023-04-14 19:22:23 +00:00
defaults Reduce DefaultIdleTimeout to 30s (#23943) 2023-03-31 23:19:13 +00:00
fixtures Move ALPN dialer, ALPN conn upgrade, Ping conn to api (#23860) 2023-04-03 14:16:30 +00:00
gen/proto/go Integrations: AWS OIDC - ListDatabases action (#24460) 2023-04-19 15:42:53 +00:00
identityfile Client store generalization (#19420) 2023-01-06 01:34:04 +00:00
internalutils spell fixes (#19419) 2022-12-16 19:01:28 +00:00
metadata Enable GCI linter (#17894) 2022-10-28 20:20:28 +00:00
observability/tracing Reduce time spent setting ssh session envs (#23731) 2023-03-30 12:58:49 +00:00
profile only call 'user.Current' when we really need to (#24156) 2023-04-13 21:16:26 +00:00
proto Integrations: AWS OIDC - ListDatabases action (#24460) 2023-04-19 15:42:53 +00:00
types Integrations: AWS OIDC - ListDatabases action (#24460) 2023-04-19 15:42:53 +00:00
utils TLS routing behind LB support for Auth, SSH, Reverse tunnel (#23866) 2023-04-14 19:22:23 +00:00
go.mod Update jonboulle/clockwork to 0.4.0 (#24099) 2023-04-13 20:04:38 +00:00
go.sum Update jonboulle/clockwork to 0.4.0 (#24099) 2023-04-13 20:04:38 +00:00
version.go Bump dev version to 14 (#24704) 2023-04-18 06:49:34 +00:00