-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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
Don't require cluster:admin/xpack/security/token/create
privilege when client_credentials
grant is used
#41943
Comments
Pinging @elastic/es-security |
A comment here for the required permissions with the current situation is that |
manage_token
cluster privilege when client_credentials
grant is usedcluster:admin/xpack/security/token/create
privilege when client_credentials
grant is used
Thanks @jkakavas! Updated title and description. |
We discussed this and reached a general consensus that it would be better to introduce a kerberos-aware grant type that worked in the same manner as the @jkakavas & @bizybot will come up with a concrete proposal for that (at which point we can close this issue). |
Thanks for the update!
When we'll try to refresh such a token, will Elasticsearch check that Kerberos Ticket used to retrieve this access/refresh token pair is still valid as well? |
This needs to be discussed. Currently we do not support something similar in the TokenService and for SAML i.e. we do not take the time constraints that the IDP sets for the session into consideration after initial authentication. |
Got it, with |
…lastic#42847) Kibana wants to create access_token/refresh_token pair using Token management APIs in exchange for kerberos tickets. `client_credentials` grant_type requires every user to have `cluster:admin/xpack/security/token/create` cluster privilege. This commit introduces `_kerberos` grant_type for generating `access_token` and `refresh_token` in exchange for a valid base64 encoded kerberos ticket. In addition, `kibana_user` role now has cluster privilege to create tokens. This allows Kibana to create access_token/refresh_token pair in exchange for kerberos tickets. Note: The lifetime from the kerberos ticket is not used in ES and so even after it expires the access_token/refresh_token pair will be valid. Care must be taken to invalidate such tokens using token management APIs if required. Closes elastic#41943
…lastic#42847) Kibana wants to create access_token/refresh_token pair using Token management APIs in exchange for kerberos tickets. `client_credentials` grant_type requires every user to have `cluster:admin/xpack/security/token/create` cluster privilege. This commit introduces `_kerberos` grant_type for generating `access_token` and `refresh_token` in exchange for a valid base64 encoded kerberos ticket. In addition, `kibana_user` role now has cluster privilege to create tokens. This allows Kibana to create access_token/refresh_token pair in exchange for kerberos tickets. Note: The lifetime from the kerberos ticket is not used in ES and so even after it expires the access_token/refresh_token pair will be valid. Care must be taken to invalidate such tokens using token management APIs if required. Closes elastic#41943
…42847) (#43355) Kibana wants to create access_token/refresh_token pair using Token management APIs in exchange for kerberos tickets. `client_credentials` grant_type requires every user to have `cluster:admin/xpack/security/token/create` cluster privilege. This commit introduces `_kerberos` grant_type for generating `access_token` and `refresh_token` in exchange for a valid base64 encoded kerberos ticket. In addition, `kibana_user` role now has cluster privilege to create tokens. This allows Kibana to create access_token/refresh_token pair in exchange for kerberos tickets. Note: The lifetime from the kerberos ticket is not used in ES and so even after it expires the access_token/refresh_token pair will be valid. Care must be taken to invalidate such tokens using token management APIs if required. Closes #41943
As per Token Management API docs
client_credentials
grant type should allows us to create a token simply as the authenticated user (e.g. for Kerberos users when request to create a token would includeAuthorization: Negotiate **spnego-token**
HTTP header), but currently Elasticsearch complains if user is not granted acluster:admin/xpack/security/token/create
cluster privilege.Is it expected that all Kerberos users should be granted
cluster:admin/xpack/security/token/create
cluster privilege?/cc @jkakavas @bizybot @kobelb
The text was updated successfully, but these errors were encountered: