Can supabase_admin create objects in public, and how should its default privileges be hardened? #48259
Replies: 2 comments
|
Hi @jurinek666! Here are quick answers to your questions regarding supabase_admin: Does supabase_admin create customer objects in public? Can you alter default privileges for supabase_admin? Data API exposure change (#45329): Testing / Verifying: Since you already submitted ticket SU-429268, the Supabase internal team can confirm the exact platform architecture guarantees directly on your ticket! |
Uh oh!
There was an error while loading. Please reload this page.
Context
A security audit of two hosted Supabase projects found schema-specific default privileges owned by the internal
supabase_adminrole inpublic.The following read-only query reproduces the finding:
For future objects created by
supabase_admin, the ACLs grant:arwdDxtmtoanonandauthenticated;EXECUTEtoanonandauthenticated;rwUtoanonandauthenticated.Existing customer objects in
publicare owned bypostgresand have been verified as read-only for API roles. We hardened thepostgresdefaults through a versioned migration. The residual concern applies only if platform automation or upgrades create future objects inpublicassupabase_admin.The project
postgresrole is not a member ofsupabase_admin, so attemptingALTER DEFAULT PRIVILEGES FOR ROLE supabase_adminfrom a normal project migration is neither available nor something we want to work around.Supabase Support ticket:
SU-429268. So far we have only received the automatic acknowledgement. Related project issue: https://github.com/jurinek666/database-X/issues/151Questions
supabase_adminrole create customer-visible objects in thepublicschema during upgrades, automation, or other supported workflows?anonandauthenticatedfrom its default privileges?supabase_admin, or only those owned bypostgres?We are intentionally not modifying the internal role or creating test DDL until Supabase confirms a supported procedure.
All reactions