---
title: "Instalação do GrantID em Windows Server"
description: "Instalação do GrantID em Windows Server: passos de setup do IIS e do .NET Core; a documentação desta página ainda está em construção."
canonical: "https://docs.lacunasoftware.com/articles/grant-id/on-premises/windows"
locale: "pt-BR"
product: "GrantID"
last_updated: "2026-10-12"
---

# Instalação do GrantID em Windows Server

> **Observação**
>
> A documentação deste sistema encontra-se em construção. Pedimos desculpas pela inconveniência. Por favor, contate-nos caso
> precise de alguma informação que ainda não está documentada.

## Setup do IIS

1. Abra o **Gerenciador do Servidor** e selecione a opção **Adicionar Funções e Recursos**:
![Adicionar Funções e Recursos](https://docs.lacunasoftware.com/images/grant-id/add-roles.png)
1. Na seção **Funções de Servidor**, selecione **Servidor Web (IIS)**:
![Funções de Servidor](https://docs.lacunasoftware.com/images/grant-id/server-roles.png)
1. Na seção **Serviços de Função**, selecione os serviços desejados ou aceite as opções padrão:
![Serviços de Função](https://docs.lacunasoftware.com/images/grant-id/role-services.png)
1. Abra o **Gerenciador do IIS (Serviços de Informações da Internet)** e remova o **Default Web Site**:
![Remover o site padrão](https://docs.lacunasoftware.com/images/grant-id/remove-default-website.png)

## Setup do .NET Core

1. Baixe e instale o [Microsoft Visual C++ 2015 Redistributable package](https://www.microsoft.com/en-us/download/details.aspx?id=48145)
1. Baixe e instale o [NET 8.0 Hosting Bundle](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-8.0.15-windows-hosting-bundle-installer).
Se a opção de instalação não for exibida, escolha a opção de reparo.
1. (Somente para Windows Server 2012 ou anterior) Baixe e instale o [Windows Management Framework (WMF) 5.1](https://go.microsoft.com/fwlink/?linkid=839516)

> **Aviso**
>
> Depois que a instalação for concluída, o servidor precisa ser reiniciado.

## Visão geral do pacote de instalação

Um pacote de instalação chamado `grantid-<version_number>.zip` será disponibilizado sempre que você precisar instalar ou atualizar o GrantID.

O GrantID é composto de 3 componentes:

1. **IdentityService**: serviço REST que precisa ter acesso a um banco de dados SQL Server.
1. **AuthServer**: servidor de autorização OAuth 2.0 e OpenID Connect.
1. **Console**: interface de console para configurar as aplicações.

Os componentes podem ser instalados em servidores diferentes ou no mesmo servidor, conforme a sua necessidade, desde que os seguintes requisitos sejam atendidos:

* O AuthServer precisa ter acesso de rede ao IdentityService.
* O Console precisa ter acesso de rede ao IdentityService. Ele não precisa de acesso de rede explícito ao AuthServer, mas pode redirecionar um usuário para ele, já que todos os logins e cadastros são tratados pelo AuthServer.
* O IdentityService precisa ser atualizado antes dos outros dois componentes, já que eles dependem das APIs dele.

Estrutura de pastas do pacote:

* **Tools**: contém binários que podem ser usados para gerar certificados e chaves. **Requer o [NET Framework 4.5.2](https://www.microsoft.com/download/details.aspx?id=42642) para ser executado**.
* **Keys**: contém o certificado e a chave de desenvolvimento.
* **Config**: contém os arquivos de configuração usados para configurar os componentes.
* **Components**: contém os binários de todos os componentes.

## Instruções de instalação

Comece criando um diretório de trabalho, por exemplo: `C:\GrantId-Install`.

Descompacte o pacote de instalação na raiz do diretório de trabalho (ele já contém uma pasta chamada `grantid`). Se já houver arquivos de instalações anteriores, sobrescreva-os (veja as [Instruções de atualização](https://docs.lacunasoftware.com/articles/grant-id/on-premises/windows#instruções-de-atualização)).

Ao instalar em um ambiente de produção pela primeira vez, você precisa gerar um certificado e uma chave para o seu ambiente.

### Gerando os arquivos de certificado e de chave

O certificado `GrantID.pfx` será usado para assinar os tokens de aplicação emitidos pelo GrantID. Para gerar um novo certificado:

```ps
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=<certificate_name>" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.1") -KeyUsage DigitalSignature, KeyEncipherment -KeyAlgorithm RSA -KeyLength 4096 -CertStoreLocation "Cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(100).AddHours(-5)
$pass = ConvertTo-SecureString -String "pass" -Force -AsPlainText
Export-PfxCertificate -Cert ("Cert:\CurrentUser\My\" + $cert.Thumbprint) -Password $pass -FilePath .\GrantId.pfx
Get-ChildItem ("Cert:\CurrentUser\My\" + $cert.Thumbprint) | Remove-Item
```

   Exemplo:

```ps
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=GrantID" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.1") -KeyUsage DigitalSignature, KeyEncipherment -KeyAlgorithm RSA -KeyLength 4096 -CertStoreLocation "Cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(100).AddHours(-5)
$pass = ConvertTo-SecureString -String "pass" -Force -AsPlainText
Export-PfxCertificate -Cert ("Cert:\CurrentUser\My\" + $cert.Thumbprint) -Password $pass -FilePath .\GrantId.pfx
Get-ChildItem ("Cert:\CurrentUser\My\" + $cert.Thumbprint) | Remove-Item
```

Mova o arquivo gerado para o diretório Keys.

O `key.xml` é usado para proteger os cookies e os secrets gerados pelo GrantID. Navegue até o diretório `Tools` usando o PowerShell como administrador e execute o comando:

```ps
.\grantid.exe genkey [output_directory]
```

   Exemplo:

```ps
.\grantid.exe genkey
```

Mova o arquivo gerado para o diretório Keys.

### Configurando os componentes

Antes de publicar de fato os componentes, revise e configure cada um deles.

Navegue até o diretório `Config`. Se você estiver instalando pela primeira vez, todos os arquivos terão o sufixo `-Sample`.

Para cada componente (e para os arquivos comuns):

> **Observação**
>
> Se você já tem arquivos XML e JSON sem o sufixo `-Sample` para aquele componente, basta revisar ou atualizar as configurações nesses arquivos e pular os dois passos seguintes.

1. Remova o sufixo `-Sample` do arquivo XML do componente. Esse arquivo contém configurações relativas ao site do IIS que será criado para a aplicação. Edite o arquivo de acordo com as suas preferências.
1. Remova o sufixo `-Sample` do arquivo JSON do componente. Esse arquivo contém as configurações do componente, como o caminho do arquivo de log, connection strings etc. (veja o [guia do arquivo de configuração](https://docs.lacunasoftware.com/articles/grant-id/on-premises/windows#configurando-os-componentes)). Edite o arquivo de acordo com as suas preferências.

### Publicando os componentes

Antes de publicar os componentes, pode ser necessário permitir a execução de scripts do PowerShell com o seguinte comando:

```ps
Set-ExecutionPolicy Bypass -Scope LocalMachine
```

Depois que os arquivos de configuração de todos os componentes estiverem prontos, você pode publicar um componente executando o script de instalação dele no PowerShell como administrador:

```ps
.\Install-<component>.ps1 
```

* O script mostra as configurações definidas na pasta Config e pergunta ao usuário se ele quer continuar. Você pode pular essa verificação com o argumento `NoPrompt`, assim:

```ps
.\Install-<component>.ps1 NoPrompt
```

Sempre comece publicando o IdentityService, depois o AuthServer e, por fim, o Console:

```ps
.\Install-IdentityService.ps1 
.\Install-AuthServer.ps1 
.\Install-Console.ps1 
```

Depois que todos os componentes estiverem instalados, configure os bindings de SSL de cada aplicação do IIS (se necessário).

Depois que o AuthServer estiver instalado e os bindings configurados, pode ser necessário dar ao pool de aplicativos do AuthServer acesso total ao certificado do GrantID:

1. Abra **Gerenciar certificados do computador**.
1. Clique com o botão direito no certificado e selecione **Todas as Tarefas → Gerenciar Chaves Privadas…**.
1. Digite IIS AppPool\AuthServer_App e clique em **OK**.
1. Certifique-se de que **Controle total** esteja selecionado e clique em **Aplicar** e depois em **OK**.

## Instruções de atualização

Descompacte o novo pacote de instalação na raiz do diretório de trabalho e sobrescreva todos os arquivos.

Suas configurações permanecerão inalteradas, porque o novo pacote de instalação não contém arquivos sem o sufixo `-Sample`.

Verifique os arquivos de configuração de todos os componentes na pasta `Config`. Você pode consultar os arquivos com o sufixo `-Sample` para identificar configurações adicionadas ou removidas.

Execute o script de instalação de cada componente, como mostrado na seção Publicando os componentes.

## Resolução de problemas

Se você encontrar um erro de acesso negado a uma chave do registro, como o mostrado abaixo:

```text
System.UnauthorizedAccessException: Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\GrantID\Keys' is denied.
``` 

Verifique se as identidades dos pools de aplicativos do IIS de todos os módulos receberam a permissão **Controle total** na chave do registro:

1. Abra o **Editor do Registro**.
1. Navegue até a pasta `Computer\HKEY_LOCAL_MACHINE\SOFTWARE\GrantID\Keys` e clique na opção **Permissões...**.
1. Verifique se todas as identidades dos pools de aplicativos do IIS (`IIS AppPool\AuthServer_App`, `IIS AppPool\IdentityService_App` e `IIS AppPool\Console_App`) têm a permissão **Controle total**. Se faltar alguma, adicione-a.
1. Reinicie os sites do IIS correspondentes, se alguma identidade estava faltando.
