

# Autenticação e autorização para o Aurora DSQL
<a name="authentication-authorization"></a>

O Aurora DSQL usa perfis e políticas do IAM para autorização de clusters. Você associa perfis do IAM a [perfis do banco de dados PostgreSQL](https://www.postgresql.org/docs/current/user-manag.html) para autorização do banco de dados. Essa abordagem combina os [benefícios do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-iam-features.html) com os [privilégios do PostgreSQL.](https://www.postgresql.org/docs/current/user-manag.html) O Aurora DSQL usa esses recursos para oferecer uma política abrangente de autorização e acesso para o cluster, o banco de dados e os dados.

## Gerenciar clusters usando o IAM
<a name="authentication-authorization-iam-role-manage"></a>

Para gerenciar clusters, use o IAM para autenticação e autorização:

**Autenticação do IAM**  
Para autenticar sua identidade do IAM ao gerenciar clusters do Aurora DSQL, você deve usar o IAM. Você pode fornecer autenticação usando o [Console de gerenciamento da AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html), a [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) ou o [SDK da AWS](https://docs.aws.amazon.com/sdkref/latest/guide/access.html).

**Autorização do IAM**  
Para gerenciar clusters do Aurora DSQL, conceda autorização usando ações do IAM para o Aurora DSQL. Por exemplo, para descrever um cluster, sua identidade do IAM deve ter permissões para a ação `dsql:GetCluster` do IAM, como no exemplo de ação de política a seguir.  

```
{
  "Effect": "Allow",
  "Action": "dsql:GetCluster",
  "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster"
}
```
Para obter mais informações, consulte [Usar ações de política do IAM para gerenciar clusters](#authentication-authorization-iam-policy-manage).

## Conectar-se a um cluster usando o IAM
<a name="authentication-authorization-iam-role-connect"></a>

Para se conectar ao seu cluster, use o IAM para autenticação e autorização:

**Autenticação do IAM**  
Gere um token de autenticação temporário usando uma identidade do IAM com autorização para conexão com o cluster. Para saber mais, consulte [Gerar um token de autenticação no Amazon Aurora DSQL](SECTION_authentication-token.md).

**Autorização do IAM**  
Conceda as seguintes ações de política do IAM à identidade do IAM que você está usando para estabelecer a conexão com o endpoint do cluster:  
+ Use `dsql:DbConnectAdmin` se você estiver usando o perfil `admin`. O Aurora DSQL cria e gerencia esse perfil para você. O exemplo de ação de política do IAM a seguir permite que o `admin` se conecte a *my-cluster*.

  ```
  {
    "Effect": "Allow",
    "Action": "dsql:DbConnectAdmin",
    "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster"
  }
  ```
+ Use `dsql:DbConnect` se você estiver utilizando um perfil de banco de dados personalizado. Você cria e gerencia esse perfil usando comandos SQL em seu banco de dados. O exemplo de ação de política do IAM a seguir permite que um perfil de banco de dados personalizado fique conectado a *my-cluster* por até uma hora.

  ```
  {
    "Effect": "Allow",
    "Action": "dsql:DbConnect",
    "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster"
  }
  ```
Depois de estabelecer uma conexão, seu é perfil tem autorização para ficar conectado por até uma hora. 

## Interagir com o banco de dados usando perfis de banco de dados do PostgreSQL e perfis do IAM
<a name="authentication-authorization-database-roles-manage"></a>

O PostgreSQL gerencia as permissões de acesso ao banco de dados usando o conceito de perfis. Um perfil pode ser considerado como um usuário ou um grupo de usuários do banco de dados, dependendo de como ele está configurado. Você cria perfis do PostgreSQL usando comandos SQL. Para gerenciar a autorização em nível de banco de dados, conceda permissões do PostgreSQL aos seus perfis de banco de dados do PostgreSQL. 

O Aurora DSQL permite dois tipos de perfil de banco de dados: um perfil `admin` e perfis personalizados. O Aurora DSQL cria automaticamente um perfil `admin` predefinido para você no cluster do Aurora DSQL. Não é possível modificar o perfil `admin`. Ao se conectar ao banco de dados como `admin`, você pode emitir SQL para criar perfis no nível do banco de dados e associá-los a seus perfis do IAM. Para permitir que os perfis do IAM se conectem ao banco de dados, associe seus perfis de banco de dados personalizados aos seus perfis do IAM.

**autenticação do**  
Use o perfil `admin` para se conectar ao seu cluster. Depois de conectar seu banco de dados, use o comando `AWS IAM GRANT` para associar um perfil de banco de dados personalizado à identidade do IAM autorizada a se conectar ao cluster, como no exemplo a seguir.  

```
AWS IAM GRANT custom-db-role TO 'arn:aws:iam::account-id:role/iam-role-name';
```
Para saber mais, consulte [Autorizar perfis de banco de dados a se conectarem ao cluster](using-database-and-iam-roles.md#using-database-and-iam-roles-custom-database-roles).

**Autorização**  
Use o perfil `admin` para se conectar ao seu cluster. Execute comandos SQL para configurar perfis de banco de dados personalizados e conceder permissões. Para saber mais, consulte as [funções de banco de dados do PostgreSQL](https://www.postgresql.org/docs/current/user-manag.html) e os [privilégios do PostgreSQL](https://www.postgresql.org/docs/current/ddl-priv.html) na documentação do PostgreSQL.

## Usar ações de política do IAM com o Aurora DSQL
<a name="authentication-authorization-iam-policy"></a>

A ação de política do IAM que você usa depende do perfil usado para se conectar ao cluster: um perfil `admin` ou um perfil de banco de dados personalizado. A política também depende das ações do IAM necessárias para esse perfil.

### Usar ações de política do IAM para se conectar a clusters
<a name="authentication-authorization-iam-policy-connect"></a>

Ao se conectar ao cluster com um perfil de banco de dados padrão de `admin`, use uma identidade do IAM com autorização para realizar a ação de política do IAM a seguir.

```
"dsql:DbConnectAdmin"
```

Ao se conectar ao cluster com um perfil de banco de dados personalizado, primeiro associe o perfil do IAM ao perfil de banco de dados. A identidade do IAM que você usa para se conectar ao cluster deve ter autorização para realizar a ação de política do IAM a seguir.

```
"dsql:DbConnect"
```

Para saber mais sobre perfis de banco de dados personalizados, consulte [Usar perfis de banco de dados e autenticação do IAM](using-database-and-iam-roles.md).

### Usar ações de política do IAM para gerenciar clusters
<a name="authentication-authorization-iam-policy-manage"></a>

Ao gerenciar clusters do Aurora DSQL, especifique ações de política somente para as ações que seu perfil precisa realizar. Por exemplo, se seu perfil precisar apenas obter informações sobre o cluster, você pode limitar as permissões de perfil somente às permissões `GetCluster` e `ListClusters`, como no exemplo de política a seguir

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "dsql:GetCluster",
        "dsql:ListClusters"
      ],
      "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster"
    }
  ]
}
```

------

O exemplo de política a seguir mostra todas as ações de política do IAM disponíveis para gerenciar clusters.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "dsql:CreateCluster",
        "dsql:GetCluster",
        "dsql:UpdateCluster",
        "dsql:DeleteCluster",
        "dsql:ListClusters",
        "dsql:TagResource",
        "dsql:ListTagsForResource",
        "dsql:UntagResource"
      ],
      "Resource" : "*"
    }
  ]
}
```

------

## Revogar a autorização usando o IAM e o PostgreSQL
<a name="authentication-authorization-revoke"></a>

Você pode revogar as permissões de seus perfis do IAM para acessar seus perfis no nível do banco de dados:

**Revogar a autorização do administrador para se conectar aos clusters**  
Para revogar a autorização para se conectar ao cluster com um perfil `admin`, revogue o acesso da identidade do IAM a `dsql:DbConnectAdmin`. Edite a política do IAM ou desanexe a política da identidade.  
Depois de revogar a autorização de conexão da identidade do IAM, o Aurora DSQL rejeita todas as novas tentativas de conexão dessa identidade do IAM. A autorização de conexões ativas que estejam usando a identidade do IAM pode ser mantida pelo tempo da conexão. Para obter mais informações sobre a duração das conexões, consulte [Cotas e limites](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/CHAP_quotas.html). 

**Revogar a autorização do perfil personalizado para se conectar aos clusters**  
Para revogar o acesso a outros perfis de banco de dados além de `admin`, revogue o acesso da identidade do IAM a `dsql:DbConnect`. Edite a política do IAM ou desanexe a política da identidade.  
Você também pode remover a associação entre um perfil do banco de dados e o IAM usando o comando `AWS IAM REVOKE` no banco de dados. Para saber mais sobre a revogação do acesso de perfis de banco de dados, consulte [Revogar a autorização do banco de dados de um perfil do IAM](using-database-and-iam-roles.md#using-database-and-iam-roles-revoke).

Não é possível gerenciar as permissões do perfil de banco de dados `admin` predefinido. Para saber como gerenciar permissões para perfis de banco de dados personalizados, consulte os [privilégios do PostgreSQL](https://www.postgresql.org/docs/current/ddl-priv.html). As modificações nos privilégios entrarão em vigor na próxima transação depois que o Aurora DSQL confirmar com sucesso a transação de modificação.