

# Configurar chaves de API para a API REST no API Gateway
<a name="api-gateway-setup-api-keys"></a>

Para configurar as chaves de API, faça o seguinte:
+ Configure métodos de API para exigir uma chave de API.
+ Crie ou importe uma chave de API para a API em uma região.

Antes de configurar chaves de API, é necessário ter criado a API e tê-la implantado em uma etapa. Depois que um valor de chave de API for atribuído, ele não poderá ser alterado.

Para obter instruções sobre como criar e implantar uma API usando o console do API Gateway, consulte [Desenvolver APIs REST no API Gateway](rest-api-develop.md) e [Implantar APIs REST no API Gateway](how-to-deploy-api.md), respectivamente.

Depois de criar uma chave de API, você deve associá-la a um plano de uso. Para obter mais informações, consulte [Configurar planos de uso para APIs REST no API Gateway](api-gateway-create-usage-plans.md).

**nota**  
Para ver as práticas recomendadas a serem consideradas, consulte [Práticas Recomendadas para chaves de API e planos de uso](api-gateway-api-usage-plans.md#apigateway-usage-plans-best-practices).

**Topics**
+ [Exigir uma chave de API em um método](#api-gateway-usage-plan-configure-apikey-on-method)
+ [Criar uma chave de API](#api-gateway-usage-plan-create-apikey)
+ [Importar chaves de API](#api-gateway-usage-pan-import-apikey)

## Exigir uma chave de API em um método
<a name="api-gateway-usage-plan-configure-apikey-on-method"></a>

O procedimento a seguir descreve como configurar um método de API para exigir uma chave de API.

------
#### [ Console de gerenciamento da AWS ]

**Para configurar um método de API para exigir uma chave de API**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Escolha uma API REST.

1. No painel de navegação principal do API Gateway, escolha **Resources (Recursos)**.

1. Em **Resources (Recursos)**, crie um novo método ou escolha um existente.

1. Na guia **Solicitação de método**, em **Configurações de solicitação de método**, escolha **Editar**.  
![\[Adicionar uma chave de API a um método\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/api-gateway-new-console-add-key-to-method.png)

1. Selecione a **Chave de API obrigatória**.

1. Escolha **Salvar**.

1. Implante ou reimplante a API para que o requisito entre em vigor.

Se a opção **Chave de API obrigatória** estiver definida como `false` e você não executar as etapas anteriores, nenhuma chave de API associada a um estágio de API será usada para o método.

------
#### [ AWS CLI ]

O comando [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) indicado abaixo cria um método `PUT` que exige uma chave de API:

```
aws apigateway put-method \
    --rest-api-id 1234123412 \
    --resource-id a1b2c3 \
    --http-method PUT \
    --authorization-type "NONE" \
    --api-key-required
```

O comando [update-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-method.html) indicado abaixo atualiza um método existente para exigir uma chave de API:

```
aws apigateway update-method \
    --rest-api-id 1234123412 \
    --resource-id a1b2c3 \
    --http-method PUT \
    --patch-operations op="replace",path="/apiKeyRequired",value="true"
```

------
#### [ REST API ]

Para exigir uma chave de API em um método, siga um destes procedimentos:
+ Chame [https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html](https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html) para criar um método. Defina `apiKeyRequired` como `true` na carga da solicitação.
+ Chame [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html) para definir `apiKeyRequired` como `true`.

------

## Criar uma chave de API
<a name="api-gateway-usage-plan-create-apikey"></a>

O procedimento a seguir mostra como criar uma chave de API. Se você quiser importar a chave de API, ignore esta etapa.

------
#### [ Console de gerenciamento da AWS ]

**Para criar uma chave de API**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Escolha uma API REST.

1. No painel de navegação principal do API Gateway, escolha **Chaves de API**.

1. Escolha **Criar chave de API**.  
![\[Criar chaves de API para planos de uso\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/api-gateway-new-console-usage-plan-keys-choose-create-api-key-from-actions-menu.png)

1. Em **Nome**, insira um nome.

1. (Opcional) Em **Description (Descrição)**, insira uma descrição.

1. Em **Chave de API**, escolha **Gerar automaticamente** para que o API Gateway gere o valor da chave ou escolha **Personalizado** para criar seu próprio valor de chave.

1. Escolha **Salvar**.

------
#### [ AWS CLI ]

O comando [create-api-key](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-api-key.html) indicado abaixo cria uma chave de API:

```
 aws apigateway create-api-key \
    --name 'Dev API key' \
    --description 'API key for Devs' \
    --enabled
```

------
#### [ REST API ]

Chame [https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html) para criar uma chave de API.

------

## Importar chaves de API
<a name="api-gateway-usage-pan-import-apikey"></a>

O procedimento a seguir descreve como importar chaves de API. Se você já tiver criado uma chave de API, ignore esta etapa.

------
#### [ Console de gerenciamento da AWS ]

**Para importar chaves de API**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Escolha uma API REST.

1. No painel de navegação principal, selecione **Chaves de API**.

1. Selecione o menu suspenso **Ações** e **Importar chaves de API**. 

1. Para carregar um arquivo de chave separado por vírgula, selecione **Escolher arquivo**. Você também pode inserir as chaves no editor de texto. Para obter informações sobre o formato do arquivo, consulte [Formato de arquivo da chave de API do API Gateway](api-key-file-format.md).

1. Escolha **Falhar nos avisos** para interromper a importação em caso de erro ou escolha **Ignorar avisos** para continuar a importar entradas de chave válidas quando houver um erro.

1. Escolha **Importar** para importar as chaves de API.

------
#### [ AWS CLI ]

O comando [import-api-keys](https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-api-keys.html) indicado abaixo importa uma chave de API:

```
aws apigateway import-api-key \
    a--body fileb://keys.csv \
    --format csv
```

------
#### [ REST API ]

Chame [https://docs.aws.amazon.com/apigateway/latest/api/API_ImportApiKeys.html](https://docs.aws.amazon.com/apigateway/latest/api/API_ImportApiKeys.html) para importar uma chave de API de um arquivo. Para saber o formato de arquivo, consulte [Formato de arquivo da chave de API do API Gateway](api-key-file-format.md).

------

Não é possível alterar o valor da nova chave de API. Depois de criar a API, configure um plano de uso. Para obter mais informações, consulte [Configurar planos de uso para APIs REST no API Gateway](api-gateway-create-usage-plans.md).