Closed russjones closed 1 year ago
Found a low priority bug in Connect, it exists in v11 as well.
We should fix this one before the release, fixing it will also probably take care of the issue I reported earlier.
Edit: The root of the issue turned out to be somewhere else, #20988 will take care of that.
Found this low priority issue while testing account locking:
Web UI
Main @hatched
For main, test with a role that has access to all resources.
Top Nav @hatched
Side Nav @hatched
>
, and expand has iconv
Servers aka Nodes @hatched
Verify that clicking onAdd Server
button renders dialogue set toAutomatically
viewAdd Server
now usesDiscover
workflow.Regenerate Script
regenerates token value in the bash commandManually
tab renders manual stepsAutomatically
tab renders bash commandApplications @rudream
Add Application
button renders dialogueGenerate Script
, bash command is renderedRegenerate
button regenerates token value in bash commandDatabases @rudream
Add Database
button renders dialogue for manual instructions:Step 4
changesStep 5
commandsActive Sessions
Audit log @rudream
Session Ended
event icon, takes user to session playerdetails
buttonUsers @rudream
Auth Connectors @kimlisa
For help with setting up auth connectors, check out the [Quick GitHub/SAML/OIDC Setup Tips]
Roles @kimlisa
Managed Clusters @kimlisa
Help & Support @kimlisa
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) @avatus
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 @avatus
Create a user with the role
reviewer
that allows you to review all requests, and delete them.Assuming Approved Requests (Role Based) @avatus
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) @avatus
Assuming Approved Requests (Both)
Access Request Waiting Room @ryanclark
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 @hatched
ctrl+[1...9]
(alt on linux/windows)Node List Tab
Session Tab
$ sudo apt-get install mc
$ mc
Session Player @hatched
Invite and Reset Form @hatched
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
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:Add Server, Application, Databases, Kubernetes
button in each respective viewNote: 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
is accessibleAdd the following to enable read access to recorded sessions
Session Recordings
is accessibleAdd 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
Servers
,Apps
,Databases
, andKubernetes
are listed underoptions
button inManage Clusters
Teleport Connect @ravicious @gzdunek
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.tsh ssh nonexistent-node
in the command bar. Verify that you see a new tab with an error from tsh ssh.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)~/Library/Application\ Support/Teleport\ Connect/logs
. @gzdunek