diff --git a/docs/pages/database-access/auto-user-provisioning/mongodb.mdx b/docs/pages/database-access/auto-user-provisioning/mongodb.mdx index a162aad8acbef..6dcbc5f2ce347 100644 --- a/docs/pages/database-access/auto-user-provisioning/mongodb.mdx +++ b/docs/pages/database-access/auto-user-provisioning/mongodb.mdx @@ -116,7 +116,7 @@ Users created within the database will: ## Step 3/3. Connect to the database -(!docs/pages/includes/database-access/auto-user-provisioning/connect.mdx gui="MongoDB Compass"!) +(!docs/pages/includes/database-access/auto-user-provisioning/connect.mdx gui="MongoDB Compass" selectRoles="myCustomRole@db2"!) ## Next steps - Learn more about MongoDB [built-in roles](https://www.mongodb.com/docs/manual/reference/built-in-roles/) and [User-Defined Roles](https://www.mongodb.com/docs/manual/core/security-user-defined-roles/). diff --git a/docs/pages/database-access/reference/cli.mdx b/docs/pages/database-access/reference/cli.mdx index 3ff4b010c938a..3d678c79cb636 100644 --- a/docs/pages/database-access/reference/cli.mdx +++ b/docs/pages/database-access/reference/cli.mdx @@ -297,6 +297,7 @@ $ tsh db login --db-user=postgres --db-name=postgres example | - | - | | `--db-user` | The database user to log in as. | | `--db-name` | The database name to log in to. | +| `--db-roles` | Comma-separated list of database roles to use for auto-provisioned user. If not provided, all database roles will be assigned. | (!docs/pages/includes/db-user-name-flags.mdx!) @@ -320,6 +321,8 @@ $ tsh db connect $ tsh db connect example # Provide database user and name to connect to. $ tsh db connect --db-user=alice --db-name=db example +# Select a subset of allowed database roles. +$ tsh db connect --db-user=alice --db-name=db --db-roles reader example ``` @@ -331,6 +334,7 @@ $ tsh db connect --db-user=alice --db-name=db example | - | - | | `--db-user` | The database user to log in as. | | `--db-name` | The database name to log in to. | +| `--db-roles` | Comma-separated list of database roles to use for auto-provisioned user. If not provided, all database roles will be assigned. | (!docs/pages/includes/db-user-name-flags.mdx!) diff --git a/docs/pages/includes/database-access/auto-user-provisioning/connect.mdx b/docs/pages/includes/database-access/auto-user-provisioning/connect.mdx index fa4b09803bbf4..2d55518cc26ec 100644 --- a/docs/pages/includes/database-access/auto-user-provisioning/connect.mdx +++ b/docs/pages/includes/database-access/auto-user-provisioning/connect.mdx @@ -1,3 +1,5 @@ +{{ selectRoles="reader" }} + Now, log into your Teleport cluster and connect to the database: ```code @@ -13,4 +15,18 @@ If using a GUI database client like {{gui}}, make sure to use your Teleport username as the database username. `tsh db connect` will default to your Teleport username automatically when connecting to a database with user provisioning enabled. + +When connecting to a leaf cluster database with user provisioning enabled, the +Database Service expects the database username to be +`remote--`. + + +To view the list of database roles that are allowed for each database, you can +use the command `tsh db ls -v`. By default, all database roles will be assigned +to your auto-provisioned database user. You can optionally select a subset of +the database roles with `--db-roles`: + +```code +$ tsh db connect --db-name --db-roles {{ selectRoles }} example +```