@@ -6,40 +6,46 @@ Network Security
66
77.. default-domain:: mongodb
88
9+ .. facet::
10+ :name: genre
11+ :values: reference
12+
13+ .. meta::
14+ :keywords: atlas architecture center
15+ :description: Learn about the network security configurations that Atlas supports.
16+
917.. contents:: On this page
1018 :local:
1119 :backlinks: none
1220 :depth: 1
1321 :class: onecol
1422
15- {+service+} provides secure defaults for your database deployments
16- such as:
23+ {+service+} provides secure network configuration defaults for your
24+ database deployments, such as:
1725
1826- Mandatory |tls-ssl| connection encryption
1927- {+vpc+}\s for all projects with one-or-more {+Dedicated-clusters+}
20- - Access-list-based authentication which only accepts connections from
21- sources you explicitly declare
28+ - Authentication that uses {+ip-access-list+}s and only accepts connections
29+ from sources you explicitly declare
2230
23- You can further configure these protections to meet your unique
24- security needs and preferences.
31+ You can further configure these protections to meet your unique security
32+ needs and preferences.
2533
26- Use the basic guidance on this page to plan the network security
27- configuration for your {+clusters+}.
34+ Use the recommendations on this page to plan for the network security
35+ configuration of your {+clusters+}.
2836
2937{+service+} Features for Network Security
3038-----------------------------------------
3139
3240{+service+} enforces |tls-ssl| encryption for all connections to your
3341databases.
3442
35- All {+service+} projects with one or more M10+ dedicated {+clusters+}
36- receive their own dedicated |vpc| on {+aws+} or {+gcp+} (or {+vnet+} if you use
37- |azure|). {+service+} deploys all dedicated clusters inside this |vpc|
38- or {+vnet+}.
43+ All {+service+} projects with one or more M10+ dedicated {+clusters+} receive
44+ their own dedicated |vpc| on {+aws+} or {+gcp+} (or {+vnet+} if you use |azure|).
45+ {+service+} deploys all dedicated clusters inside this |vpc| or {+vnet+}.
3946
40- By default, this |vpc| or {+vnet+} allows no inbound access to
41- {+service+}. You must explicitly enable access by one of the
42- following methods:
47+ By default, this |vpc| or {+vnet+} allows no inbound access to {+service+}.
48+ You must explicitly enable access by one of the following methods:
4349
4450- Add public IP addresses to your {+ip-access-list+}
4551- Use |vpc| / {+vnet+} peering to add private IP addresses
@@ -50,24 +56,23 @@ following methods:
5056
5157{+service+} enforces mandatory |tls| encryption of connections to your
5258databases. |tls| 1.2 is the default protocol; you can select |tls| 1.1
53- or |tls| 1.0 if necessary. For more information , see the
59+ or |tls| 1.0 if necessary. To learn more , see the
5460:guilabel:`Set Minimum TLS Protocol Version` section of
55- :ref:`Configure Additional Setting
61+ :ref:`Configure Additional Settings
5662<create-cluster-additional-settings>`.
5763
5864{+ip-access-list+}s
59- ~~~~~~~~~~~~~~~~~~~~
65+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6066
6167As a |service| administrator, you can:
6268
6369You can configure {+ip-access-list+}s to limit which IP addresses can
64- attempt authentication to your database. Your {+service+} {+clusters+}
70+ attempt authentication to your database.
6571
6672Your {+service+} {+clusters+} allow access only from the IP addresses
67- and |cidr| block IP ranges that you add to your
68- {+ip-access-list+}. Application servers and other clients cannot
69- access your {+service+} {+clusters+} if their IP addresses aren't
70- included in your {+ip-access-list+}.
73+ and |cidr| block IP ranges that you add to your {+ip-access-list+}.
74+ Application servers and other clients can't access your {+service+}
75+ {+clusters+} if their IP addresses aren't included in your {+ip-access-list+}.
7176
7277You can configure :atlas:`temporary access list entries
7378</security/ip-access-list/#add-ip-access-list-entries>`
@@ -96,40 +101,38 @@ cases of {+cluster+} changes such as :ref:`vertical scaling
96101<sizing-auto-scaling>`,
97102:atlas:`topology </reference/glossary/#std-term-topology>` changes, or
98103:ref:`maintenance events <configure-maintenance-window>`. However,
99- certain topology changes – such as a :ref:`conversion from replica set
104+ certain topology changes, such as a :ref:`conversion from replica set
100105to sharded cluster <scale-cluster-sharding>`, the
101106:ref:`addition of shards <scale-cluster-shardNum>`, or a :ref:`region
102- change <scale-cluster-region>` – require that you use new IP
103- addresses.
107+ change <scale-cluster-region>` require that you use new IP addresses.
104108
105109VPC/{+vnet+} Peering
106110~~~~~~~~~~~~~~~~~~~~~~~~~~
107111
108- Network peering allows you to connect your own |vpc|\s with an Atlas
112+ Network peering allows you to connect your own |vpc|\s with |a-service|
109113|vpc| to route traffic privately and isolate your data flow from the
110114public Internet.
111115
112116Most operations performed over a |vpc| connection originate from your
113117application environment, minimizing the need for {+service+} to make
114- outbound access requests to peer |vpc|\s. However, if you have
115- configured a peer |vpc| to use |ldap| authentication, you must enbale
116- {+service+} to connect to the authentication endpoint of your peer
117- |vpc| over the |ldap| protocol.
118+ outbound access requests to peer |vpc|\s. However, if you configure a
119+ peer |vpc| to use |ldap| authentication, you must enable {+service+} to
120+ connect to the authentication endpoint of your peer |vpc| over the |ldap|
121+ protocol.
118122
119123You can choose your {+service+} |cidr| block with the |vpc| peering wizard
120124before you deploy your first {+cluster+}. The {+service+} |vpc| |cidr|
121125block must not overlap with the |cidr| block of any |vpc| you intend to
122126peer to. {+service+} limits the number of MongoDB instances per |vpc|
123- based on the |cidr| block; for example, a project with a |cidr| block of
127+ based on the |cidr| block. For example, a project with a |cidr| block of
124128``/24`` is limited to the equivalent of 273-node replica sets.
125129
126130We recommend the following as best practices:
127131
128- - To maintain tight network trust boundaries, configure mitigations
129- such as security groups and :aws:`network ACLs
130- <vpc/latest/userguide/vpc-network-acls.html>` to prevent inbound
131- access to systems inside your application |vpc|\s from the {+service+}-side
132- |vpc|.
132+ - To maintain tight network trust boundaries, configure security groups
133+ and :aws:`network ACLs </vpc/latest/userguide/vpc-network-acls.html>`
134+ to prevent inbound access to systems inside your application |vpc|\s
135+ from the {+service+}-side |vpc|.
133136
134137- Create new |vpc|\s to act as intermediaries between sensitive
135138 application infrastructure and your {+service+} |vpc|\s. |vpc|\s are
@@ -141,16 +144,16 @@ Private Endpoints
141144
142145A private endpoint facilitates a one-way connection from your own |vpc|
143146to your {+service+} |vpc|, without permitting {+service+} to initiate a
144- reciprocal connection. This allows you to make use of secure
145- connections to {+service+} without extending your network trust
146- boundary. The following private endpoints are available:
147+ reciprocal connection. This allows you to make use of secure connections
148+ to {+service+} without extending your network trust boundary. The following
149+ private endpoints are available:
147150
148- - {+aws+} :aws:`PrivateLink <vpc/latest/userguide/endpoint-services-overview.html>`,
149- for connections from {+aws+} VPCs
150- - {+azure+} :azure:`Private Link <private-link/private-link/ overview>`,
151+ - {+aws+} :aws:`PrivateLink </ vpc/latest/userguide/endpoint-services-overview.html>`,
152+ for connections from {+aws+} |vpc|\s
153+ - {+azure+} :azure:`Private Link </ private-link/private-link- overview>`,
151154 for connections from {+azure+} {+vnet+}s
152- - :gcp:`Private Service Connect <vpc/docs/private-service-connect>`, for
153- connections from Google Cloud
155+ - :gcp:`Private Service Connect </ vpc/docs/private-service-connect>`, for
156+ connections from {+gcp+}
154157
155158Examples
156159--------
@@ -191,7 +194,7 @@ These examples also apply other recommended configurations, including:
191194 </connect-atlas-cli/>` using the steps for :guilabel:`Programmatic Use`.
192195
193196 Create an {+ip-access-list+} Entry
194- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
197+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
195198
196199 Run the following command for each connection you want to
197200 allow. Change the entries to use the appropriate options and
@@ -249,8 +252,7 @@ These examples also apply other recommended configurations, including:
249252
250253 .. note::
251254
252- Before you
253- can create resources with Terraform, you must:
255+ Before you can create resources with Terraform, you must:
254256
255257 - :atlas:`Create your paying organization
256258 </billing/#configure-a-paying-organization>` and :atlas:`create an API key </configure-api-access/>` for the
@@ -266,14 +268,14 @@ These examples also apply other recommended configurations, including:
266268 <https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli>`__
267269
268270 Create an {+ip-access-list+} Entry
269- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
271+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
270272
271273 To add an entry to your {+ip-access-list+}, create the following
272274 file and place it in the directory of the project you want to
273275 grant access to. Change the IDs and names to use your values:
274276
275277 accessEntryForAddress1.tf
276- `````````````````````````
278+ `````````````````````````````
277279
278280 .. include:: /includes/examples/tf-example-access-entry-for-add-1.rst
279281
@@ -282,21 +284,21 @@ These examples also apply other recommended configurations, including:
282284
283285 .. code-block::
284286
285- terraform init
287+ terraform init
286288
287289 Run the following command to view the Terraform plan:
288290
289291 .. code-block::
290292
291- terraform plan
293+ terraform plan
292294
293295 Run the following command to add one entry to the {+ip-access-list+}
294296 for your project. The command uses the file and the
295297 |service-terraform| to add the entry.
296298
297299 .. code-block::
298300
299- terraform apply
301+ terraform apply
300302
301303 When prompted, type ``yes`` and press :kbd:`Enter` to apply
302304 the configuration.
@@ -314,34 +316,34 @@ These examples also apply other recommended configurations, including:
314316
315317 .. include:: /includes/examples/tf-example-vpc-connection.rst
316318
317- After you create the files , navigate to your project directory
319+ After you create the file , navigate to your project directory
318320 and run the following command to initialize Terraform:
319321
320322 .. code-block::
321323
322- terraform init
324+ terraform init
323325
324326 Run the following command to view the Terraform plan:
325327
326328 .. code-block::
327329
328- terraform plan
330+ terraform plan
329331
330332 Run the following command to add a |vpc| peering connection from
331333 your application to your project. The command uses the file and
332334 the |service-terraform| to add the entry.
333335
334336 .. code-block::
335337
336- terraform apply
338+ terraform apply
337339
338340 When prompted, type ``yes`` and press :kbd:`Enter` to apply
339341 the configuration.
340342
341343 Create a Private Link
342344 ~~~~~~~~~~~~~~~~~~~~~
343345
344- To create a private link from your application |vpc| to
346+ To create a PrivateLink from your application |vpc| to
345347 your {+service+} |vpc|, create the following file and place it in
346348 the directory of the project you want to connect to. Change
347349 the IDs and names to use your values:
@@ -351,26 +353,26 @@ These examples also apply other recommended configurations, including:
351353
352354 .. include:: /includes/examples/tf-example-private-link.rst
353355
354- After you create the files , navigate to your project directory
356+ After you create the file , navigate to your project directory
355357 and run the following command to initialize Terraform:
356358
357359 .. code-block::
358360
359- terraform init
361+ terraform init
360362
361363 Run the following command to view the Terraform plan:
362364
363365 .. code-block::
364366
365- terraform plan
367+ terraform plan
366368
367- Run the following command to add a privatelink endpoint from
369+ Run the following command to add a PrivateLink endpoint from
368370 your application to your project. The command uses the file and
369371 the |service-terraform| to add the entry.
370372
371373 .. code-block::
372374
373- terraform apply
375+ terraform apply
374376
375377 When prompted, type ``yes`` and press :kbd:`Enter` to apply
376378 the configuration.
0 commit comments