-
Notifications
You must be signed in to change notification settings - Fork 4.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
[CEL Filebeat input] Enhance the CEL input to support HTTP Digest Authentication #35514
Comments
Pinging @elastic/security-external-integrations (Team:Security-External Integrations) |
@efd6 and I talked about this feature. One idea I had was to move the digest auth handling into the HTTP transport code. For the most part the CEL program would not need to be concerned with it authentication. The user would add the digest creds to the input config. I found some discussion about this |
Describe the enhancement:
Filebeat CEL input does not have support for HTTP Digest Authentication. Digest Authentication is designed to be more secure than traditional basic authentication schemes. Many products expose their metrics on endpoints that use digest authentication, which can't be accessed using the current CEL input module, Internally Digest authentication is using MD5 hash algorithm for the authentication that is also not supported in CEL to pass the hashed creds in Header.
Describe a specific use case for the enhancement or feature:
To create an elastic/integrations#3744 we need to access endpoints that require HTTP Digest Authentication.
For example, if we try to access following endpoint GET https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/processes/{HOST}:{PORT}/measurements we get the following error.
{"detail": "You are not authorized for this resource.", "error": 401, "reason": "Unauthorized"}
To access this endpoint we can perform the following curl command.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" \ --include \ --request GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/processes/{HOST}:{PORT}/measurements?granularity=PT1M&period=PT1M&pretty=true"
The text was updated successfully, but these errors were encountered: