

# Criar uma conta de banco de dados usando autenticação do IAM
<a name="UsingWithRDS.IAMDBAuth.DBAccounts"></a>

Com a autenticação de banco de dados do IAM, você não precisa atribuir senhas de banco de dados à conta de usuário que você criar. Se você remover um usuário que está mapeado a uma conta de banco de dados, também deverá remover a conta de banco de dados com a instrução `DROP USER`.

**nota**  
O nome de usuário usado para autenticação do IAM deve corresponder ao caso do nome de usuário no banco de dados.

**Topics**
+ [

## Usar autenticação do IAM com o MariaDB e o MySQL
](#UsingWithRDS.IAMDBAuth.DBAccounts.MySQL)
+ [

## Usar a autenticação do IAM com o PostgreSQL
](#UsingWithRDS.IAMDBAuth.DBAccounts.PostgreSQL)

## Usar autenticação do IAM com o MariaDB e o MySQL
<a name="UsingWithRDS.IAMDBAuth.DBAccounts.MySQL"></a>

Com o MariaDB e o MySQL, a autenticação é processada por `AWSAuthenticationPlugin`: um plug-in fornecido pela AWS que funciona perfeitamente com o IAM para autenticar seus usuários. Conecte-se à instância de banco de dados como usuário principal ou um usuário diferente que possa criar usuários e conceder privilégios. Depois de se conectar, emita a instrução `CREATE USER` conforme mostrado no exemplo a seguir.

```
CREATE USER 'jane_doe' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS'; 
```

A cláusula `IDENTIFIED WITH` permite que o MariaDB e o MySQL usem o `AWSAuthenticationPlugin` para autenticar a conta de banco de dados (`jane_doe`). A `AS 'RDS'` cláusula refere-se ao método de autenticação. Verifique se o nome do usuário do banco de dados especificado é o mesmo que um recurso na política do IAM para acesso ao banco de dados do IAM. Para obter mais informações, consulte [Criar e usar uma política do IAM para acesso do banco de dados do IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md). 

**nota**  
Se você ver a mensagem a seguir, significa que o plugin fornecido pela AWS não está disponível para a instância de Bancos de Dados atual .  
`ERROR 1524 (HY000): Plugin 'AWSAuthenticationPlugin' is not loaded`  
Para solucionar esse erro, verifique se você está usando uma configuração compatível e se habilitou a autenticação de banco de dados do IAM em sua instância de banco de dados. Para obter mais informações, consulte [Disponibilidade de regiões e versões](UsingWithRDS.IAMDBAuth.md#UsingWithRDS.IAMDBAuth.Availability) e [Habilitar e desabilitar a autenticação de banco de dados do IAM](UsingWithRDS.IAMDBAuth.Enabling.md).

Apos criar uma conta usando `AWSAuthenticationPlugin`, você a gerencia do mesmo modo que as outras contas de banco de dados. Por exemplo, você pode modificar os privilégios da conta com os atributos `GRANT` e `REVOKE`, ou modificar os vários atributos da conta com a instrução `ALTER USER`. 

O tráfego de rede do banco de dados é criptografado utilizando SSL/TLS ao usar o IAM. Para permitir conexões SSL, modifique a conta do usuário com o comando a seguir.

```
ALTER USER 'jane_doe'@'%' REQUIRE SSL;     
```

 

## Usar a autenticação do IAM com o PostgreSQL
<a name="UsingWithRDS.IAMDBAuth.DBAccounts.PostgreSQL"></a>

Para usar a autenticação do IAM com o PostgreSQL, conecte-se à instância de banco de dados como usuário principal ou um usuário diferente que possa criar usuários e conceder privilégios. Depois de conectar-se, crie usuários de banco de dados e, depois, conceda a eles a função `rds_iam` conforme mostrado no exemplo a seguir.

```
CREATE USER db_userx; 
GRANT rds_iam TO db_userx;
```

Verifique se o nome do usuário do banco de dados especificado é o mesmo que um recurso na política do IAM para acesso ao banco de dados do IAM. Para obter mais informações, consulte [Criar e usar uma política do IAM para acesso do banco de dados do IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md). Você deve conceder o perfil `rds_iam` para usar a autenticação do IAM. Também é possível usar associações aninhadas ou concessões indiretas do perfil. 