Docs Menu
Docs Home
/
MongoDB Atlas

Configure Security Features for Clusters

On this page

  • Preconfigured Security Features
  • Encryption in Transit
  • Virtual Private Cloud
  • Encryption at Rest
  • Required Security Features
  • Network and Firewall Requirements
  • IP Access List
  • User Authentication or Authorization
  • Optional Security Features
  • Network Peering Connection
  • Private Endpoints
  • Unified AWS Access
  • Cluster Authentication and Authorization
  • Encryption at Rest using your Key Management
  • Client-Side Field Level Encryption
  • Database Auditing
  • Access Tracking
  • Multi-Factor Authentication for Atlas UI Access
  • Allow Access to or from the Atlas Control Plane
  • Allow Access to Data Federation
  • OCSP Certificate Revocation Check

You can use Atlas securely out of the box. Atlas comes preconfigured with secure default settings. You can fine-tune the security features for your clusters to meet your unique security needs and preferences. Review the following security features and considerations for clusters.

Important

As a security best practice, don't include sensitive information in namespaces and field names. Atlas doesn't obfuscate this information.

The following security features are part of the Atlas product:

Atlas requires TLS/SSL to encrypt the connections to your databases.

To configure SSL or TLS OCSP certificate revocation checking, see OCSP Certificate Revocation Check.

All Atlas projects with one or more M10+ dedicated clusters receive their own dedicated VPC (or VNet if you use Azure). Atlas deploys all dedicated clusters inside this VPC or VNet.

By default, Atlas encrypts all data stored on your Atlas clusters. Atlas also supports Encryption at Rest using your Key Management.

You must configure the following security features:

Make sure your application can reach your MongoDB Atlas environment. To add the inbound network access from your application environment to Atlas, do one of the following:

  1. Add the public IP addresses to your IP access list

  2. Use VPC / VNet peering to add private IP addresses.

  3. Add private endpoints.

Tip

See also:

If your firewall blocks outbound network connections, you must also open outbound access from your application environment to Atlas. You must configure your firewall to allow your applications to make outbound connections to ports 27015 to 27017 to TCP traffic on Atlas hosts. This grants your applications access to databases stored on Atlas.

Note

By default, MongoDB Atlas clusters do not need to be able to initiate connections to your application environments. If you wish to enable Atlas clusters with LDAP authentication and authorization, you must allow network access from Atlas clusters directly to your secure LDAP. You can allow access to your LDAP by using public or private IPs as long as a public DNS hostname points to an IP that the Atlas clusters can access.

If you are not using VPC / VNet peering and plan to connect to Atlas using public IP addresses, see the following pages for additional information:

Atlas only allows client connections to the cluster from entries in the project's IP access list. To connect, you must add an entry to the IP access list. To set up the IP access list for the project, see Configure IP Access List Entries.

For Atlas clusters deployed on Google Cloud Platform (GCP) or Microsoft Azure, add the IP addresses of your Google Cloud or Azure services to Atlas project IP access list to grant those services access to the cluster.

Atlas requires clients to authenticate to connect to the database. You must create database users to access the database. To set up database users to your clusters, see Configure Database Users. Atlas offers many security features for cluster authentication and authorization.

To access clusters in a project, users must belong to that project. Users can belong to multiple projects.

You may configure the following security features:

Atlas supports peering connections with other AWS, Azure, or Google Cloud network peering connections. To learn more, see Set Up a Network Peering Connection.

Important

If this is the first M10+ dedicated paid cluster for the selected region or regions and you plan on creating one or more VPC peering connections, please review the documentation on VPC peering connections before continuing.

Atlas supports private endpoints on:

To use private endpoints, see Learn About Private Endpoints in Atlas.

Some Atlas features, including Data Federation and Encryption at Rest using Customer Key Management, use AWS IAM roles for authentication.

To set up an AWS IAM role for Atlas to use, see Set Up Unified AWS Access.

Atlas offers the following security features for cluster authentication and authorization.

Atlas requires clients to authenticate to access clusters. You must create database users to access the database. To set up database users for your clusters, see Configure Database Users.

Atlas supports creating custom roles for database authorization in cases where the built-in Atlas roles don't grant your desired set of privileges.

You can set up authentication and authorization for your AWS IAM roles. To learn more, see Set Up Authentication with AWS IAM.

Atlas supports performing user authentication and authorization with LDAP. To use LDAP, see Set Up User Authentication and Authorization with LDAP.

X.509 client certificates provide database users access to the clusters in your project. Options for X.509 authentication include Atlas-managed X.509 authentication and self-managed X.509 authentication. To learn more about self-managed X.509 authentication, see Set Up Self-Managed X.509 Authentication.

Organization owners can restrict MongoDB Production Support Employees from accessing Atlas backend infrastructure for any Atlas cluster in their organization. Organization owners may grant a 24 hour bypass to the access restriction at the Atlas cluster level.

Important

Blocking infrastructure access from MongoDB Support may increase support issue response and resolution time and negatively impact your cluster's availability.

To enable this option, see Configure MongoDB Support Access to Atlas Backend Infrastructure.

Atlas supports using AWS KMS, Azure Key Vault, and Google Cloud to encrypt storage engines and cloud provider backups. To use encryption at rest, see Encryption at Rest using Customer Key Management.

Atlas supports client-side field level encryption, including automatic encryption of fields. All Atlas users are entitled to use MongoDB's automatic client-side field level encryption features.

To learn more, see Client-Side Field Level Encryption Requirements.

Note

MongoDB Compass, the Atlas UI, and the MongoDB Shell (mongosh) do not support decrypting client-side field level-encrypted fields.

Atlas supports auditing all system event actions. To use database auditing, see Set up Database Auditing.

Atlas surfaces authentication logs directly in the Atlas UI so that you can easily review successful and unsuccesful authentication attempts made against your clusters. To view your database access history, see View Database Access History.

Atlas supports MFA to help you control access to your Atlas accounts. To set up MFA, see Manage Your Multi-Factor Authentication Options.

If you use any of the following Atlas features, you might have to add Atlas IP addresses to your network's IP access list:

Send a GET request to the controlPlaneIPAddresses endpoint to fetch the current Atlas control plane IP addresses. The API endpoint returns a list of inbound and outbound Atlas control plane IP addresses in CIDR notation categorized by cloud provider and region, similar to the following:

{
"controlPlane": {
"inbound": {
"aws": { // cloud provider
"us-east-1": [ // region
"3.92.113.229/32",
"3.208.110.31/32",
"107.22.44.69/32"
...,
],
...
}
},
"outbound": {
"aws": { // cloud provider
"us-east-1": [ // region
"3.92.113.229/32",
"3.208.110.31/32",
"107.22.44.69/32"
...,
],
...
}
}
},
"data_federation": {
"inbound": {},
"outbound" {}
},
"app_services": {
"inbound": {},
"outbound" {}
},
...
}

To add the returned IP addresses to your cloud provider's KMS IP access list, see the prerequisites for managing customer keys with AWS, Azure, and GCP.

Outbound access is traffic coming from the Atlas control plane. We recommend that you use the Atlas Admin API to fetch the current outbound Atlas control plane IP addresses.

Inbound access is traffic coming into the Atlas control plane. If your network allows outbound HTTP requests only to specific IP addresses, you must allow access from the inbound IP addresses so that Atlas can communicate with your webhooks and KMS. We recommend that you use the Atlas Admin API to fetch the current inbound Atlas control plane IP addresses.

If your network allows outbound requests to specific IP addresses only, you must allow access to the following IP addresses on TCP port 27017 so that your requests can reach the federated database instance:

108.129.35.102
13.54.14.65
18.138.155.47
18.140.240.47
18.196.201.253
18.200.7.156
18.204.47.197
18.231.94.191
3.122.67.212
3.6.3.105
3.8.218.156
3.9.125.156
3.9.90.17
3.98.247.136
3.99.32.43
3.130.39.53
3.132.189.43
35.206.65.216
35.209.197.46
35.210.31.154
35.210.66.17
20.23.173.153
20.23.171.79
20.96.56.124
20.190.207.191
20.197.103.232
20.197.103.246
34.217.220.13
34.237.78.67
35.158.226.227
52.192.130.90
52.193.61.21
52.64.205.136
54.203.115.97
54.69.142.129
54.91.120.155
54.94.3.214
65.1.222.250
99.81.123.21

If your network allows outbound requests to specific IP addresses only, to allow SSL or TLS OCSP certificate revocation checking, you must allow access to Atlas' CA (Certificate Authority) OCSP Responder servers that can be found in the OCSP URL of the SSL or TLS certificate.

To disable OCSP certificate revocation checking, refer to the documentation for the MongoDB driver version that your application uses.

Back

Troubleshoot