

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Gerenciar usuários do Amazon DocumentDB
<a name="security.managing-users"></a>

No Amazon DocumentDB, os usuários se autenticam em um cluster em conjunto com uma senha. Cada cluster tem credenciais primárias de login que são estabelecidas durante a criação do cluster.

**nota**  
 Todos os usuários criados antes de **26 de março de 2020** receberam as funções `dbAdminAnyDatabase`, `readWriteAnyDatabase` e `clusterAdmin`. Recomenda-se que você reavalie todos os usuários e modifique as funções conforme necessário para impor o privilégio mínimo para todos os usuários em seus clusters.   
Para obter mais informações, consulte [Acesso ao banco de dados usando o controle de acesso com base em perfil](role_based_access_control.md). 

## Usuário principal e `serviceadmin`
<a name="security.managing-users-master"></a>

Um cluster do Amazon DocumentDB recém-criado tem dois usuários: o usuário primário e o usuário `serviceadmin`.

O *usuário primário* é um usuário único e privilegiado que pode executar tarefas administrativas e criar usuários adicionais com perfis. Ao se conectar a um cluster Amazon DocumentDB pela primeira vez, você deve se autenticar usando as credenciais primárias de login. O usuário primário recebe essas permissões administrativas para um cluster do Amazon DocumentDB quando esse cluster é criado e recebe a função de `root`.

O usuário `serviceadmin` é criado implicitamente quando o cluster é criado. Cada cluster do Amazon DocumentDB tem um usuário `serviceadmin` que fornece AWS a capacidade de gerenciar seu cluster. Não é possível fazer login, descartar, renomear, alterar a senha nem alterar permissões do `serviceadmin`. Qualquer tentativa de fazer isso resulta em um erro.

**nota**  
Os usuários primário e `serviceadmin` de um cluster do Amazon DocumentDB não podem ser excluídos, e a função `root` do usuário primário não pode ser revogada.  
Se você esquecer sua senha de usuário principal, será possível redefini-la usando Console de gerenciamento da AWS ou AWS CLI. 

## Criar usuários adicionais
<a name="security.managing-users-creating"></a>

Depois de conectar-se como usuário primário (ou qualquer usuário que tenha a função `createUser`), você pode criar um novo usuário, como mostrado abaixo.

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

Para visualizar detalhes do usuário, você pode usar o comando `show users` da seguinte maneira. Você também pode remover usuários com o comando `dropUser`. Para obter mais informações, consulte [Comandos comuns](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"
    	}
    ]
}
```

Neste exemplo, o novo usuário `sample-user-1` é atribuído ao banco de dados `admin`. Esse é sempre o caso de um novo usuário. O Amazon DocumentDB não tem o conceito de um `authenticationDatabase` e, portanto, toda autenticação é realizada no contexto do banco de dados `admin`.

Ao criar usuários, se você omitir o campo `db` ao especificar a função, o Amazon DocumentDB atribuirá implicitamente a função ao banco de dados no qual a conexão está sendo emitida. Por exemplo, se sua conexão for emitida no banco de dados `sample-database` e você executar o comando a seguir, o usuário `sample-user-2` será criado no banco de dados `admin` e terá permissões `readWrite` no banco de dados `sample-database`.

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

A criação de usuários com funções com escopo em todos os bancos de dados (por exemplo, `readInAnyDatabase`) exige que você esteja no contexto do banco de dados `admin` ao criar o usuário ou indicar o banco de dados explicitamente para a função ao criar o usuário.

Para alternar o contexto do banco de dados, você pode usar o seguinte comando.

```
use admin
```

Para saber mais sobre o Controle de acesso baseado em função e impor o mínimo privilégio entre os usuários em seu cluster, consulte [Acesso ao banco de dados usando o controle de acesso com base em perfil](role_based_access_control.md). 

## Alternância automática de senhas para o Amazon DocumentDB
<a name="security.managing-users-rotating-passwords"></a>

Com o AWS Secrets Manager, é possível substituir credenciais codificadas, incluindo senhas, por uma chamada de API ao Secrets Manager para recuperar o segredo por programação. Isso ajuda a garantir que o segredo não será comprometido por alguém que esteja examinando seu código, pois o segredo simplesmente não está ali. Além disso, configure o Secrets Manager para alterar automaticamente o segredo para você de acordo com a programação que você especificar. Isso permite substituir segredos de longo prazo por outros de curto prazo, ajudando a reduzir de maneira significativa o risco de comprometimento.

Usando o Secrets Manager, você pode alternar automaticamente as senhas do Amazon DocumentDB (ou seja, os *segredos*) usando uma função do AWS Lambda fornecida pelo Secrets Manager.

Para obter mais informações sobre AWS Secrets Manager e a integração nativa com o Amazon DocumentDB, consulte:
+ [Blog: como fazer a rotação das credenciais do Amazon DocumentDB e Amazon Redshift no Secrets Manager AWS](https://aws.amazon.com/blogs/security/how-to-rotate-amazon-documentdb-and-amazon-redshift-credentials-in-aws-secrets-manager/)
+ [O que é o AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [Alternar segredos AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-documentdb.html)
+ [Credenciais do Amazon DocumentDB no Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_secret_json_structure.html#reference_secret_json_structure_docdb)