-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tctl auth sign does not work when executed remotely via proxy #5352
Comments
Let's add spec:
allow:
impersonate:
users: ['*']
roles: ['*']
deny:
impersonate:
roles: ['admin'] |
+1, I was helping @Valien with this issue and we are unable to complete Database setup due to this.
|
This shouldn't be in a patch release, it should be in a minor. Patch releases are only for hotfixes. |
Fixes #5352 ```yaml allow: impersonate: users: ['alice', 'bob'] roles: ['*'] where: 'contains(user.spec.traits["groups"], impersonate_role.traits)' ``` Adds token permission for editor role.
Fixes #5352 ```yaml allow: impersonate: users: ['alice', 'bob'] roles: ['*'] where: 'contains(user.spec.traits["groups"], impersonate_role.traits)' ``` Adds "impersonator" to all X.509 and SSH client certs issued using impersonation and does best effort to track requests by impersonators in audit events. Limits certs TTL to the impersonator's cert TTL. Prevents impersonating users to recursively impersonate other users. Allows impersonating users to renew their own certificate, for example to set route to cluster. Adds missing token permission for editor role.
Fixes #5352 ```yaml allow: impersonate: users: ['alice', 'bob'] roles: ['*'] where: 'contains(user.spec.traits["groups"], impersonate_role.traits)' ``` Adds "impersonator" to all X.509 and SSH client certs issued using impersonation and does best effort to track requests by impersonators in audit events. Limits certs TTL to the impersonator's max session TTL. Prevents impersonating users to recursively impersonate other users. Allows impersonating users to renew their own certificate, for example to set route to cluster. Adds missing token permission for editor role.
Fixes #5352 ```yaml allow: impersonate: users: ['alice', 'bob'] roles: ['*'] where: 'contains(user.spec.traits["groups"], impersonate_role.traits)' ``` Adds "impersonator" to all X.509 and SSH client certs issued using impersonation and does best effort to track requests by impersonators in audit events. Limits certs TTL to the impersonator's max session TTL. Prevents impersonating users to recursively impersonate other users. Allows impersonating users to renew their own certificate, for example to set route to cluster. Adds missing token permission for editor role.
Fixes #5352 ```yaml allow: impersonate: users: ['alice', 'bob'] roles: ['*'] where: 'contains(user.spec.traits["groups"], impersonate_role.traits)' ``` Adds "impersonator" to all X.509 and SSH client certs issued using impersonation and does best effort to track requests by impersonators in audit events. Limits certs TTL to the impersonator's max session TTL. Prevents impersonating users to recursively impersonate other users. Allows impersonating users to renew their own certificate, for example to set route to cluster. Adds missing token permission for editor role.
Fixes #5352 ```yaml allow: impersonate: users: ['alice', 'bob'] roles: ['*'] where: 'contains(user.spec.traits["groups"], impersonate_role.traits)' ``` Adds "impersonator" to all X.509 and SSH client certs issued using impersonation and does best effort to track requests by impersonators in audit events. Limits certs TTL to the impersonator's max session TTL. Prevents impersonating users to recursively impersonate other users. Allows impersonating users to renew their own certificate, for example to set route to cluster. Adds missing token permission for editor role.
I've tried this today with a Teleport Cloud instance
|
Reopening for tracking until this is resolved. |
Description
What happened: When logging into a cluster and then using Enterprise
tctl
to connect to the auth server remotely via the proxy, it isn't possible to usetctl auth sign
even if the user you're logged in as has theadmin
role.This makes installing Teleport plugins into Cloud instances impossible. It also makes automation use cases difficult to achieve.
What you expected to happen: If you're logged in as a user which has an admin role, you should be able to do everything you can do when running
tctl
locally on the auth server.How to reproduce it (as minimally and precisely as possible): Log into a Teleport Cloud instance as an admin user using
tsh
, then use Enterprisetctl
to try and sign a certificate remotely.The issue seems to occur here -
teleport/lib/auth/auth_with_roles.go
Lines 1072 to 1073 in 46679fb
tctl
doesn't have the built-in admin role whereas it does when running locally.The built in admin role is allowed to do anything -
teleport/lib/auth/permissions.go
Line 440 in 46679fb
Environment
Teleport version (use
teleport version
):Teleport Enterprise v5.1.0 git:v5.1.0-0-g46679fb34 go1.15.5
tctl version
:Teleport Enterprise v5.1.0 git:v5.1.0-0-g46679fb34 go1.15.5
Where are you running Teleport? (e.g. AWS, GCP, Dedicated Hardware): Teleport Cloud
The text was updated successfully, but these errors were encountered: