Closed r0mant closed 1 year ago
i don't think lock is part of teleport connect right? (double checking before i move, or someone can move it)
@kimlisa we don't have locks in Connect.
i don't think lock is part of teleport connect right? (double checking before i move, or someone can move it)
@kimlisa It looks like it was just added at the end of the document, which makes it appear like it's under Connect but it's just meant to be another section of the Web UI. I'll move it up in this issue and open a PR to move it up in webtestplan.md
The Connect test plan is done. We found a couple of minor issues in Connect but nothing that would block the release, mostly just small UX issues or issues that are present in v12 too.
Some issues discovered relating to the Locks UI: https://github.com/gravitational/teleport/issues/25168
finished
Web UI
Main (@rudream)
For main, test with a role that has access to all resources.
Top Nav
Side Nav
>
, and expand has iconv
Servers aka Nodes
following not applicable anymore
Add Server
button renders dialogue set toAutomatically
viewRegenerate Script
regenerates token value in the bash commandManually
tab renders manual stepsAutomatically
tab renders bash commandApplications
following not applicable anymore
Add Application
button renders dialogueGenerate Script
, bash command is renderedRegenerate
button regenerates token value in bash commandDatabases
following not applicable anymore
Add Database
button renders dialogue for manual instructions:Step 4
changesStep 5
commandsActive Sessions
Audit log (@kimlisa)
Session Ended
event icon, takes user to session playerdetails
buttonUsers
Auth Connectors
For help with setting up auth connectors, check out the [Quick GitHub/SAML/OIDC Setup Tips]
Roles
Managed Clusters
Help & Support
Access Requests (@avatus)
Access Request is a Enterprise feature and is not available for OSS.
Creating Access Requests (Role Based)
Create a role with limited permissions
allow-roles-and-nodes
. This role allows you to see the Role screen and ssh into all nodes.Create another role with limited permissions
allow-users-with-short-ttl
. This role session expires in 4 minutes, allows you to see Users screen, and denies access to all nodes.Create a user that has no access to anything but allows you to request roles:
allow-roles-and-nodes
andallow-users-with-short-ttl
are listedCreating Access Requests (Search Based)
Create a role with access to searcheable resources (apps, db, kubes, nodes, desktops). The template
searcheable-resources
is below.Create a user that has no access to resources, but allows you to search them:
searcheable-resources
rulesViewing & Approving/Denying Requests
Create a user with the role
reviewer
that allows you to review all requests, and delete them.Assuming Approved Requests (Role Based)
allow-roles-and-nodes
allows you to see roles screen and ssh into nodesallow-roles-and-nodes
, verify that assumingallow-users-short-ttl
allows you to see users screen, and denies access to nodesswitching back
goes back to your default static roleallow-users-short-ttl
role, the user is automatically logged out after the expiry is met (4 minutes)Assuming Approved Requests (Search Based)
Assuming Approved Requests (Both)
Access Request Waiting Room (@avatus)
Strategy Reason
Create the following role:
request_prompt
settingsend request
, pending dialogue rendersStrategy Always
With the previous role you created from
Strategy Reason
, changerequest_access
toalways
:Logout
and clicking goes back to the login screenStrategy Optional
With the previous role you created from
Strategy Reason
, changerequest_access
tooptional
:Terminal (@rudream)
ctrl+[1...9]
(alt on linux/windows)Node List Tab
Session Tab
$ sudo apt-get install mc
$ mc
Session Player (@rudream)
Invite and Reset Form (@rudream)
Login Form and Change Password (@rudream)
Multi-factor Authentication (mfa) (@rudream)
Create/modify
teleport.yaml
and set the following authentication settings underauth_service
MFA invite, login, password reset, change password
second_factor
type toon
and verify that mfa is required (no optionnone
in dropdown)MFA require auth (@avatus)
Go to
Account Settings
>Two-Factor Devices
and register a new deviceUsing the same user as above:
MFA Management
second_factor
set tooff
disables adding devicesPasswordless
Cloud (@rudream)
From your cloud staging account, change the field
teleportVersion
to the test version.Recovery Code Management
Invite/Reset
Recovery Flow: Add new mfa device
Recovery Flow: Change password
Recovery Email
RBAC (@kimlisa)
Create a role, with no
allow.rules
defined:"Manage Clusters"Add Server, Application, Databases, Kubernetes
button in each respective viewVerify onlyServers
,Apps
,Databases
, andKubernetes
are listed underoptions
button inManage Clusters
Note: User has read/create access_request access to their own requests, despite resource settings
Add the following under
spec.allow.rules
to enable read access to the audit log:Audit Log
andSession Recordings
is accessibleAdd the following to enable read access to recorded sessions
Add the following to enable read access to the roles
Add the following to enable read access to the auth connectors
Add the following to enable read access to users
Add the following to enable read access to trusted clusters
Locks (@avatus)
Checking that you can view, create, and delete locks.
Locked By
andStart Date
are still shown with those fields empty.Enroll new resources using Discover Wizard
Use Discover Wizard to enroll new resources and access them:
Teleport Connect
auth_service.authentication
in the cluster config):type: local
,second_factor: "off"
type: local
,second_factor: "otp"
type: local
,second_factor: "webauthn"
,type: local
,second_factor: "webauthn"
, log in passwordlessly with hardware keytype: local
,second_factor: "webauthn"
, log in passwordlessly with touch IDtype: local
,second_factor: "optional"
, log in without MFAtype: local
,second_factor: "optional"
, log in with OTPtype: local
,second_factor: "optional"
, log in with hardware keytype: local
,second_factor: "on"
, log in with OTPtype: local
,second_factor: "on"
, log in with hardware keytype: local
,second_factor: "on"
, log in with passwordless authTELEPORT_PROXY
andTELEPORT_CLUSTER
should pin the session to the correct cluster.TELEPORT_HOME
should point to~/Library/Application Support/Teleport Connect/tsh
.PATH
should include/Applications/Teleport Connect.app/Contents/Resources/bin
.$ sudo apt-get install mc
$ mc
$ exit
command.echo $KUBECONFIG
and check if it points to the file within Connect's app data directory.kubectl get pods
and see if the command succeeds.~/Library/Application Support/Teleport Connect/tsh
doesn't crash the app.~/Library/Application Support/Teleport Connect/app_state.json
but not thetsh
dir doesn't crash the app.spec.allow.logins
andspec.allow.db_users
.Cmd+[1...9]
.tsh proxy db
with the same port, start the app. Verify that the app doesn't crash and the db connection tab shows you the error (address in use) and offers a way to retry creating the connection.1m
(spec.options.max_session_ttl
).select now();
, the client should be able to automatically reinstantiate the connection.Created Access Requests (Role Based)
from the Web UI testplan and then verify the tasks below.allow-roles-and-nodes
andallow-users-with-short-ttl
are listedCreated Access Requests (Search Based)
from the Web UI testplan and then verify the tasks below.searcheable-resources
rulesViewing & Approving/Denying Requests
from the Web UI testplan and then verify the tasks below.allow-roles-and-nodes
allows you to see roles screen and ssh into nodesallow-roles-and-nodes
, verify that assumingallow-users-short-ttl
allows you to see users screen, and denies access to nodesswitching back
goes back to your default static roleallow-users-short-ttl
role, the user is automatically logged out after the expiry is met (4 minutes)⋮
> Open Config File opens theapp_config.json
file in your editor.terminal.fontFamily
."keymap.tab1": "ABC"
)."keymap.tab1": not a string
).~/Library/Application\ Support/Teleport\ Connect/logs
.