Skip to content

Commit ea6ce16

Browse files
authored
(DOCSP-44997) Remaining Auth page second-draft edits after Elyse PR (#100)
* (DOCSP-44997) Remaining Auth page second-draft edits after Elyse PR * Copy review changes
1 parent 9d580fa commit ea6ce16

File tree

2 files changed

+73
-48
lines changed

2 files changed

+73
-48
lines changed

source/auth.txt

Lines changed: 69 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -66,33 +66,25 @@ authentication methods for each |service| resource ensure that
6666
authentication is both secure and adaptable. |service| provides the
6767
following authentication mechanisms:
6868

69-
Recommendations for Deployment
70-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71-
72-
In a dedicated deployment, resources are allocated exclusively. We
73-
recommend this as it provides high security and performance. However,
74-
you must configure strict access controls.
75-
76-
We recommend using a dedicated {+cluster+} deployment for each
77-
application as this ensures that resources are allocated exclusively
78-
to a single access point and provides isolation for both security and
79-
performance.
80-
81-
While a shared deployment model--where multiple applications and
82-
development teams share a multi-tenant {+cluster+}--can increase the
83-
cost efficiency of the deployment, it requires tight coordination
84-
between the applications' data models and access patterns. These must
85-
be integrated into the provisioning process of the {+cluster+} to
86-
ensure that fine-grained custom roles are programmatically configured,
87-
providing strong isolation between the access of different applications
88-
and teams. As a result, this pattern is generally used
89-
in development environments where the risk of exposure is lower.
90-
9169
Recommendations for {+atlas-ui+}
9270
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9371

94-
|service| supports the following options for {+atlas-ui+}
95-
authentication.
72+
We recommend federated authentication for {+atlas-ui+} access. To
73+
configure federated authentication, you must create {+service+}
74+
credentials or log in with Google or Github.
75+
76+
For {+service+} credentials,
77+
we recommend that you use a strong password accompanied by a
78+
phishing-resistant :abbr:`MFA (Multi-Factor Authentication)`, such as
79+
biometrics. We highly recommend that you set up a secondary
80+
:abbr:`MFA (Multi-Factor Authentication)` factor
81+
to avoid account lock-outs. To ensure
82+
:abbr:`MFA (Multi-Factor Authentication)` access for {+service+}
83+
credentials, turn on :abbr:`MFA (Multi-Factor Authentication)`
84+
enforcement in the Organization Settings. After you set up federation
85+
for your domain, you should use {+service+} credentials to
86+
authenticate only in the emergency break-glass scenarios when federated
87+
authentication is broken.
9688

9789
Federated Authentication
9890
````````````````````````
@@ -105,8 +97,7 @@ Language)` 2.0. You can use any :abbr:`SAML (Security Assertion
10597
Markup Language)` compatible identity provider such as Okta, Microsoft
10698
Entra ID, or Ping Identity to enforce security policies such as password
10799
complexity, credential rotation, and :abbr:`MFA (Multi-Factor
108-
Authentication)` within your identity provider. |service| also supports
109-
Google or Github account authentication.
100+
Authentication)` within your identity provider.
110101

111102
You must configure the IP access list in the {+atlas-ui+} to allow only connections
112103
from IP ranges that include your users and application servers.
@@ -144,13 +135,14 @@ use :ref:`Workforce Identity Federation <oidc-authentication-workforce>` with {+
144135

145136
To configure workload (application) access to your |service|
146137
database using MongoDB drivers, use :ref:`Workload Identity Federation <oidc-authentication-workload>`,
147-
AWS-IAM authentication, or X.509 certificate authentication.
138+
AWS-IAM authentication, or X.509 certificate authentication. We recommend :manual:`SCRAM </core/security-scram>`
139+
password authentication for use only in development or testing environments.
148140

149-
We recommend :manual:`SCRAM </core/security-scram>`
150-
password authentication only for use in development or testing environments.
141+
|service| also supports:
151142

152-
|Service| also supports creating temporary database users to configure just-in-time
153-
database access.
143+
- :ref:`Creating temporary database users <arch-center-just-in-time>`
144+
with just-in-time database access
145+
- :ref:`Third-party secrets manangement <arch-center-secrets>`
154146

155147
Workforce Identity Federation
156148
`````````````````````````````
@@ -164,23 +156,25 @@ security policies such as password complexity, credential rotation, and
164156

165157
To learn more, see :ref:`oidc-authentication-workforce`.
166158

167-
Workload Identity Federation
168-
````````````````````````````
159+
Workload Identity Federation and AWS IAM Role Authentication
160+
````````````````````````````````````````````````````````````
169161

170162
Workload Identity Federation enables applications running in cloud
171-
environments like |aws|, |azure|, and Google Cloud to authenticate with
163+
environments like |azure| and Google Cloud to authenticate with
172164
|service| without the need to manage separate database user credentials.
173165
With Workload Identity Federation, you can manage |service| database
174166
users using |azure| Managed Identities, Google Service Accounts, or any
175-
OAuth 2.0-compliant service. You can also use |aws| workload federation
176-
through |aws| |iam| roles. These authentication mechanisms simplify
167+
OAuth 2.0-compliant service. These authentication mechanisms simplify
177168
management and enhance security by allowing for passwordless access to
178169
the |service| database.
179170

180171
We recommend Workload Identity Federation for all applications running in
181172
production. You shouldn't allow human users to connect except in the most
182173
extreme break-glass emergency scenarios.
183174

175+
You can also authenticate
176+
through |aws| |iam| roles.
177+
184178
To learn more, see the following:
185179

186180
- :ref:`oidc-authentication-workload`
@@ -193,13 +187,18 @@ We recommend that you use Workforce or Workload Identity Federation
193187
through an identity provider for security and ease of access to all aspects of the
194188
|service| control and data plane.
195189

196-
If you don't have an identity provider for federation, then
190+
If you don't have an identity provider for federation,
197191
|service| {+clusters+} also support X.509 client certificates for
198192
user authentication. X.509 certificates provide the security of mutual TLS,
199-
making them suitable for staging and production environments.
193+
making them suitable for staging and production environments, and you
194+
can bring your own certificate authority for use with X.509.
195+
The disadvantage of X.509 is that you must manage certificates and
196+
the security of these certificates on the application side, while
197+
Workload Identity Federation allows for passwordless access and easier
198+
application security.
200199

201200
|service| {+clusters+} also support SCRAM password authentication for user authentication,
202-
but we only recommend SCRAM for use in development and test environments.
201+
but we recommend SCRAM only for use in development and test environments.
203202

204203
If you leverage X.509 or SCRAM authentication, we recommend that you use
205204
third-party secrets manager like
@@ -211,6 +210,8 @@ To learn more, see the following manual pages:
211210
- :manual:`X.509 </core/security-x.509/>`
212211
- :manual:`SCRAM </core/security-scram/>`
213212

213+
.. _arch-center-just-in-time:
214+
214215
Just-in-Time Access
215216
```````````````````
216217

@@ -224,6 +225,8 @@ created for the following periods:
224225

225226
To learn more, see :ref:`mongodb-users`.
226227

228+
.. _arch-center-secrets:
229+
227230
Secrets Management
228231
``````````````````
229232

@@ -251,13 +254,22 @@ keys in Vault, see the blog
251254
`Manage MongoDB Atlas Database Secrets in HashiCorp Vault <https://www.mongodb.com/blog/post/manage-atlas-database-secrets-hashicorp-vault>`__.
252255

253256
To further enhance security and
254-
minimize the risk of unauthorized access, follow best practices for
255-
rotating |api| keys regularly. To learn how to rotate these keys with
256-
{+vault+}, see
257-
`the Hashicorp documentation <https://developer.hashicorp.com/vault/docs/secrets/mongodbatlas>`__.
257+
minimize the risk of unauthorized access:
258+
259+
- Follow best practices for
260+
rotating |api| keys regularly. To learn how to rotate these keys with
261+
{+vault+}, see `the Hashicorp documentation <https://developer.hashicorp.com/vault/docs/secrets/mongodbatlas>`__.
262+
263+
- Use the IP access list for your API keys. To learn more, see
264+
:atlas:`Require an IP Access List for the {+atlas-admin-api+} </configure-api-access/#optional--require-an-ip-access-list-for-the-atlas-administration-api>`.
258265

259266
To learn more, see :ref:`api-authentication`.
260267

268+
Recommendations for Deployments
269+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
270+
271+
To learn our recommendations for deployments, which relate to authentication, see :ref:`arch-center-hierarchy`.
272+
261273
{+service+} Features and Recommendations for Authorization
262274
----------------------------------------------------------
263275

@@ -317,7 +329,14 @@ commonly used roles can serve as a general guideline:
317329
to a human, as it has the ability to change organization-wide settings and delete
318330
configurations. This role should be assigned to a service account which you use
319331
only to initially set up and configure the organization. Minimize configuration
320-
changes after the initial creation.
332+
changes after the initial creation. To avoid account lockouts, you
333+
can create the following items:
334+
335+
- SAML Organization Owner group with
336+
:ref:`arch-center-just-in-time`.
337+
- API key with the Organization Owner role. Keep it in a
338+
secure place with strong access management for break-glass
339+
emergency scenarios.
321340

322341
* The ``Organization Member`` role should be for admins on the operations and
323342
platform team that can view settings and configuration for the organization.
@@ -346,12 +365,14 @@ commonly used roles can serve as a general guideline:
346365
Don't allow this role in production environments. It has the
347366
ability to view and edit data, including creating and dropping databases,
348367
collections, and indexes on the {+cluster+}, which is useful for rapid
349-
experimentation and development. To grant read-only access to the {+cluster+}'s
350-
data in production environments, use the ``Project Observability Viewer`` role.
351-
If you are uncomfortable giving development teams this level of access in the development environment, you
368+
experimentation and development.
369+
If you are not comfortable giving development teams this level of access in the development environment, you
352370
can grant them read-only access to the {+cluster+}\'s data and performance
353371
statistics with the ``Project Data Access Read Only`` role.
354372

373+
To grant read-only access to the {+cluster+}'s
374+
data in production environments, use the ``Project Observability Viewer`` role.
375+
355376
To learn more, see :ref:`user-roles`.
356377

357378
Recommendations for Database
@@ -514,7 +535,7 @@ The following examples configure authentication and custom roles using
514535
.. include:: /includes/examples/cli-example-auth-okta-stagingprod.rst
515536

516537
Run the following command to create an :abbr:`OIDC (OpenID
517-
Connect)`-compatible identity provider from your federation
538+
Connect)`-compatible identity providers from your federation
518539
settings.
519540

520541
.. include:: /includes/examples/cli-example-auth-oidc-stagingprod.rst

source/hierarchy.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,10 @@ To learn more about parsing billing data using tags, see
236236
{+service+} {+Cluster+} Size Guide
237237
``````````````````````````````````
238238

239+
In a dedicated deployment ({+cluster+} size ``M10``\+), {+service+}
240+
allocates resources exclusively. We recommend dedicated deployments
241+
because they provide high security and performance.
242+
239243
Use the following {+cluster+} size guide to select a {+cluster+} tier that ensures performance without over-provisioning. The {+cluster+} size guide also provides recommendations on which {+cluster+} tiers
240244
are suitable for development and testing environments, and which are
241245
suitable for staging and production environments.

0 commit comments

Comments
 (0)