

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 bases de datos mediante Role-Based Access Control](role_based_access_control.md). 

## Usuario principal y `administrador de servicio`
<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. Todos los clústeres de Amazon DocumentDB tienen un `serviceadmin` usuario que permite administrar AWS el 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 mediante Consola de administración de AWS o. 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 bases de datos mediante Role-Based Access Control](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, puedes reemplazar las credenciales codificadas de tu código (incluidas las contraseñas) por una llamada a la API a 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 sus contraseñas de Amazon DocumentDB (es decir, las contraseñas secretas*) mediante una AWS Lambda función que proporciona * Secrets Manager.

Para obtener más información sobre la integración nativa con Amazon DocumentDB AWS Secrets Manager y su integración nativa, 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 AWS Secrets Manager? ](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [Rotación de 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)