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

# Configurar la política flexible de contraseñas para las conexiones de base de datos de Auth0

> Use la política flexible de contraseñas para definir reglas sobre la seguridad y la composición de las contraseñas para las conexiones de base de datos de Auth0.

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "Beta",
    "ea": "Acceso anticipado"
  };
  const stageText = stageTextMap[stage] || "una etapa de lanzamiento del producto";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>Esta funcionalidad está disponible en los {linkify(`planes ${plans}`, "https://auth0.com/pricing")}. </>}
            {contact && "Para participar, ponte en contacto con " + contact + ". "}
            {terms && <>Al usar esta funcionalidad, aceptas los términos aplicables de la prueba gratuita incluidos en el {linkify("Master Subscription Agreement", "https://www.okta.com/legal")} de Okta.</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>La funcionalidad {feature} está en {linkify(stageText, prsLink)}.</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Política flexible de contraseñas" stage="ea" terms="true" />

La Política flexible de contraseñas reemplaza a las [políticas de contraseñas heredadas](/es/docs/authenticate/database-connections/password-options) para ofrecer mayor granularidad y más opciones de configuración.

| Política                   | Comportamiento heredado                                                                                                                  | Comportamiento de la Política flexible de contraseñas                                                                                                                                         |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Fortaleza de la contraseña | Elija entre cinco niveles predefinidos de complejidad.<br /><br />Trunca silenciosamente las contraseñas que superan la longitud máxima. | Personalice de forma independiente todos los requisitos de complejidad.<br /><br />Elija el comportamiento para las contraseñas que superan la longitud máxima (truncar o devolver un error). |
| Historial de contraseñas   | Configure la cantidad de contraseñas anteriores que un usuario no puede reutilizar, hasta 24.                                            | Conserva una funcionalidad equivalente.                                                                                                                                                       |
| Diccionario de contraseñas | Usa un diccionario integrado de 10.000 palabras comunes.                                                                                 | Elija entre dos diccionarios integrados de 10.000 o 100.000 palabras comunes.                                                                                                                 |
| Bloquear datos personales  | Bloquea un conjunto fijo de campos de datos de usuario.                                                                                  | Personalice por completo qué campos bloquear, hasta 12.                                                                                                                                       |

En el esquema de configuración de la Management API para conexiones de base de datos, la Política flexible de contraseñas también reemplaza los objetos y atributos `options` de la política de contraseñas heredada por un único objeto configurable, `options.password_options`.

<div id="prerequisites">
  ## Requisitos previos
</div>

Para usar política flexible de contraseñas, se requieren los siguientes requisitos:

* Debe usar una conexión de base de datos con el almacén de usuarios de Auth0 (`"strategy": "auth0"`).

* El inquilino debe usar Universal Login.

* El inquilino no debe tener configurada una pantalla personalizada para restablecer la contraseña.

* Si usa la Management API, su token de acceso debe tener los alcances `read:connections` y `update:connections`. Sin `read:connections`, no podrá recuperar la configuración de la conexión de base de datos; sin `update:connections`, no podrá modificarla.

<div id="enable-the-flexible-password-policy">
  ## Habilitar la política flexible de contraseñas
</div>

Puede habilitar la política flexible de contraseñas mediante el Auth0 Dashboard o la Management API.

<Tabs>
  <Tab title="Auth0 Dashboard">
    Para habilitar Flexible Password Policy desde el Auth0 Dashboard:

    1. Vaya a [Auth0 Dashboard > Authentication > Database](https://manage.auth0.com/#/connections/database) y seleccione el nombre de la conexión que quiere editar.

    2. Seleccione la pestaña **Authentication Methods**. Luego, en la sección **Password**, seleccione **Configure** para abrir el panel **Password**.

    3. En el banner de Flexible Password Policy de la parte superior, seleccione **Activate** y luego **Confirm**.

    Esto convierte las políticas de contraseña existentes de su conexión de base de datos de la configuración heredada a la configuración de Flexible Password Policy y lo devuelve a la pestaña **Authentication Methods**.

    El mismo panel **Authentication Methods > Password > Configure** ahora muestra las opciones de configuración de Flexible Password Policy en tres secciones: **Policy**, **Composition** y **Security**.

    <AccordionGroup>
      <Accordion title="Configuración de la política">
        La sección **Policy** contiene la siguiente configuración:

        * **Password for login**: Permite o impide que los usuarios inicien sesión con una contraseña.

        * **Password on signup**: Permite o impide que los usuarios se registren con una contraseña.

        * **Self-service change password**: Permite o impide que los usuarios cambien sus propias contraseñas.

        * **Support users without a password**: Activa o desactiva si los usuarios pueden crearse sin contraseña mediante las API de Management y Authentication.
      </Accordion>

      <Accordion title="Configuración de composición">
        La sección **Composition** contiene la siguiente configuración:

        * **Minimum password length**: Introduzca la longitud mínima de la contraseña.

        * **Additional composition rules**

          * **Required password options**: Al menos una letra mayúscula, al menos una letra minúscula, al menos un número, al menos un carácter especial y/o al menos 3 de 4 de los tipos de caracteres anteriores.

          * **Block three or more sequential characters**, como ABC o 321

          * **Block three or more identical characters in a row**, como 000

          * **Maximum password length exceeded**: Para contraseñas de más de 72 bytes, elija entre **Truncate password** (permite contraseñas más largas, pero solo cifra los primeros 72 bytes) o **Show error** (rechaza contraseñas de más de 72 bytes).
      </Accordion>

      <Accordion title="Configuración de seguridad">
        La sección **Security** contiene la siguiente configuración:

        * **Password history**: Evita la reutilización de contraseñas.

          * **Password history size**: Elija cuántas contraseñas anteriores los usuarios no pueden reutilizar.

        * **Password dictionary**: Evita que los usuarios usen contraseñas incluidas en el diccionario especificado o en las entradas adicionales de su diccionario.

          * **Default dictionary**: Elija entre los diccionarios de [10,000 common words](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10k-most-common.txt) o [100,000 common words](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/100k-most-used-passwords-NCSC.txt).

          * **Additional dictionary entries**: Introduzca contraseñas prohibidas adicionales, una por línea.

        * **Block profile data in passwords**: Evita que los usuarios establezcan contraseñas que contengan los datos del perfil del usuario.

          * **Select profile fields to block**: Elija entre ocho campos predeterminados comunes para bloquear.

          * **Additional profile fields to block**: Introduzca campos de perfil adicionales para bloquear.
      </Accordion>
    </AccordionGroup>

    Después de modificar esta configuración, haga clic en **Save**.
  </Tab>

  <Tab title="Management API">
    En la configuración de tu conexión de base de datos, el objeto `options` contiene la configuración de su política de contraseñas. La Política de Contraseñas Flexible sustituye los objetos y atributos de contraseña heredados en `options` por un único objeto (`options.password_options`) con una configuración más granular.

    Para habilitar la Política de Contraseñas Flexible mediante la Management API:

    <Steps>
      <Step title="Obtén la configuración actual de la conexión de base de datos">
        Primero, obtén la configuración actual de tu conexión de base de datos mediante el [endpoint Get a connection](https://auth0.com/docs/api/management/v2/connections/get-connections-by-id).

        Guarda la configuración completa de la respuesta. Puedes consultar el esquema del cuerpo de la respuesta en la documentación del endpoint.
      </Step>

      <Step title="Reemplaza la configuración heredada por la configuración de la Política de Contraseñas Flexible">
        En el objeto `options` de la configuración, elimina los siguientes objetos y valores de contraseña heredados y, a continuación, añade un único objeto `password_options` con la configuración de la Política de Contraseñas Flexible que desees.

        | Atributo heredado de `options` | Atributo de `options` de la Política de Contraseñas Flexible |
        | ------------------------------ | ------------------------------------------------------------ |
        | `password_complexity_options`  | `password_options.complexity`                                |
        | `password_history`             | `password_options.history`                                   |
        | `password_no_personal_info`    | `password_options.profile_data`                              |
        | `password_dictionary`          | `password_options.dictionary`                                |
        | `passwordPolicy`               | Eliminado                                                    |

        Por ejemplo, las siguientes dos configuraciones de contraseña en `options` son equivalentes:

        <Columns cols={2}>
          <div>
            ```json Legacy password policy example theme={null}
            "password_history": {
                "enable": true,
                "size": 5
            },
            "password_dictionary": {
                "enable": true,
                "dictionary": [
                    "badPassword",
                    "reallyBadPassword"
                ]
            }
            ```
          </div>

          <div>
            ```json Flexible Password Policy example theme={null}
            "password_options": {
                "history": {
                    "active": true,
                    "size": 5
                },
                "dictionary": {
                    "active": true,
                    "default": "en_10k",
                    "custom": [
                        "badPassword",
                        "reallyBadPassword"
                    ]
                }
            }
            ```
          </div>
        </Columns>

        Puedes consultar el esquema completo del objeto `password_options` en la referencia de la API (por ejemplo, en los parámetros del cuerpo del [endpoint Update a connection](https://auth0.com/docs/api/management/v2/connections/patch-connections-by-id)).
      </Step>

      <Step title="Opcionalmente, actualiza otra configuración de contraseña">
        Los demás atributos de contraseña fuera del objeto `password_options` permanecen sin cambios, pero se muestran en la configuración de la Política de Contraseñas Flexible del Auth0 Dashboard:

        | Atributo de `options` de la Management API        | Configuración de Auth0 Dashboard              |
        | ------------------------------------------------- | --------------------------------------------- |
        | `authentication_methods.password.enabled`         | Policy > Contraseña para iniciar sesión       |
        | `authentication_methods.password.signup_behavior` | Policy > Contraseña al registrarse            |
        | `authentication_methods.password.api_behavior`    | Policy > Admitir usuarios sin contraseña      |
        | `disable_self_service_change_password`            | Policy > Cambio de contraseña de autoservicio |

        Opcionalmente, puedes actualizar estos atributos para modificar tu configuración.
      </Step>

      <Step title="Actualiza la conexión de base de datos">
        Actualiza tu conexión de base de datos con el [endpoint Update a connection](https://auth0.com/docs/api/management/v2/connections/patch-connections-by-id).

        <Warning>
          Este endpoint sobrescribe la configuración existente con la que envías, así que incluye el objeto completo ya modificado en tu solicitud `PATCH` para conservar el resto de la configuración de tu conexión de base de datos.
        </Warning>
      </Step>
    </Steps>

    Puedes verificar la actualización volviendo a obtener la configuración de tu conexión de base de datos con el [endpoint Get a connection](https://auth0.com/docs/api/management/v2/connections/get-connections-by-id). Si la respuesta contiene el objeto `options.password_options`, la Política de Contraseñas Flexible está habilitada para esa conexión de base de datos.
  </Tab>
</Tabs>

<div id="revert-to-the-legacy-password-policies">
  ## Volver a las políticas de contraseñas heredadas
</div>

Para volver a las políticas de contraseñas heredadas, debe usar la Management API.

Siga el mismo proceso indicado anteriormente para actualizar la conexión de base de datos con sus `options` originales y eliminar por completo el objeto `password_options`.
