Skip to content

Commit c179175

Browse files
authored
chore: document new MFA enforcement on organization option (supabase#35564)
* chore: document new MFA enforcement on organization option * chore: multi-factor * review suggestions and navigation item * note that feature is opt-in atm * chore: note about PATs * fix: spelling * fix: links
1 parent 8b4d781 commit c179175

File tree

5 files changed

+46
-0
lines changed

5 files changed

+46
-0
lines changed

apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2160,6 +2160,16 @@ export const platform: NavMenuConstant = {
21602160
{
21612161
name: 'Multi-factor Authentication',
21622162
url: '/guides/platform/multi-factor-authentication',
2163+
items: [
2164+
{
2165+
name: 'Enable MFA',
2166+
url: '/guides/platform/multi-factor-authentication',
2167+
},
2168+
{
2169+
name: 'Require MFA for organization members',
2170+
url: '/guides/platform/org-mfa-enforcement',
2171+
},
2172+
],
21632173
},
21642174
{
21652175
name: 'Transfer Project',

apps/docs/content/guides/deployment/going-into-prod.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ After developing your project and deciding it's Production Ready, you should run
2323
- Ensure that your Supabase Account is protected with multi-factor authentication (MFA).
2424
- If using a GitHub signin, [enable 2FA on GitHub](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication). Since your GitHub account gives you administrative rights to your Supabase org, you should protect it with a strong password and 2FA using a U2F key or a TOTP app.
2525
- If using email+password signin, set up [MFA for your Supabase account](https://supabase.com/docs/guides/platform/multi-factor-authentication#enable-mfa).
26+
- Enable [MFA enforcement on your organization](/docs/guides/platform/network-restrictions). This ensures all users must have a valid MFA backed session to interact with organization and project resources.
2627
- Consider [adding multiple owners on your Supabase org](https://supabase.com/dashboard/org/_/team). This ensures that if one of the owners is unreachable or loses access to their account, you still have Owner access to your org.
2728
- Ensure email confirmations are [enabled](https://supabase.com/dashboard/project/_/auth/providers) in the `Settings > Auth` page.
2829
- Ensure that you've [set the expiry](https://supabase.com/dashboard/project/_/auth/providers) for one-time passwords (OTPs) to a reasonable value that you are comfortable with. We recommend setting this to 3600 seconds (1 hour) or lower.

apps/docs/content/guides/deployment/shared-responsibility-model.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ You can use Supabase to store and process Protected Health Information (PHI). Yo
9292
- Signing a Business Associate Agreement (BAA) with Supabase. Submit a [HIPAA add-on request](https://forms.supabase.com/hipaa2) to get started. You will need to be at least on the [Team Plan](https://supabase.com/pricing) to sign a BAA with us.
9393
- [Marking specific projects as HIPAA projects](/docs/guides/platform/hipaa-projects) and addressing security issues raised by the advisor.
9494
- Ensuring [MFA is enabled](/docs/guides/platform/multi-factor-authentication) on all Supabase accounts.
95+
- [Enforce MFA](/docs/guides/platform/org-mfa-enforcement) as a requirement to access the organization
9596
- Enabling [Point in Time Recovery](/docs/guides/platform/backups#point-in-time-recovery) which requires at least a [small compute add-on](/docs/guides/platform/compute-add-ons).
9697
- Turning on [SSL Enforcement](/docs/guides/platform/ssl-enforcement).
9798
- Enabling [Network Restrictions](/docs/guides/platform/network-restrictions).

apps/docs/content/guides/platform/multi-factor-authentication.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ For security reasons, we will not be able to restore access to your account if y
3636

3737
Once you've enabled MFA for your Supabase user account, you will be prompted to enter your second factor challenge code as seen in your preferred TOTP app.
3838

39+
If you are an organization owner and on the Pro, Team or Enterprise plan, you can enforce that all organization members [must have MFA enabled](/docs/guides/platform/org-mfa-enforcement).
40+
3941
## Disable MFA
4042

4143
You can disable MFA for your user account under your [Supabase account settings](/dashboard/account/security). On subsequent login attempts, you will not be prompted to enter a MFA code.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: 'Enforce MFA on Organization'
3+
description: 'All users in an organization must have a valid MFA session to interact with organization resources'
4+
---
5+
6+
Supabase provides multi-factor authentication (MFA) enforcement on the organization level. With MFA enforcement, you can ensure that all organization members use MFA. Members cannot interact with your organization or your organization's projects without a valid MFA-backed session.
7+
8+
<Admonition type="note">
9+
10+
MFA enforcement is only available on the [Pro, Team and Enterprise plans](https://supabase.com/pricing).
11+
12+
This feature is currently in limited preview. If you would like to opt-in to try it, contact support.
13+
14+
</Admonition>
15+
16+
## Manage MFA enforcement
17+
18+
To enable MFA on an organization, visit the [security settings](/dashboard/org/_/security) page and toggle `Require MFA to access organization` on.
19+
20+
- Only organization **owners** can modify this setting
21+
- The owner must have [MFA on their own account](/docs/guides/platform/multi-factor-authentication)
22+
- Supabase recommends creating two distinct MFA apps on your user account
23+
24+
<Admonition type="caution">
25+
26+
When MFA enforcement is enabled, users without MFA will immediately lose access all resources in the organization. The users will still be members of the organization and will regain their original permissions once they enable MFA on their account.
27+
28+
</Admonition>
29+
30+
## Personal access tokens
31+
32+
Personal access tokens are not affected by MFA enforcement. Personal access tokens are designed for programmatic access and issuing of these require a valid Supabase session backed by MFA, if enabled on the account.

0 commit comments

Comments
 (0)