GitHub org owners are automatically tenant admins in Murmur. That covers most cases, but sometimes you need to grant admin scope to someone who isn’t (and shouldn’t be) a GitHub org owner: a backend engineer who manages your Workspaces, a service account that automates billing, a bot that needs to manage tenant secrets. This guide walks through doing that safely. The full permission model (every kind, every verb, wildcard rules, evaluation order) lives in Authorization. This page is the practical “grant or revoke admin” recipe. Before you start, you need admin yourself, or these three specific permissions:Documentation Index
Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt
Use this file to discover all available pages before exploring further.
tenant-binding.create, tenant-binding.edit, and role.read. In a brand-new tenant, the first GitHub org owner runs the commands below and then delegates outward from there.
1. Create the binding
A user becomes a tenant admin when they’re bound to themurmur-tenant-admin role, which grants * (every permission on every resource). You can bind a single user directly, or bind a group and manage membership separately. Groups are recommended for anything beyond one person, because you can add or remove members later without touching the binding itself.
A single user
Apply withmurmur set:
github_oauth/ prefix.
A group (recommended for teams)
Create the group first, then bind it:2. Verify the promotion took
Before you walk away, confirm it actually worked.murmur check-permissions answers yes or no for each verb you list and shows you which binding produced the result:
yes on every check with Reason: root (the murmur-tenant-admin role grants *). Spot-check a handful of sensitive verbs (tenant-binding.create, secret.create, pool-config.edit) instead of trying to enumerate every kind. If one returns no, the binding probably points at a misspelled role or a group the user isn’t actually in.
3. Audit who has admin
Anyone withtenant-binding.create can promote others, including (in theory) promoting themselves to keep access if you remove them. Audit periodically with murmur get:
murmur-tenant-admin or murmur-root. Both grant universal access. The GitHub org-owner binding is automatic and shows up under the murmur-org-admins group, which resolves dynamically against GitHub at evaluation time, so changes in GitHub propagate without needing a Murmur update.
Revoke admin
For a single-user binding, delete it withmurmur rm:
murmur-org-admins group is dynamic and stays in sync with GitHub, so the change takes effect on their next request without any Murmur action.
Related
Authorization
Full permission model, built-in roles, every kind and verb.
Service Profiles
Service Profiles for Flights and automated agents.