Files
supabase/apps/docs/content/guides/platform/access-control.mdx
T

86 lines
6.0 KiB
Plaintext

---
title: 'Access Control'
description: 'Roles and permissions at the organization level'
---
Supabase provides granular access controls to manage permissions across your organizations.
For each organization, a member can have one of the following roles:
- Owner
- Administrator
- Developer
<Admonition type="note">
Additional roles (Read-only and Billing) are available on the [team and enterprise plans](https://supabase.com/pricing).
</Admonition>
A default organization is created when you first sign in, at which point you'll be assigned the **Owner** role. Keep in mind that members can access all projects within the organization and that project level access control is not available at this time. Create a separate organization if you need to restrict access to certain projects.
## Manage team members
To invite others to collaborate, visit your organization's team [settings](/dashboard/org/_/team) to send an invite link to another user's email. The invite expires after 24 hours.
<Admonition type="note">
Invites sent from a SAML SSO account can only be accepted by another SAML SSO account from the same identity provider. This is a security measure to prevent accidental invites to accounts not managed by your enterprise's identity provider.
</Admonition>
### Transferring ownership of an organization
Each Supabase organization can have one or more owners. If you no longer want be an owner of an organization, click **Leave team** in your organization's team [settings](/dashboard/org/_/team). You can only leave an organization if there is _at least one other owner_. If you are transferring ownership of your organization to someone else, you will need to invite the new member with the **Owner** role. You can leave the organization after they've accepted the invitation.
### Permissions across roles [#permission-across-roles]
The table below shows the corresponding permissions for each available role you can assign a team member in the Dashboard.
| Permissions | Owner | Administrator | Developer | Read only [^2] |
| ------------------------ | ----------------------- | ----------------------- | ----------------------- | ----------------------------------------------- |
| **Organization** |
| Change organization name | <IconCheck size={14} /> | | |
| Delete organization | <IconCheck size={14} /> | | |
| **Members** |
| Add an Owner | <IconCheck size={14} /> | | |
| Remove an Owner | <IconCheck size={14} /> | | |
| Add an Administrator | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Remove an Administrator | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Add a Developer | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Remove a Developer | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Revoke an invite | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Resend an invite | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Accept an invite[^1] | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| **Billing** |
| Read invoices | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Read billing email | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Change billing email | <IconCheck size={14} /> | | |
| View subscription | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Update subscription | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Read billing address | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Update billing address | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Read tax codes | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Update tax codes | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Read payment methods | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Update payment methods | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| **Projects** |
| Create a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Delete a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Update a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Pause a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Resume a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Restart a project | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Manage tables | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| View Data | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck className="inline" size={14} /> [^3] |
[^1]:
Invites sent from a SSO account can only be accepted by another SSO account
coming from the same identity provider. This is a security measure that
prevents accidental invites to accounts not managed by your company's
enterprise systems.
[^2]: Available on the Teams and Enterprise Plans.
[^3]:
Only available on projects using PostgreSQL 14 and above. You can upgrade
your project through [infrastructure settings](https://supabase.com/dashboard/project/_/settings/infrastructure).