---
title: "Operando o Rest PKI Core sem ser *owner* do banco de dados"
description: "Como operar o Rest PKI Core on-premises com usuário do banco sem privilégios de owner, atualizando o modelo do banco por ferramenta de linha de comando."
canonical: "https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/unprivileged-db-user"
locale: "pt-BR"
product: "Rest PKI Core"
last_updated: "2026-10-12"
---

# Operando o Rest PKI Core sem ser *owner* do banco de dados

O [Rest PKI Core](https://docs.lacunasoftware.com/articles/rest-pki/core) pode operar de duas maneiras em relação ao acesso do banco de dados:

1. Sendo *owner* do banco de dados e atualizar automaticamente o modelo do banco de dados após uma atualização quando necessário (padrão)
1. Ter privilégios apenas de leitura e escrita no banco de dados, exigindo que o modelo do banco de dados seja atualizado pelo administrador usando uma ferramenta de linha de comando

Operar com o usuário da aplicação sendo *owner* do aplicativo é mais simples, por isso essa é a opção sugerida na instalação padrão. Entretanto, conceder somente privilégios de leitura e escrita
garante ao administrador maior controle sobre o banco de dados. Se você preferir operar o Rest PKI Core sem privilégios de *owner* para o usuário da aplicação, siga os passos descritos nesse artigo.

> **Observação**
>
> Por ora só é possível utilizar um usuário com acesso limitado no SQL Server. Contate-nos se precisar executar o Rest PKI Core com PostgreSQL usando um usuário com
> acesso limitado.

## Criando credenciais de leitura e escrita

Crie o banco de dados normalmente conforme descrito na [preparação do banco de dados](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/prepare-database).

Em seguida, ao invés de criar um usuário chamado *RestPkiCoreAdmin* e associá-lo ao papel `db_owner`, crie um usuário limitado chamado **RestPkiCoreApp**
e associe-o apenas aos papeis `db_datareader` e `db_datawriter`:

```sql
USE master;
CREATE LOGIN RestPkiCoreApp WITH PASSWORD = 'XXXXXX';
GO

USE RestPkiCore;
CREATE USER RestPkiCoreApp FOR LOGIN RestPkiCoreApp;
EXEC sp_addrolemember 'db_datareader', 'RestPkiCoreApp';
EXEC sp_addrolemember 'db_datawriter', 'RestPkiCoreApp';
GO
```

A *connection string* seria, então:

```text
Data Source=.;Initial Catalog=RestPkiCore;User ID=RestPkiCoreApp;Password=XXXXX
```

> **Observação**
>
> Essa *connection string* presume que o servidor do banco de dados esteja instalado no mesmo servidor que o aplicativo da web. Se este não for o caso,
> o valor após `Data Source=` deve ser alterado.

## Desabilitando a atualização automática do banco de dados

Operar com o Rest PKI Core sem privilégios de *owner* sobre o banco de dados significa que a aplicação não será capaz de atualizar o banco por conta própria.
Por isso, é preciso desabilitar a atualização automática do banco de dados de modo a evitar erros setando o parâmetro `General__AutoUpdateDatabase` para
`False` no arquivo de configuração.

## Veja também

* [Comando `update-db`](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/tool/update-db)
* [Preparando o banco de dados para instalação do Rest PKI Core](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/prepare-database)
