

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á.

# Crie usuários e funções do aplicativo no Aurora compatível com PostgreSQL
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible"></a>

*Abhishek Verma, Amazon Web Services*

## Resumo
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-summary"></a>

Quando você migra para o Amazon Aurora Edição Compatível com PostgreSQL, os usuários e funções do banco de dados que existem no banco de dados de origem devem ser criados no banco de dados do Aurora compatível com PostgreSQL. Você pode criar usuários e funções no Aurora compatíveis com PostgreSQL usando duas abordagens diferentes:
+ Use usuários e funções semelhantes no banco de dados de destino e no banco de dados de origem. Nessa abordagem, as linguagens de definição de dados (DDLs) são extraídas para usuários e funções do banco de dados de origem. Em seguida, eles são transformados e aplicados ao banco de dados Aurora de destino compatível com PostgreSQL. Por exemplo, a postagem do blog [Use SQL para mapear usuários, funções e concessões do Oracle para o PostgreSQL](https://aws.amazon.com/blogs/database/use-sql-to-map-users-roles-and-grants-from-oracle-to-postgresql) aborda o uso da extração de um mecanismo de banco de dados de origem Oracle.
+ Use usuários e funções padronizados que são comumente usados durante o desenvolvimento, a administração e para realizar outras operações relacionadas no banco de dados. Isso inclui operações somente de leitura, leitura/gravação, desenvolvimento, administração e implantação realizadas pelos respectivos usuários.

Esse padrão contém as concessões necessárias para a criação de usuários e funções no Aurora, compatível com o PostgreSQL, necessárias para a abordagem padronizada de usuários e funções. As etapas de criação do usuário e da função estão alinhadas à política de segurança de conceder privilégio mínimo aos usuários do banco de dados. A tabela a seguir lista os usuários, suas funções correspondentes e seus detalhes no banco de dados.


| 
| 
| Usuários | Perfis | Finalidade | 
| --- |--- |--- |
| `APP_read` | `APP_RO` | Usado para acesso somente de leitura no esquema `APP` | 
| `APP_WRITE` | `APP_RW` | Usado para as operações de gravação e leitura no esquema `APP` | 
| `APP_dev_user` | `APP_DEV` | Usado para fins de desenvolvimento no esquema `APP_DEV`, com acesso somente para leitura no esquema `APP` | 
| `Admin_User` | `rds_superuser` | Usado para realizar operações de administrador no banco de dados | 
| `APP` | `APP_DEP` | Usado para criar os objetos sob o esquema `APP` e para a implantação de objetos no esquema `APP` | 

## Pré-requisitos e limitações
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-prereqs"></a>

**Pré-requisitos **
+ Uma conta ativa da Amazon Web Services (AWS)
+ Um banco de dados PostgreSQL, banco de dados Amazon Aurora Edição Compatível com PostgreSQL ou Amazon Relational Database Service (Amazon RDS) para banco de dados PostgreSQL

**Versões do produto**
+ Todas as versões do PostgreSQL

## Arquitetura
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-architecture"></a>

**Pilha de tecnologia de origem**
+ Qualquer banco de dados

**Pilha de tecnologias de destino**
+ Amazon Aurora compatível com PostgreSQL

**Arquitetura de destino**

O diagrama a seguir mostra as funções do usuário e a arquitetura do esquema no banco de dados do Aurora compatível com PostgreSQL.

![\[Funções de usuário e arquitetura de esquema para o banco de dados do Aurora compatível com PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/80105a81-e3d1-4258-b3c1-77f3a5e78592/images/b95cb9bc-8bf7-47d1-92e7-66cfb37d7ce7.png)


                                                                                                                                    

**Automação e escala**

Esse padrão contém os usuários, as funções e o script de criação do esquema, que você pode executar várias vezes sem afetar os usuários existentes do banco de dados de origem ou de destino.

## Ferramentas
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-tools"></a>

**Serviços da AWS**
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e em conformidade com ACID, que ajuda você a configurar, operar e escalar as implantações de PostgreSQL.

**Outros serviços**
+ O [psql](https://www.postgresql.org/docs/current/app-psql.html) é uma ferramenta frontend baseada em terminal que é instalada com cada instalação do banco de dados PostgreSQL. Ele tem uma interface da linha de comando para executar comandos SQL, PL-PGSQL e do sistema operacional.
+ O [pgAdmin](https://www.pgadmin.org/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Ele fornece uma interface gráfica que ajuda você a criar, manter e usar objetos de banco de dados.

## Épicos
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-epics"></a>

### Criar os usuários e perfis
<a name="create-the-users-and-roles"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar o usuário de implantação. | O usuário de implantação `APP` será usado para criar e modificar os objetos do banco de dados durante as implantações. Use os scripts a seguir para criar a função de usuário de implantação `APP_DEP` no esquema `APP`. Valide os direitos de acesso para garantir que esse usuário tenha apenas o privilégio de criar objetos no esquema `APP` necessário.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crie o usuário somente para leitura. | O usuário de somente leitura `APP_read` será usado para realizar a operação somente leitura no esquema. `APP` Use os scripts a seguir para criar o usuário somente para leitura. Valide os direitos de acesso para garantir que esse usuário tenha privilégios somente para ler os objetos no esquema `APP` e para conceder automaticamente acesso de leitura a qualquer novo objeto criado no esquema `APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crie o read/write usuário. | O read/write usuário `APP_WRITE` será usado para realizar operações de leitura e gravação no esquema`APP`. Use os scripts a seguir para criar o read/write usuário e conceder a ele a `APP_RW` função. Valide os direitos de acesso para garantir que esse usuário tenha privilégios de leitura e gravação somente nos objetos do esquema `APP` e para conceder automaticamente acesso de leitura e gravação a qualquer novo objeto criado no esquema `APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) |  | 
| Crie o usuário administrador. | O usuário administrador `Admin_User` será usado para realizar operações administrativas no banco de dados. Exemplos dessas operações são `CREATE ROLE` e `CREATE DATABASE`. O `Admin_User` usa a função integrada `rds_superuser` para realizar operações administrativas no banco de dados. Use os scripts a seguir para criar e testar o privilégio do usuário administrador `Admin_User` no banco de dados.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crie o usuário de desenvolvimento. | O usuário de desenvolvimento `APP_dev_user` terá direitos para criar os objetos em seu esquema local `APP_DEV` e acesso de leitura no esquema `APP`. Use os scripts a seguir para criar e testar os privilégios do usuário `APP_dev_user` no banco de dados.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 

## Recursos relacionados
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-resources"></a>

**Documentação do PostgreSQL**
+ [CRIAR PERFIL](https://www.postgresql.org/docs/9.1/sql-createrole.html)
+ [CRIAR USUÁRIO](https://www.postgresql.org/docs/8.0/sql-createuser.html)
+ [Perfis predefinidos](https://www.postgresql.org/docs/14/predefined-roles.html)

 

## Mais informações
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-additional"></a>

**Aprimoramento do PostgreSQL 14**

O PostgreSQL 14 fornece um conjunto de funções predefinidas que dão acesso a determinadas capacidades e informações privilegiadas comumente necessárias. Os administradores (incluindo funções que têm o privilégio de `CREATE ROLE`) podem conceder essas funções ou outras funções em seu ambiente aos usuários, fornecendo-lhes acesso aos recursos e informações especificados.

Os administradores podem conceder aos usuários acesso a essas funções usando o comando `GRANT`. Por exemplo, para conceder a função `pg_signal_backend` a `Admin_User`, você pode executar o comando a seguir.

```
GRANT pg_signal_backend TO Admin_User;
```

A função `pg_signal_backend` tem como objetivo permitir que os administradores habilitem funções confiáveis e não de superusuário para enviar sinais para outros backends. Para obter mais informações, consulte [Aprimoramentos do PostgreSQL 14](https://www.postgresql.org/docs/14/predefined-roles.html).

**Ajustando o acesso**

Em alguns casos, pode ser necessário fornecer acesso mais granular aos usuários (por exemplo, acesso baseado em tabela ou acesso baseado em colunas). Nesses casos, funções adicionais podem ser criadas para conceder esses privilégios aos usuários. Para obter mais informações, consulte [Concessões do PostgreSQL](https://www.postgresql.org/docs/8.4/sql-grant.html).