1. Describe your incident:
A non-administrative user tries to create a content pack in the web UI by navigating to system/contentpacks, clicking “Create a Content Pack”, setting Name, Summary, and Vendor to “foo” and selecting a single Grok pattern. The non-admin user then clicks “Next”.
At this point “Missing Permissions” is displayed with the specific error
The permissions check for the following request failed,
while trying to access /system/contentpacks/create.
There was an error fetching a resource: Forbidden. Additional information: Not authorized
There os nothing responsive to this in the logs
2. Describe your environment:
- OS Information: Kubernetes/helm
- Package Version: 2.1.3
- Service logs, configurations, and environment variables: Nothing of note
The user has broad permissions, but lacks Admin:
The “Power User” role contains:
$ curl http://graylog:9000/api/authz/roles -X GET -H "X-Requested-By: cli" -u admin:AdministratorPassword -sS | jq '.roles[] | select(.name == "Power User")'
{
"id": "62bb485f292b91331d5ef92c",
"name": "Power User",
"description": "Power Users can do everything except admin GrayLog itself",
"permissions": [
"clusterconfigentry:read",
"pipeline:*",
"authhttpheaderconfig:read",
"sidecar_collector_configurations:read",
"users:read",
"aws:read",
"journal:read",
"licenseinfos:read",
"eventdefinitions:*",
"systemjobs:read",
"authservicebackend:read",
"dashboards:*",
"sources:read",
"notifications:read",
"collectors:read",
"lookuptables:read",
"searches:*",
"inputs:read",
"loggersmessages:read",
"decorators:*",
"sidecar_collectors:read",
"fieldnames:read",
"contentpack:*",
"eventnotifications:*",
"jvmstats:read",
"throughput:read",
"pipeline_rule:*",
"stream_outputs:*",
"messages:*",
"messagecount:read",
"view:*",
"systemmessages:read",
"indexsets:read",
"streams:*",
"catalog:list",
"outputs:read",
"default-view:set",
"authserviceglobalconfig:read",
"indexercluster:read",
"pipeline_connection:*",
"sidecars:read",
"urlwhitelist:read",
"roles:read",
"deflector:read",
"grantsoverview:read",
"buffers:read",
"indexranges:read",
"system:read",
"indices:read",
"metrics:*",
"loggers:read"
],
"read_only": false
}
3. What steps have you already taken to try and solve the problem?
- Careful audit of the permissions
- Looking for responsive log output
- Trying to determine if content packs are expected to be able to be created by non-admin users
4. How can the community help?
Answer these questions or otherwise provide insight on how to continue debug:
- Should I be able to create a content pack as a non-admin user?
- What permissions are required to do so?
- How can I tell which permission is required for a specific operation?
Thank you!