

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Administración de usuarios de Amazon DocumentDB
<a name="security.managing-users"></a>

En Amazon DocumentDB, los usuarios se autentican en un clúster junto con una contraseña. Cada clúster tiene credenciales de inicio de sesión principales que se establecen durante la creación del clúster.

**nota**  
 Todos los nuevos usuarios creados antes del **26 de marzo de 2020** han recibido los roles `dbAdminAnyDatabase`, `readWriteAnyDatabase`, y `clusterAdmin`. Se recomienda que vuelva a evaluar todos los usuarios y modifique los roles según sea necesario para aplicar los privilegios mínimos para todos los usuarios de los clústeres.   
Para obtener más información, consulte [Acceso a la base de datos mediante el control de acceso basado en roles](role_based_access_control.md). 

## Usuario principal y usuario `serviceadmin`
<a name="security.managing-users-master"></a>

Un clúster recién creado de Amazon DocumentDB tiene dos usuarios: el usuario principal y el usuario `serviceadmin`.

El *usuario principal* es un usuario único con privilegios que puede realizar tareas administrativas y crear usuarios adicionales con roles. Cuando se conecta a un clúster de Amazon DocumentDB por primera vez, debe autenticarse con las credenciales de inicio de sesión principales. El usuario principal recibe estos permisos administrativos para un clúster de Amazon DocumentDB cuando se crea ese clúster y se le concede el rol de `root`.

El usuario `serviceadmin` se crea implícitamente cuando se crea el clúster. Cada clúster Amazon DocumentDB tiene un usuario `serviceadmin` que proporciona a AWS la capacidad de administrar su clúster. No puede iniciar sesión como, ni eliminarlo, cambiarlo de nombre, cambiar su contraseña o cambiar los permisos para `serviceadmin`. Cualquier intento de realizar una de estas operaciones producirá un error.

**nota**  
El principal y los usuarios `serviceadmin` de un clúster de Amazon DocumentDB no se pueden eliminar y el rol de `root` para el usuario principal no se puede revocar.  
Si olvida su contraseña de usuario principal, puede restablecerla con la Consola de administración de AWS o la AWS CLI. 

## Creación de usuarios adicionales
<a name="security.managing-users-creating"></a>

Después de conectarse como usuario principal (o cualquier usuario que tenga el rol `createUser`), puede crear un nuevo usuario, como se muestra a continuación.

```
db.createUser(
    {
        user: "sample-user-1",
        pwd: "password123",
        roles: 
            [{"db":"admin", "role":"dbAdminAnyDatabase" }]
    }
)
```

Para ver los detalles del usuario, puede utilizar el comando `show users` de la siguiente manera. También puede eliminar usuarios con el comando `dropUser`. Para obtener más información, consulte [Comandos comunes](role_based_access_control.md#role_based_access_control-common_commands).

```
show users
{ 
    "_id" : "serviceadmin",
    "user" : "serviceadmin",
    "db" : "admin",
    "roles" : [
    	{
            "role" : "root",
            "db" : "admin"
        }
    ]
},

{ 
    "_id" : "myPrimaryUser",
    "user" : "myPrimaryUser",
    "db" : "admin",
    "roles" : [
    	{
            "role" : "root",
            "db" : "admin"
        }
    ]
},

{
    "_id" : "sample-user-1",
    "user" : "sample-user-1",
    "db" : "admin",
    "roles" : [
    	{
            "role" : "dbAdminAnyDatabase",
            "db" : "admin"
    	}
    ]
}
```

En este ejemplo, el nuevo usuario `sample-user-1` se atribuye a la base de datos `admin`. Esto se aplica siempre en el caso de un usuario nuevo. Amazon DocumentDB no tiene el concepto de una `authenticationDatabase` y, por lo tanto, toda la autenticación se realiza en el contexto de la base de datos `admin`.

Al crear usuarios, si omite el campo `db` al especificar el rol, Amazon DocumentDB atribuirá implícitamente el rol a la base de datos en la que se está emitiendo la conexión. Por ejemplo, si la conexión se emite contra la base de datos `sample-database` y ejecuta el siguiente comando, el usuario `sample-user-2` se creará en la base de datos del `admin` y tendrá permisos `readWrite` para la base de datos `sample-database`.

```
db.createUser(
    {
        user: "sample-user-2", 
        pwd: "password123", 
        roles: 
            ["readWrite"]
    }
)
```

La creación de usuarios con roles cuyo ámbito se encuentra en todas las bases de datos (por ejemplo, `readInAnyDatabase`) requiere que se encuentre en el contexto de la base de datos `admin` al crear el usuario o que indique explícitamente la base de datos para el rol al crear el usuario.

Para cambiar el contexto de la base de datos, puede utilizar el siguiente comando.

```
use admin
```

Para obtener más información sobre el control de acceso basado en roles y la aplicación de privilegios mínimos entre los usuarios del clúster, consulte [Acceso a la base de datos mediante el control de acceso basado en roles](role_based_access_control.md). 

## Rotación automática de contraseñas para Amazon DocumentDB
<a name="security.managing-users-rotating-passwords"></a>

Con AWS Secrets Manager, puede reemplazar las credenciales codificadas en el código (incluidas contraseñas), con una llamada a la API de Secrets Manager para recuperar el secreto mediante programación. Esto ayuda a garantizar la integridad del secreto si alguien examina el código, dado que el secreto sencillamente no está allí. Asimismo, puede configurar Secrets Manager para rotar el secreto automáticamente de acuerdo con la programación que especifique. Esto le permite reemplazar secretos a largo plazo con secretos a corto plazo, lo que contribuye a reducir significativamente el riesgo de peligro.

Con Secrets Manager, puede rotar automáticamente las contraseñas de Amazon DocumentDB (es decir, *secretos*) mediante una función de AWS Lambda que Secrets Manager proporciona.

Para obtener más información acerca AWS Secrets Manager y la integración nativa con Amazon DocumentDB, consulte lo siguiente:
+ [Blog: How to rotate Amazon DocumentDB and Amazon Redshift credentials in AWS Secrets Manager](https://aws.amazon.com/blogs/security/how-to-rotate-amazon-documentdb-and-amazon-redshift-credentials-in-aws-secrets-manager/)
+ [¿Qué es Secrets Manager de AWS?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [Rotar secretos de AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-documentdb.html)
+ [Credenciales de Amazon DocumentDB en Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_secret_json_structure.html#reference_secret_json_structure_docdb)