Skip to content

All Round 2 Review Changes #275

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 156 commits into
base: feature-multi-region
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
2f93034
Stages multi-region content: new paradigms section, sub-pages, and sp…
sarahsimpers Mar 14, 2025
ca9327f
(DOCSP-47819) Adds back multiple toplogies from the MVP content (#138)
sarahsimpers Mar 18, 2025
0ff4e7d
(DOCSP-48583) Adds PS links, templatizes pages for recs (#140)
sarahsimpers Mar 20, 2025
a5cab6f
(DOCSP-48520) Adds hybrid paradigm page (#142)
sarahsimpers Mar 28, 2025
38c74fa
test formatting of table
MongoCaleb Mar 31, 2025
419aed4
add to authentication table
MongoCaleb Mar 31, 2025
bba794a
polish Authentication section.
MongoCaleb Mar 31, 2025
3e8a1ca
update authorization section
MongoCaleb Mar 31, 2025
be442dc
move collapsable sections
MongoCaleb Apr 1, 2025
3bfdb36
remove extra header and fix typo
MongoCaleb Apr 1, 2025
0e42850
Apply suggestions from code review
MongoCaleb Apr 4, 2025
9372350
jw review changes
MongoCaleb Apr 4, 2025
e8ff6f5
partial review
MongoCaleb Apr 7, 2025
695ec03
breaking subsections into 2 pages to clarify
MongoCaleb Apr 11, 2025
2412694
add links
MongoCaleb Apr 11, 2025
2f77d70
(DOCSP-48778) Updates language in callout on multi-cloud page (#145)
sarahsimpers Mar 31, 2025
c663088
DOCSP-48746 -- Disaster recovery edits (#148)
jvincent-mongodb Apr 1, 2025
67ed8ba
(DOCSP-48734) Adds Atlas for Gov reference to the compliance page (#155)
JuliaMongo Apr 4, 2025
5fcab9c
(DOCSP-48700) Adds cards and updates the banner (#158)
JuliaMongo Apr 7, 2025
1fab941
add diagrams (#169)
davidhou17 Apr 9, 2025
5aa5420
revamp hybrid page to match others and reduce redundancy
MongoCaleb Apr 9, 2025
793502c
tidy
MongoCaleb Apr 9, 2025
5c7f742
(DOCSP-48740) [Atlas Architecture]Link to High Availability from the …
elyse-mdb Apr 10, 2025
555cc0d
DOCSP-48750 Add GCP details to Network Security page (#162)
jvincent-mongodb Apr 15, 2025
0901c2e
(DOCSP-47103) [Architecture Center] Updating Auditing and Logging exa…
elyse-mdb Apr 16, 2025
05ca950
(DOCSP-48461) [Atlas Architecture] Make follow-up edit for the Orgs, …
elyse-mdb Apr 16, 2025
4d2a749
new landing page with image
MongoCaleb Apr 7, 2025
d47c646
refactor multi-region page; replace image
MongoCaleb Apr 7, 2025
9f7d32d
update images; fix header formatting
MongoCaleb Apr 7, 2025
77b4881
update images; start work on single-region. Much to do
MongoCaleb Apr 8, 2025
5e23651
update image; update single-region; implement include
MongoCaleb Apr 8, 2025
ef168ec
update cloud page
MongoCaleb Apr 8, 2025
07fff9f
massive pruning of global; other cleanup work
MongoCaleb Apr 8, 2025
694ae20
edit feedback; big change: remove global page entirely and move conte…
MongoCaleb Apr 9, 2025
edcb797
new landing page with image
MongoCaleb Apr 7, 2025
628fee1
refactor multi-region page; replace image
MongoCaleb Apr 7, 2025
e21e266
update images; fix header formatting
MongoCaleb Apr 7, 2025
1fda064
update image; update single-region; implement include
MongoCaleb Apr 8, 2025
97b12c3
update cloud page
MongoCaleb Apr 8, 2025
617113b
massive pruning of global; other cleanup work
MongoCaleb Apr 8, 2025
9eed6bc
cleanup from merge
MongoCaleb Apr 9, 2025
8242eac
fix one missing ref
MongoCaleb Apr 9, 2025
188876b
bring in DOCSP-48359 changes and update graphics
MongoCaleb Apr 11, 2025
f0a88c7
Ian review comments
MongoCaleb Apr 16, 2025
7d8d739
(DOCSP-48697) [Atlas Architecture] Add release note changes for multi…
elyse-mdb Apr 17, 2025
22f3334
DOCSP-49282 -- Update Network Security section (#181)
jvincent-mongodb Apr 18, 2025
45adfd0
review changes
MongoCaleb Apr 21, 2025
f758c64
updating heading levels
MongoCaleb Apr 21, 2025
a3f5c53
(DOCSP-46937b) Adds Atlas Resource Policies overview. (#185)
erabil-mdb Apr 22, 2025
30c713d
(DOCSP-49287) [Atlas Architecture] Backups first draft changes (#172)
elyse-mdb Apr 22, 2025
d4d3b35
(DOCSP-49244) Add Use Cases to Deployment Paradigms (#183)
elyse-mdb Apr 23, 2025
790a47a
Add unified TF directory for prod and staging (#173)
jordan-smith721 Apr 24, 2025
33ac962
Create unified TF example for dev & test (#188)
jordan-smith721 Apr 25, 2025
21eed06
DOCSP-48140 Group code examples (#189)
jordan-smith721 Apr 28, 2025
d7971d8
(DOCSP-42567) Operational readiness checklist (#177)
JuliaMongo Apr 29, 2025
92d7794
testing new format
MongoCaleb Apr 29, 2025
2f4feeb
playing with formatting
MongoCaleb Apr 29, 2025
da5db8d
reorg authz page
MongoCaleb Apr 29, 2025
2d6d4a8
fix formatting; reorg files
MongoCaleb Apr 29, 2025
8e3cd31
fix borked link. ready for review
MongoCaleb Apr 29, 2025
588ba0c
adding tier 1 and tier 2 scenarios
MongoCaleb Apr 17, 2025
71984f6
add additional scenario
MongoCaleb Apr 17, 2025
a1cb5cf
review in progress
MongoCaleb Apr 22, 2025
ad6c940
wip
MongoCaleb Apr 23, 2025
48b78ca
add new latency page; move files to bucket for better organziation
MongoCaleb Apr 18, 2025
f294e77
fix build errors
MongoCaleb Apr 18, 2025
9a5de85
wee typo
MongoCaleb Apr 18, 2025
c93774b
merge in change from 49285
MongoCaleb Apr 22, 2025
21209a8
Apply suggestions from code review
MongoCaleb Apr 22, 2025
f914930
combine review feedback; update images
MongoCaleb Apr 23, 2025
7df9d9d
fix TOC and move content in wrong multi-region page to correct location
MongoCaleb Apr 23, 2025
4bc67b3
more combining of multi-region.txt pages
MongoCaleb Apr 23, 2025
9bc3cb3
update naming; more diagram tweaks
MongoCaleb Apr 23, 2025
8dadaec
fix link
MongoCaleb Apr 23, 2025
2fa73cf
add links
MongoCaleb Apr 24, 2025
7fdd93e
fix borked links
MongoCaleb Apr 24, 2025
ebded5e
MM review 1
MongoCaleb Apr 28, 2025
494f091
Update Monitoring and Logging page with go sdk examples
cbullinger Apr 17, 2025
f4529b0
Revise note verbiage
cbullinger Apr 17, 2025
935d825
Apply feedback
cbullinger Apr 22, 2025
3bd9ebe
Move terraform cta banner
cbullinger Apr 22, 2025
69b3cb2
mm review
MongoCaleb Apr 30, 2025
d72432f
fix image and description
MongoCaleb Apr 30, 2025
0321e08
icwill review
MongoCaleb Apr 30, 2025
b19d796
(DOCSP-47815) [Atlas Architecture] Make follow-up edits from the Land…
elyse-mdb May 1, 2025
df7ef16
jw review
MongoCaleb May 1, 2025
04047a9
(DOCSP-49288) Address open qs re encryption, auditing, logging, alert…
JuliaMongo May 2, 2025
bcc68df
(DOCSP-44848) Migration page round two (#192)
carriecwk May 5, 2025
455251e
This PR attempts to manually reconcile the Auth/Authz refactoring fro…
JuliaMongo May 6, 2025
68d0c4f
(DOCSP-47820) [Atlas Architecture] Make follow-up edits from the Orgs…
elyse-mdb Mar 14, 2025
7c8631a
Stages multi-region content: new paradigms section, sub-pages, and sp…
sarahsimpers Mar 14, 2025
6f35ab1
(DOCSP-48583) Adds PS links, templatizes pages for recs (#140)
sarahsimpers Mar 20, 2025
f151115
DOCSP-48746 -- Disaster recovery edits (#148)
jvincent-mongodb Apr 1, 2025
edf8b92
DOCSP-48750 Add GCP details to Network Security page (#162)
jvincent-mongodb Apr 15, 2025
bc17496
(DOCSP-47103) [Architecture Center] Updating Auditing and Logging exa…
elyse-mdb Apr 16, 2025
3493584
new landing page with image
MongoCaleb Apr 7, 2025
4e8cffe
refactor multi-region page; replace image
MongoCaleb Apr 7, 2025
3305915
update images; fix header formatting
MongoCaleb Apr 7, 2025
1341f1c
update image; update single-region; implement include
MongoCaleb Apr 8, 2025
9e793fe
massive pruning of global; other cleanup work
MongoCaleb Apr 8, 2025
cf7e31e
DOCSP-49282 -- Update Network Security section (#181)
jvincent-mongodb Apr 18, 2025
0287c0d
add new latency page; move files to bucket for better organziation
MongoCaleb Apr 18, 2025
56b138e
merge in change from 49285
MongoCaleb Apr 22, 2025
e3fb749
(DOCSP-49244) Add Use Cases to Deployment Paradigms (#183)
elyse-mdb Apr 23, 2025
e119559
fix TOC and move content in wrong multi-region page to correct location
MongoCaleb Apr 23, 2025
1f877d9
more combining of multi-region.txt pages
MongoCaleb Apr 23, 2025
92b316c
add links
MongoCaleb Apr 24, 2025
7e28cec
Update Monitoring and Logging page with go sdk examples
cbullinger Apr 17, 2025
86326a9
(DOCSP-47820) [Atlas Architecture] Make follow-up edits from the Orgs…
elyse-mdb Mar 14, 2025
27160e7
Stages multi-region content: new paradigms section, sub-pages, and sp…
sarahsimpers Mar 14, 2025
89ce5a0
(DOCSP-48583) Adds PS links, templatizes pages for recs (#140)
sarahsimpers Mar 20, 2025
116d511
DOCSP-48746 -- Disaster recovery edits (#148)
jvincent-mongodb Apr 1, 2025
136456d
DOCSP-48750 Add GCP details to Network Security page (#162)
jvincent-mongodb Apr 15, 2025
d9d3044
(DOCSP-47103) [Architecture Center] Updating Auditing and Logging exa…
elyse-mdb Apr 16, 2025
3e5116f
new landing page with image
MongoCaleb Apr 7, 2025
985e4bd
refactor multi-region page; replace image
MongoCaleb Apr 7, 2025
32ac15c
update images; fix header formatting
MongoCaleb Apr 7, 2025
59918fa
update images; start work on single-region. Much to do
MongoCaleb Apr 8, 2025
fd1ba3c
update image; update single-region; implement include
MongoCaleb Apr 8, 2025
bec4fa8
update cloud page
MongoCaleb Apr 8, 2025
045a70c
massive pruning of global; other cleanup work
MongoCaleb Apr 8, 2025
c627151
fix one missing ref
MongoCaleb Apr 9, 2025
65a687b
bring in DOCSP-48359 changes and update graphics
MongoCaleb Apr 11, 2025
7bb1402
DOCSP-49282 -- Update Network Security section (#181)
jvincent-mongodb Apr 18, 2025
afdb79e
(DOCSP-49244) Add Use Cases to Deployment Paradigms (#183)
elyse-mdb Apr 23, 2025
42da98d
DOCSP-48140 Group code examples (#189)
jordan-smith721 Apr 28, 2025
f565ef2
(DOCSP-50189) Re-adds recs for service accounts + API keys. (#231)
erabil-mdb May 20, 2025
45b8e3f
(re) merge changes from DOCSP-46940 (#237)
MongoCaleb May 22, 2025
075d2d3
DOCSP-48744 -- multi-region tf example (#230)
jvincent-mongodb May 27, 2025
b92fc05
all deployment pages except multi-region
MongoCaleb May 27, 2025
adde5fe
Populate file rename to resolve build errors (#242)
cbullinger May 29, 2025
9cf4f96
multi-region page revamp
MongoCaleb May 29, 2025
5e9c0e8
small tweaks
MongoCaleb May 29, 2025
ce91ac3
Merge branch 'feature-multi-region' of github.com:mongodb/docs-atlas-…
MongoCaleb May 29, 2025
d4678bb
one last tweak before IW review
MongoCaleb May 29, 2025
06edb6f
update 1+1+1 wording
MongoCaleb May 30, 2025
571d4ad
update high availability page
MongoCaleb May 30, 2025
233a2cf
post-ian discussion cleans up the map figure and text changes around …
MongoCaleb May 30, 2025
3178a28
add mention of FCV
MongoCaleb Jun 2, 2025
6698005
wordsmithing
MongoCaleb Jun 2, 2025
574497b
remove constant
MongoCaleb Jun 2, 2025
9bf9228
Auth Examples page
MongoCaleb Jun 27, 2025
4351ebe
update snooty link
MongoCaleb Jun 27, 2025
d8b8e0f
more format tweaks
MongoCaleb Jun 27, 2025
9ab5ae5
reorg, clean-up
MongoCaleb Jun 27, 2025
fa302ac
add code blocks
MongoCaleb Jun 27, 2025
6e14063
review feedback
MongoCaleb Jun 30, 2025
5a5419b
remove exraneous sections and bump up headings
MongoCaleb Jul 1, 2025
cd56b28
fix typo
MongoCaleb Jul 7, 2025
addb93d
merge
MongoCaleb Jul 7, 2025
8057397
Merge branch 'auth-round2' into ReviewRound2
MongoCaleb Jul 7, 2025
9e945c6
Merge branch 'ha_round_2' into ReviewRound2
MongoCaleb Jul 7, 2025
139162a
Merge branch 'ReviewRound2' into round2
MongoCaleb Jul 7, 2025
84d6758
merge auth changes
MongoCaleb Jul 7, 2025
971158f
pushing changes to get generated review
MongoCaleb Jul 8, 2025
ea59067
final auth section changes
MongoCaleb Jul 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 25 additions & 28 deletions source/auditing-logging.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,34 +23,31 @@ Auditing
~~~~~~~~

Available on ``M10+`` {+clusters+}, database auditing lets you track system
activity for deployments with
multiple users. As an |service| administrator, you can:

- Rely on default auditing settings in |service|. By default, |service|
performs database authentication auditing in ``M10+`` {+clusters+} to
record authentication events, including those pertaining to:

- database users
- source IP addresses
- timestamps for successful and failed attempts

- :atlas:`Configure a JSON-formatted audit filter
</database-auditing/#configure-a-custom-auditing-filter>` to
customize MongoDB auditing
and select the actions, database users, |service| roles, and |ldap| groups
that you want to audit. If you create a custom audit filter, you can
skip using the managed {+atlas-ui+} auditing filter builder and configure
your own tailored filter of event auditing. For a full list of
events you can configure for auditing, and for a list of examples,
see :manual:`MongoDB auditing </core/auditing>` and :atlas:`Example Auditing Filters
</database-auditing/#example-auditing-filters>`.

You can :manual:`configure manual auditing </core/auditing>` of most of the
documented :manual:`system event actions </reference/audit-message/mongo/#audit-event-actions--details--and-results>`
in |service|. Granular MongoDB database auditing allows you to track
usage of all DDL (Data Definition Language), DML (Data Manipulation Language),
and DCL (Data Control Language) commands in detail. See also
:atlas:`Set up Database Auditing </database-auditing>`.
activity for deployments with multiple users. By default, |service|
performs database authentication auditing in ``M10+`` {+clusters+} to
record authentication events, including those pertaining to:

- database users
- source IP address
- timestamps for both successful and failed attempts

As an |service| administrator, you can create a custom JSON audit filter in
MongoDB to precisely control what gets audited across your system. This approach
lets you specify exactly which actions, database users, and Atlas roles should
be monitored, giving you more granular control than the standard
Atlas UI filter builder.

With manual auditing configuration, you can monitor almost all documented system
events in Atlas. The comprehensive database auditing capabilities provide detailed
tracking of DDL (Data Definition Language), DML (Data Manipulation Language),
and DCL (Data Control Language) operations, providing complete visibility into
database schema changes, data modifications, and permission adjustments.

For implementation guidance, including complete event lists and practical
configuration examples, refer to the :manual:`MongoDB auditing </core/auditing>`
and :atlas:`Example Auditing Filters </database-auditing/#example-auditing-filters>`
documentation. Additional setup instructions are available in the
:atlas:`Set up Database Auditing </database-auditing>`.

.. _accessing-audit-logs:

Expand Down
13 changes: 7 additions & 6 deletions source/auth.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ Guidance for {+service+} Authorization and Authentication
:class: onecol

Authentication is the process of verifying the identity of a user.
|service| requires all users to authenticate themselves in order
to determine their access. Authorization is the process of assigning
permissions to an authenticated user.
Authorization is the process of assigning permissions to an authenticated user.
|service| uses a deny-by-default security model. Users and machine accounts
must authenticate and be assigned permissions before they can access any resources.

For :ref:`Authentication <arch-center-authentication-recs>`, |service|
provides robust authentication mechanisms that seamlessly integrate with your
Expand All @@ -31,12 +31,13 @@ existing identity systems, providing secure access to the UI, database, and

For :ref:`Authorization <arch-center-authorization-recs>`, |service|
provides Role-Based Access Control (RBAC) to govern
access to |service|. You must grant a user one or more roles that determine the
user's access to database resources and operations. Outside of role
assignments, the user has no access to the system.
access to |service|. You must grant a user one or more roles to determine the
user's access resources and operations. Outside of role assignments, the user
has no access to the system.

.. toctree::
:titlesonly:

Authentication </auth/authentication>
Authorization </auth/authorization>
Auth Examples </auth/auth-examples>
193 changes: 193 additions & 0 deletions source/auth/auth-examples.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
.. _arch-center-examples:

=========================================
Authorization and Authentication Examples
=========================================

.. default-domain:: mongodb

.. facet::
:name: genre
:values: reference

.. meta:
:description: Learn about the different authorization and authentication mechanisms that Atlas supports.

.. contents:: On this page
:local:
:backlinks: none
:depth: 2
:class: onecol


The following examples show how to implement our recommendations for authentication
and authorization for different access types. The examples show how to implement
the recommendations using both the |service| CLI and Terraform.

To learn about Terraform, see :ref:`getting-started-terraform` and the
`MongoDB Atlas Provider Terraform docs <https://registry.terraform.io/providers/mongodb/mongodbatlas/latest/docs>`__.

.. tabs::

.. tab:: CLI
:tabid: cli

|service| UI
~~~~~~~~~~~~

For access to the |service| UI:

- Implement :atlas:`{+ip-access-list+}s </security/ip-access-list/>`.
For example,

.. code-block::

atlas organizations apiKeys accessLists create --apiKey <API_KEY_ID> --ip <IP_ADDRESS>

- Implement :ref:`Federated Authentication <arch-center-federated_auth>` or
|service| credentials and :ref:`Multi-factor Authentication (MFA) <arch-center-mfa>`.

To set up Federated Auth, use the
:atlas:`atlas-federatedAuthentication </command/atlas-federatedAuthentication/>`
and related commands. You can then use the :atlas:`atlas-users-invite </command/atlas-users-invite/>`
command to invite users to your organization and projects.

To get started, use the following command:

.. code-block::

atlas federatedAuthentication --help

.. note::

For users that authenticate with SSO, you will also need to configure
the SSO Identity Provider.

For more information, see :ref:`atlas-federated-authentication`.

Database Access
~~~~~~~~~~~~~~~

Workforce (Human) Access
`````````````````````````

For workforce database access:

- Use :atlas:`Workforce Identity Federation </workforce-oidc/>`.

- Use the :atlascli:`atlas-dbusers-certs-create <command/atlas-dbusers-certs-create>`
command to create Atlas-managed MFA (Multi-Factor Authentication)
:atlas:`X.509 client </security-self-managed-x509>` certificates.

.. note::

To use self-managed certificates, you must first configure
:atlas:`X.509 </operator/v2.7/ak8so-x509/>`:

.. code-block::

atlas dbusers certs create --username <USERNAME> --projectId <PROJECT_ID> [--monthsUntilExpiration <MONTHS>] [--output json]


Workload (Machine) Access
`````````````````````````

For workload (machine) access, use :atlas:`Workload Identity Federation </workload-oidc/>`.


API Access
~~~~~~~~~~

Use the :atlas:`serviceAccounts </command/atlas-api-serviceAccounts/>`
and related commands to create and manage Service Accounts.
For example,

.. code-block:: shell

atlas api serviceAccounts createServiceAccount [options]

For development and test environments, you can also use
:atlas:`API keys </command/atlas-projects-apikeys-create/>`. For example,

.. code-block:: shell

atlas organizations apiKeys create [options]


.. tab:: Terraform
:tabid: Terraform

The following examples demonstrate how to configure
authentication and authorization. Before you can create
resources with Terraform, you must:

- :ref:`Create your paying organization <configure-paying-org>` and
:ref:`create an API key <atlas-admin-api-access>` for the paying
organization. Store your API key as environment variables by running the
following command in the terminal:

.. code-block::

export MONGODB_ATLAS_PUBLIC_KEY="<insert your public key here>"
export MONGODB_ATLAS_PRIVATE_KEY="<insert your private key here>"

- `Install Terraform <https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli>`__

Common Files
~~~~~~~~~~~~

You must create the following files for each example. Place
the files for each example in their own directory. Change
the IDs and names to use your values. Then run the commands
to initialize Terraform, view the Terraform plan, and apply
the changes.

azure.tf
````````

.. include:: /includes/examples/terraform/tf-example-auth-tfazure.rst

variables.tf
````````````

.. include:: /includes/examples/terraform/staging-prod/tf-example-auth-variables-stagingprod.rst

terraform.tfvars
````````````````
.. include:: /includes/examples/terraform/staging-prod/tf-example-auth-tfvars-stagingprod.rst

outputs.tf
``````````

.. include:: /includes/examples/terraform/staging-prod/tf-example-auth-tfoutputs-stagingprod.rst

Configure Federated Settings for Identity Provider
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Use the following to set up an :abbr:`OIDC (OpenID Connect)`
federated identity provider in |service|, for using it with
|azure|. It allows access by using OIDC tokens issued by |azure|
Active Directory.

.. include:: /includes/examples/terraform/staging-prod/tf-example-auth-oidc-stagingprod.rst

Use the following to create an :abbr:`OIDC (OpenID Connect)`
federated authentication user.

.. include:: /includes/examples/terraform/staging-prod/tf-example-auth-create-oidc-user-stagingprod.rst

Configure Custom Role
~~~~~~~~~~~~~~~~~~~~~

Use the following to create a custom role named ``my_custom_role``
which allows update, add, and delete operations on any collection
in the database named ``myDb``.

.. include:: /includes/examples/terraform/staging-prod/tf-example-auth-create-custom-role-stagingprod.rst


.. include:: /includes/complete-examples-terraform.rst


For an example of an |service| project with the |service| role assigned
to a specific group, see :ref:`Examples <arch-center-hierarchy>`.
Loading