Skip to content

Commit 939eb67

Browse files
authored
Docs for Password Protection and SSO Protection (#1806)
1 parent 93a74ae commit 939eb67

14 files changed

+216
-19
lines changed

components/name/dollar-sign.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// Work around this issue for MDX: https://github.com/prettier/prettier/issues/6213
2+
// If you use a dollar sign in MDX, then pre-commit hook escapes it, and then
3+
// escapes it again, resulting in an infinite loop.
4+
const DollarSign = () => '$'
5+
6+
export default DollarSign

pages/docs/v2/platform/projects.mdx

+210-19
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@ import Note from '~/components/text/note'
77
import { Image } from '~/components/media'
88
import ProductName from '~/components/name/product-name'
99
import OrgName from '~/components/name/org-name'
10+
import DollarSign from '~/components/name/dollar-sign'
1011
import { PRODUCT_NAME } from '~/lib/constants'
1112

1213
export const meta = {
1314
title: 'Projects',
1415
description: `Setting up projects with a list of deployments on ${PRODUCT_NAME}.`,
1516
editUrl: 'pages/docs/v2/platform/projects.mdx',
16-
lastEdited: '2020-04-30T14:45:52.000Z'
17+
lastEdited: '2020-05-01T17:38:04.000Z'
1718
}
1819

1920
To deploy on <ProductName />, you need to create a **Project**. A Project is a logical structure that groups [deployments](/docs/v2/platform/deployments) and [custom domains](/docs/v2/custom-domains). Each project can be associated to a [GitHub](/docs/v2/git-integrations/vercel-for-github), [GitLab](/docs/v2/git-integrations/vercel-for-gitlab), or [Bitbucket](/docs/v2/git-integrations/vercel-for-bitbucket) repository.
@@ -55,6 +56,8 @@ Then, select the **Settings** tab:
5556
/>
5657
<Caption>Selecting the <b>Settings</b> tab from the Project Overview page.</Caption>
5758

59+
## General Settings
60+
5861
### Build & Development Settings and Root Directory
5962

6063
You can edit build and development settings as well as the root directory settings. Check out [our Build Step documentation](/docs/v2/build-step) to learn more.
@@ -63,18 +66,6 @@ You can edit build and development settings as well as the root directory settin
6366

6467
You can configure Environment Variables directly from Project Settings. Check out [the Environment Variables section of our Build Step documentation](/docs/v2/build-step#environment-variables) to learn more.
6568

66-
### Logs and Source Protection
67-
68-
By default, the paths mentioned below can only be accessed by you and members of your Vercel team. Turning off **Logs and Source Protection** will make them publicly accessible.
69-
70-
- `/_src`: Displays the source code and build output.
71-
- `/_logs`: Displays the build logs.
72-
73-
<Note type="warning">
74-
Do not edit this setting if you don’t want your source code or logs to be
75-
publicly accessible.
76-
</Note>
77-
7869
#### Ony applied starting from your next deployment
7970

8071
As with other project settings, the changes you make to this setting will only be applied starting from your **next deployment**.
@@ -85,18 +76,18 @@ As with other project settings, the changes you make to this setting will only b
8576
existing deployments, the only option is to delete them.
8677
</Note>
8778

88-
### Custom Domains
79+
## Custom Domains
8980

9081
You can add **custom domains** for each project. Check out [our Custom Domains documentation](/docs/v2/custom-domains) to learn more.
9182

92-
### Git Integration
83+
## Git Integration
9384

9485
To edit your project’s Git Integration settings, select the **Git Integration** menu item from your project settings page.
9586

9687
<Image
9788
src={`${process.env.ASSETS}/docs/advanced/deploy-hooks/select-git.png`}
98-
width={384 / 2}
99-
height={352 / 2}
89+
width={490 / 2}
90+
height={420 / 2}
10091
shadow
10192
/>
10293
<Caption>Selecting the <b>Git Integration</b> menu item from the project settings page.</Caption>
@@ -135,6 +126,206 @@ If you’d like to disconnect your **personal account** or **team** from GitHub,
135126

136127
​<ProductName /> supports **deploy hooks**, which are unique URLs that accept HTTP POST requests and trigger deployments. Check out [our Deploy Hooks documentation](/docs/v2/more/deploy-hooks) to learn more.
137128

129+
## Security Settings
130+
131+
To edit your project’s security settings, select the **Security** menu item from your project settings page.
132+
133+
<Image
134+
src={`${process.env.ASSETS}/docs/platform/projects/security.png`}
135+
width={522 / 2}
136+
height={424 / 2}
137+
shadow
138+
borderRadius
139+
/>
140+
<Caption>Selecting the <b>Security</b> menu item from the Project Settings page.</Caption>
141+
142+
### Logs and Source Protection
143+
144+
<Note>
145+
The changes you make to this setting will only be applied starting from your{' '}
146+
<b>next deployment</b>.
147+
</Note>
148+
149+
By default, the paths mentioned below can only be accessed by you and members of your Vercel team. Turning off **Logs and Source Protection** will make them publicly accessible.
150+
151+
- `/_src`: Displays the source code and build output.
152+
- `/_logs`: Displays the build logs.
153+
154+
<Note type="warning">
155+
Do not edit this setting if you don’t want your source code or logs to be
156+
publicly accessible.
157+
</Note>
158+
159+
### Password Protection
160+
161+
<Note>
162+
This feature is <em>not</em> available for personal accounts. Only{' '}
163+
<b>teams</b> can opt into this feature, and the team must be on the{' '}
164+
<b>
165+
<Link href="/pricing">Pro</Link>
166+
</b>{' '}
167+
or{' '}
168+
<b>
169+
<Link href="/pricing">Enterprise</Link>
170+
</b>{' '}
171+
plan.
172+
</Note>
173+
174+
By using **Password Protection**, you can ensure that visitors of your Preview Deployments must enter a password in order to gain access.
175+
176+
Teams can opt into using this feature by enabling it from the "Optional" badge and paying <DollarSign />150 per month. Once you opt in, you can use it across other projects in the same team:
177+
178+
<Image
179+
src={`${process.env.ASSETS}/docs/platform/projects/enable-password-protection.png`}
180+
width={790 / 2}
181+
height={380 / 2}
182+
shadow
183+
borderRadius
184+
/>
185+
<Caption>Enabling <b>Password Protection</b>.</Caption>
186+
187+
<Note type="warning">
188+
After enabling the feature, <b>one month</b> has to pass before it can be
189+
disabled again.
190+
</Note>
191+
192+
#### Protecting Preview Deployments
193+
194+
To use this feature, turn on the toggle and specify the visitor password.
195+
196+
<Image
197+
src={`${process.env.ASSETS}/docs/platform/projects/adding-visitor-password.png`}
198+
width={1304 / 2}
199+
height={452 / 2}
200+
shadow
201+
borderRadius
202+
/>
203+
<Caption>Turning on the toggle and specifying the visitor password.</Caption>
204+
205+
After clicking **Save**, all Preview Deployments (existing and future ones) of this project will immediately be protected with a password. If you try to access the page, you’ll be presented with this screen:
206+
207+
<Image
208+
src={`${process.env.ASSETS}/docs/platform/projects/password-required.png`}
209+
width={677 / 2}
210+
height={613 / 2}
211+
shadow
212+
borderRadius
213+
/>
214+
<Caption>Password is required.</Caption>
215+
216+
After entering the password, the visitor will be redirected to the deployment. Also, a cookie will be set in the visitor’s browser, giving them access to all Preview Deployments of the project.
217+
218+
#### Protecting Production Deployments
219+
220+
<Image
221+
src={`${process.env.ASSETS}/docs/platform/projects/password-protect-production.png`}
222+
width={624 / 2}
223+
height={92 / 2}
224+
shadow
225+
borderRadius
226+
/>
227+
<Caption>Protecting Production Deployment.</Caption>
228+
229+
To protect Production Deployments in addition to Preview Deployments, check **“Also protect my Production Deployment"** and click **Save**.
230+
231+
#### Details
232+
233+
- If you change the password, visitors who have previously entered the password (and therefore have the cookie set) will need to re-enter the password.
234+
- If you disable the protection, all existing deployments of the project will become unprotected.
235+
- If you disable the protection and then enable it, visitors who have the cookie set will continue to be able to access the deployments without re-entering the password.
236+
- You can use Password Protection in conjunction with [SSO Protection](#sso-protection).
237+
238+
#### Disabling the Feature
239+
240+
To opt out from this feature, you can do so from your team’s **Settings****Billing** page. Click **Edit** next to **Password Protection** and follow the instructions:
241+
242+
<Image
243+
src={`${process.env.ASSETS}/docs/platform/projects/cancel-password-protection.png`}
244+
width={538 / 2}
245+
height={108 / 2}
246+
shadow
247+
borderRadius
248+
/>
249+
<Caption>Disable the Password Protection Feature.</Caption>
250+
251+
### SSO Protection
252+
253+
<Note>
254+
This feature is <em>not</em> available for personal accounts. <b>Teams</b> can
255+
opt into this feature by{' '}
256+
<Link href="/contact/sales">contacting our sales team</Link>.
257+
</Note>
258+
259+
By using **SSO Protection**, you can ensure that visitors of your Preview Deployments must log in with a personal Vercel account that is a member of your team to gain access.
260+
261+
Teams can opt into using this feature by clicking the "Optional" badge and contacting [our sales team](/contact/sales).
262+
263+
<Image
264+
src={`${process.env.ASSETS}/docs/platform/projects/enable-sso-protection.png`}
265+
width={686 / 2}
266+
height={440 / 2}
267+
shadow
268+
borderRadius
269+
/>
270+
<Caption>Enabling <b>SSO Protection</b>.</Caption>
271+
272+
#### Protecting Preview Deployments
273+
274+
Once your team has access to the feature, turn on the toggle to enable it.
275+
276+
<Image
277+
src={`${process.env.ASSETS}/docs/platform/projects/adding-sso-protection.png`}
278+
width={1220 / 2}
279+
height={334 / 2}
280+
shadow
281+
borderRadius
282+
/>
283+
<Caption>Turning on the toggle.</Caption>
284+
285+
After clicking **Save**, all Preview Deployments (existing and future ones) will immediately require logging in with a personal Vercel account, and the account must be a member of your team. If you try to access the page, you’ll be presented with this screen:
286+
287+
<Image
288+
src={`${process.env.ASSETS}/docs/platform/projects/sso-required.png`}
289+
width={684 / 2}
290+
height={462 / 2}
291+
shadow
292+
borderRadius
293+
/>
294+
<Caption>Logging in with Vercel is required.</Caption>
295+
296+
If a visitor logs in with a personal Vercel account that’s a member of your team, the visitor will be redirected to the deployment. Also, a cookie will be set in the visitor’s browser, giving them access to Preview Deployments.
297+
298+
**Note**: If you’ve also enabled Password Protection, the login UI will look like this:
299+
300+
<Image
301+
src={`${process.env.ASSETS}/docs/platform/projects/password-or-sso-required.png`}
302+
width={692 / 2}
303+
height={912 / 2}
304+
shadow
305+
borderRadius
306+
/>
307+
<Caption>Logging in using a password or with Vercel is required.</Caption>
308+
309+
#### Protecting Production Deployments
310+
311+
<Image
312+
src={`${process.env.ASSETS}/docs/platform/projects/password-protect-production.png`}
313+
width={624 / 2}
314+
height={92 / 2}
315+
shadow
316+
borderRadius
317+
/>
318+
<Caption>Protecting Production Deployment.</Caption>
319+
320+
To protect Production Deployments in addition to Preview Deployments, check **“Also protect my Production Deployment"** and click **Save**.
321+
322+
#### Details
323+
324+
- If you disable the protection, all existing deployments of the project will become unprotected.
325+
- If you disable the protection and then enable it, visitors who previously logged into the deployment with Vercel will continue to be able to access the page without logging in again.
326+
- If an account is removed from the team, then that account can no longer be used to access the deployment. The cookie will also become invalid.
327+
- You can use SSO Protection in conjunction with [Password Protection](#password-protection).
328+
138329
## Deleting a Project
139330

140331
<Note type="warning">
@@ -169,8 +360,8 @@ Next, select **Advanced** from the menu.
169360

170361
<Image
171362
src={`${process.env.ASSETS}/docs/platform/projects/advanced-menu.png`}
172-
width={362 / 2}
173-
height={350 / 2}
363+
width={476 / 2}
364+
height={418 / 2}
174365
shadow
175366
borderRadius
176367
/>
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)