> ## Documentation Index
> Fetch the complete documentation index at: https://help.dsalta.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MFA should be enabled for all users

> Checks that every Redis Cloud account user has multi-factor authentication enabled.

## What this check does

DSALTA lists your Redis Cloud account users (`GET /v1/users`) and reads each user's multi-factor authentication option. Any user whose MFA option is not enabled fails the check, and users for whom Redis Cloud reports no MFA value count as not enabled rather than being skipped.

<Note>
  This check also runs on 19 other integrations — see [MFA should be enabled for all users](/tests/mfa-should-be-enabled-for-all-users) for the full list.
</Note>

|               |                                                           |
| ------------- | --------------------------------------------------------- |
| **Severity**  | High                                                      |
| **Category**  | `access`                                                  |
| **Data used** | Redis Cloud account user list, Per-user MFA option status |

**Passes when:** Every Redis Cloud account user has MFA (multi-factor authentication) enabled.

<Info>
  This check reads the live user list on every run, not the Access page. If Redis Cloud returns no users at all — which cannot happen on a working key pair, because the key's own user is always listed — the run ends in an error rather than a pass, so a broken credential is never mistaken for full MFA coverage. Users who sign in through SAML SSO are evaluated like everyone else: Redis Cloud leaves their MFA to the identity provider, so if their MFA option reads as off they are flagged.
</Info>

## Why this matters

Every account on the organization's managed Redis platform must be protected with multi-factor authentication. A Redis Cloud console user can read database connection details, so a password alone on any team member is a direct path to production data.

## How to fix

**Enforce MFA in Redis Cloud**

1. Sign in to the [Redis Cloud console](https://cloud.redis.io) as an account **Owner**.
2. Open **Account Settings**, and under **Security** switch the **MFA environment** toggle to **On**, then click **Save changes**. Every user without MFA is required to set it up at their next sign-in, and users can no longer disable it for themselves.
3. Ask each flagged user to enable MFA now rather than waiting for their next sign-in: from the console menu they select their name, then **User Profile**, find **Multi-factor authentication**, enter a mobile number under **Text message**, click **Send code** and then **Verify**. Redis recommends also clicking **Connect** for an authenticator app as a second factor.
4. Open **Team & API** and check the **Multi-factor authentication** column on the **Team** tab to confirm no user is still shown without MFA.
5. Remove any user who will not enrol and no longer needs console access.

Once resolved, DSALTA records a **200** (compliant) result on this test's **Source Data** tab at the next scheduled run.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="How often does this check run?">
    Once a day, at 02:00 America/New\_York, while the integration is connected. A run is skipped entirely if the integration is not in a **connected** state, or if the test has been deactivated.

    To see a fix reflected sooner, open the test from **Compliance → Tests** and click **Run** in the **Run Test** row. You need Full Access to run a test on demand.
  </Accordion>

  <Accordion title="What does the status actually tell me?">
    The **Status** column answers "did the check run?", not "did I pass". **Completed** means DSALTA reached your system and finished evaluating — a check that ran and *found a problem* is still Completed.

    To see what it found, open the test and read the result code on the **Source Data** tab. **200** means nothing to fix; **204** means the check did not apply to your environment; **207** means it ran and found a compliance gap you need to act on. See [Understanding test results](/guides/compliance/test-results).
  </Accordion>

  <Accordion title="The check shows Failed. Does that mean I am non-compliant?">
    Usually not. On an integration-powered check, **Failed** means DSALTA was *blocked* and could not evaluate it — result code **403** (a missing permission) or **428** (a setting DSALTA still needs from you). Code **500** means the run failed on DSALTA's side.

    A genuine compliance gap does not turn the list red — it runs to completion and shows **207**.
  </Accordion>

  <Accordion title="What if this check does not apply to us?">
    Deactivate it: open the test from **Compliance → Tests**, then use the **⋮** menu at the top right of the panel and choose **Deactivate Test**. It applies immediately, with no confirmation step.

    Write your justification in the **Comments** tab **before** you deactivate. Once deactivated, every other tab is grayed out, so Comments is the only place an auditor can read why — see [Test detail](/guides/compliance/test-detail).
  </Accordion>

  <Accordion title="Does DSALTA change my configuration?">
    No. DSALTA only reads. It never creates, modifies, or deletes resources, and every remediation step is performed by your team directly in the third-party product.
  </Accordion>
</AccordionGroup>
