

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

# Usar autenticação externa
<a name="external-authentication"></a>

Por padrão, a autenticação de cliente do Amazon DCV é delegada ao sistema operacional subjacente. Com os servidores Windows Amazon DCV, a autenticação é delegada a. WinLogon Com os servidores Amazon DCV Linux e macOS, a autenticação é delegada ao Linux PAM.

Você pode configurar o Amazon DCV para usar um servidor de autenticação externo para autenticar clientes. Isso permite que você use um sistema de autenticação atual. Com a autenticação externa, o Amazon DCV aproveita seus mecanismos de login existentes e delega a autenticação a um servidor de autenticação externo. 

A autenticação externa valida um usuário com acesso ao servidor DCV para permitir o uso da criação da sessão. Ela não autenticará seu usuário no sistema operacional subjacente, como faz a autenticação do **sistema**, a menos que você configure seu próprio autenticador externo para fazer isso.

O [gerenciador de sessões do DCV](https://docs.aws.amazon.com/dcv/latest/sm-admin/what-is-sm.html) vem com um autenticador externo incorporado. Para usar esse recurso, seus servidores DCV precisarão definir o [auth-token-verifier](https://docs.aws.amazon.com/dcv/latest/sm-admin/configure-dcv-server.html)parâmetro com o endereço do Gerenciador de Sessões.

Para usar um servidor de autenticação externo, é necessário ter o seguinte:
+ **Um mecanismo de login**: esse é o mecanismo de frontend que seus usuários usam para fazer login. Ele deve ser capaz de verificar seus usuários usando seu sistema de verificação de credenciais existente e deve ser capaz de gerar um token e fornecê-lo ao servidor Amazon DCV. Para obter mais informações, consulte [Usar o token](#using-token).
+ **Um servidor de autenticação**: esse é o servidor que autentica o token gerado pelo mecanismo de login. Esse servidor deve ser capaz de receber uma solicitação HTTP(S) POST do servidor Amazon DCV que inclua o token, realizar as autenticações necessárias e, em seguida, enviar a resposta de volta ao servidor Amazon DCV. Para mais informações sobre como implementar um servidor de autenticação, consulte [Requisitos do serviço de autenticação](#configure-authenticator).
+ **Configuração do servidor Amazon DCV**: o servidor Amazon DCV deve ser configurado para usar um servidor de autenticação externa. Para obter mais informações, consulte [Configuração do servidor Amazon DCV](#configure-server).

**Topics**
+ [Configuração do servidor Amazon DCV](#configure-server)
+ [Usar o token](#using-token)
+ [Requisitos do serviço de autenticação](#configure-authenticator)

## Configuração do servidor Amazon DCV
<a name="configure-server"></a>

Você deve configurar o servidor Amazon DCV para usar o serviço de autenticação externa.

------
#### [ Windows Amazon DCV server ]

**Para especificar um servidor de autenticação externa no Windows**

1. Abrir o Editor do Registro do Windows.

1. Navegue até a **chave HKEY\_USERS\\ S-1-5-18\\ Software\\\\ com\\nicesoftwareGSettings\\ dcv\\**.

1. Localize o **auth-token-verifier**parâmetro nos [Parâmetros de segurança](config-param-ref.md#security).

1. Execute um destes procedimentos:
   + Para **dados de valor**, insira o URL do servidor de autenticação externa e a porta de comunicação no seguinte formato: `{{url}}:{{port}}`.  
**Example**  

     Por exemplo, se você estiver usando o DcvSimpleExternalAuthenticator, especifique o seguinte:`{{http://127.0.0.1}}:{{8444}}`.
   + Se não houver nenhum **auth-token-verifier**parâmetro na seção de segurança, adicione-o no PowerShell. Consulte [Modificar parâmetros de configuração](https://docs.aws.amazon.com/dcv/latest/adminguide/config-param-ref-modify.html).

1. Feche o Editor de Registro do Windows.

1. [Interrompa](manage-stop.md) e [reinicie](manage-start.md) o servidor Amazon DCV.

------
#### [ Linux Amazon DCV server ]

**Para especificar um servidor de autenticação externa no Linux**

1. Navegue até `/etc/dcv/` e abra o `dcv.conf` com seu editor de texto escolhido.

1. Localize o parâmetro `auth-token-verifier` na seção `[security]` e substitua o valor existente pelo URL do servidor de autenticação externa e a porta pela qual se comunicar, no seguinte formato: `{{url}}:{{port}}`. Por exemplo, se você estiver usando o DcvSimpleExternalAuthenticator, especifique o seguinte:`{{http://127.0.0.1}}:{{8444}}`.

   Se não houver um parâmetro `auth-token-verifier` na seção `[security]`, adicione-o usando o formato a seguir:

   ```
   [security] auth-token-verifier={{url}}:{{port}}
   ```

1. Salve e feche o arquivo.

------
#### [ macOS Amazon DCV server ]

**Para especificar um servidor de autenticação externo no macOS**

1. Navegue até `/etc/dcv/` e abra o `dcv.conf` com seu editor de texto escolhido.

1. Localize o parâmetro `auth-token-verifier` na seção `[security]` e substitua o valor existente pelo URL do servidor de autenticação externa e a porta pela qual se comunicar, no seguinte formato: `{{url}}:{{port}}`. Por exemplo, se você estiver usando o DcvSimpleExternalAuthenticator, especifique o seguinte:`{{http://127.0.0.1}}:{{8444}}`.

   Se não houver um parâmetro `auth-token-verifier` na seção `[security]`, adicione-o usando o formato a seguir:

   ```
   [security] auth-token-verifier={{url}}:{{port}}
   ```

1. Salve e feche o arquivo.

------

## Usar o token
<a name="using-token"></a>

Depois de gerar o token, você poderá enviá-lo ao servidor Amazon DCV. Com o cliente do navegador da Web, anexe o token ao URL de conexão da seguinte forma:

```
https://{{server_hostname_or_IP}}:{{port}}/?authToken={{token}}#{{session_id}}
```

Por exemplo:

```
https://my-dcv-server.com:8443/?authToken=1234567890abcdef#my-session
```

## Requisitos do serviço de autenticação
<a name="configure-authenticator"></a>

Seu serviço de autenticação personalizado pode ser executado no mesmo host do servidor Amazon DCV ou em um host separado. O serviço de autenticação deve receber as solicitações HTTP(S) POST do servidor Amazon DCV.

Confira a seguir o formato de solicitação POST usado pelo servidor Amazon DCV.

```
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
sessionId={{session_id}}&authenticationToken={{token}}&clientAddress={{client_address}}
```

Seu serviço de autenticação é responsável por determinar se o token fornecido é válido.

Depois que o token for validado, o servidor de autenticação deverá retornar a resposta ao servidor Amazon DCV. O corpo da resposta precisa incluir uma das seguintes opções, dependendo do resultado do processo de autenticação:
+ Se a autenticação for bem-sucedida, o serviço de autenticação retornará um resultado `yes` e um identificador de usuário. Por exemplo:

  ```
  <auth result="yes"><username>{{username}}</username></auth>
  ```
+ Se a autenticação falhar, o serviço de autenticação retornará um resultado `no`. Por exemplo:

  ```
  <auth result="no"><message>{{message}}</message></auth>
  ```

### DcvSimpleExternalAuthenticator
<a name="simple-auth"></a>

O Amazon DCV é fornecido com um servidor de autenticação externa de referência chamado,`DcvSimpleExternalAuthenticator`. DcvSimpleExternalAuthenticator é um único script Python que você pode usar como ponto de partida para criar seu próprio servidor de autenticação personalizado.

DcvSimpleExternalAuthenticator O servidor suporta HTTP e HTTPS e deve ser executado no mesmo servidor em que o servidor Amazon DCV está instalado. Por padrão, ele DcvSimpleExternalAuthenticator escuta as solicitações na porta`8444`. Você pode alterar a porta, se necessário. Para fazer isso, abra `/etc/dcv/simpleextauth.conf` com seu editor de texto preferido, localize o parâmetro `EXTAUTH_PORT` e substitua o valor atual pelo número da porta necessário.

Para usar DcvSimpleExternalAuthenticator, você deve instalar o `nice-dcv-simple-external-authenticator` pacote. Para obter mais informações, consulte [Instalar o servidor Amazon DCV](setting-up-installing-linux-server.md#linux-server-install).

### Usar o autenticador externo simples
<a name="usage"></a>



1. Navegue até o diretório de autenticação.

   `sudo mkdir -p /var/run/dcvsimpleextauth`

1. Gere seu token de autenticação.  
**Example**  

   Neste exemplo, `123456` é o exemplo de token do autenticador, `session-123` é o ID da sessão de amostra e `username` é o usuário.

   `echo "123456" | sudo dcvsimpleextauth add-user --session session-123 --auth-dir /var/run/dcvsimpleextauth/ --user username --append` 

1. Inicie seu servidor.

   `sudo dcvsimpleextauth --port 8444 --auth-dir /var/run/dcvsimpleextauth/ start-server`

1. Quando o servidor estiver em execução, teste a configuração para fins de validação.  
**Example**  

   Mais uma vez, usando esse exemplo, o teste seria executado da seguinte forma:

   `curl -k http://localhost:8444 -d sessionId=session-123 -d authenticationToken=123456`

   Se for bem-sucedido, você receberá um resultado de autenticação de `yes`.