

# Configuración de claves API para API de REST en API Gateway
<a name="api-gateway-setup-api-keys"></a>

Para configurar las claves de API, haga lo siguiente:
+ Configure los métodos de la API para que exijan una clave de API.
+ Cree o importe una clave de API para la API de una región.

Antes de configurar las claves de API, debe haber creado una API y haberla implementado hasta una fase. Después de crear un valor de clave de API, no se puede cambiar.

Para obtener instrucciones acerca de cómo crear e implementar una API a través de la consola de API Gateway, consulte [Desarrollo de las API de REST en API Gateway](rest-api-develop.md) y [Implementación de las API de REST en API Gateway](how-to-deploy-api.md), respectivamente.

Después de crear una clave de API, debe asociarla al plan de uso. Para obtener más información, consulte [Configuración de planes de uso para API de REST en API Gateway](api-gateway-create-usage-plans.md).

**nota**  
Para conocer las prácticas recomendadas a tener en cuenta, consulte [Prácticas recomendadas para claves de API y planes de uso](api-gateway-api-usage-plans.md#apigateway-usage-plans-best-practices).

**Topics**
+ [Exigir una clave de API en un método](#api-gateway-usage-plan-configure-apikey-on-method)
+ [Crear una clave de API](#api-gateway-usage-plan-create-apikey)
+ [Importar claves de API](#api-gateway-usage-pan-import-apikey)

## Exigir una clave de API en un método
<a name="api-gateway-usage-plan-configure-apikey-on-method"></a>

El siguiente procedimiento describe cómo configurar un método de API para exigir una clave de API.

------
#### [ Consola de administración de AWS ]

**Para configurar un método de API para exigir una clave de API**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elija una API de REST.

1. En el panel de navegación principal de API Gateway, elija **Resources (Recursos)**.

1. En **Resources (Recursos)**, cree un método nuevo o elija uno existente.

1. En la pestaña **Solicitud de método**, en **Configuración de solicitud de método**, elija **Editar**.  
![\[Agregación de una clave de API a un método\]](http://docs.aws.amazon.com/es_es/apigateway/latest/developerguide/images/api-gateway-new-console-add-key-to-method.png)

1. Seleccione **Clave de API obligatoria**.

1. Seleccione **Save**.

1. Implemente o redistribuya la API para que el requisito surta efecto.

Si la opción **Clave de API obligatoria** está establecida en `false` y no realiza los pasos anteriores, las claves de API asociadas a una etapa de API no se usarán con el método.

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

El siguiente comando [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) crea un método `PUT` que requiere una clave de API:

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

El siguiente comando [update-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-method.html) actualiza un método existente para que requiera una clave 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 una clave de API en un método, realice alguna de las siguientes operaciones:
+ Llame a [https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html](https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html) para crear un método. Establezca `apiKeyRequired` en `true` en la carga de la solicitud.
+ Llame a [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html) para establecer `apiKeyRequired` en `true`.

------

## Crear una clave de API
<a name="api-gateway-usage-plan-create-apikey"></a>

El procedimiento siguiente muestra cómo crear una clave de API. Si desea importar la clave de API, omita este paso.

------
#### [ Consola de administración de AWS ]

**Para crear una clave de API**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elija una API de REST.

1. En el panel de navegación principal de API Gateway, elija **Claves de API**.

1. Elija **Crear clave de la API**.  
![\[Crear claves de API para planes de uso\]](http://docs.aws.amazon.com/es_es/apigateway/latest/developerguide/images/api-gateway-new-console-usage-plan-keys-choose-create-api-key-from-actions-menu.png)

1. En **Nombre**, ingrese un nombre.

1. (Opcional) En **Description (Descripción)**, introduzca una descripción.

1. En **Clave de API**, elija **Generar automáticamente** para que API Gateway genere el valor de la clave o elija **Personalizar** para crear su propio valor de la clave.

1. Seleccione **Save**.

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

El siguiente comando [create-api-key](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-api-key.html) crea una clave de API:

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

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

Llame a [https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html) para crear una clave de API.

------

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

En el procedimiento siguiente se describe cómo importar claves de API. Si ya ha creado una clave de API, omita este paso.

------
#### [ Consola de administración de AWS ]

**Para importar claves de API**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elija una API de REST.

1. En el panel de navegación principal, elija **Claves de API**.

1. Elija el menú desplegable **Acciones** y, a continuación, elija **Importar claves de API**. 

1. Para cargar un archivo de claves separado por comas, elija **Elegir archivo**. También puede ingresar las claves en el editor de texto. Para obtener información sobre el formato de los archivos, consulte [Formato de archivo de clave de API de API Gateway](api-key-file-format.md).

1. Elija **Error en advertencias** para que la importación se detenga cuando se produzca un error o elija **Omitir advertencias** para que se sigan importando las entradas de clave válidas cuando se produzca una advertencia.

1. Elija **Importar** para importar las claves de API.

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

El siguiente comando [import-api-keys](https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-api-keys.html) importa una clave de API:

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

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

Llame a [https://docs.aws.amazon.com/apigateway/latest/api/API_ImportApiKeys.html](https://docs.aws.amazon.com/apigateway/latest/api/API_ImportApiKeys.html) para importar una clave de API desde un archivo. Para el formato de archivo, consulte [Formato de archivo de clave de API de API Gateway](api-key-file-format.md).

------

No se puede cambiar el valor de la nueva clave de API. Después de crear la API, configure un plan de uso. Para obtener más información, consulte [Configuración de planes de uso para API de REST en API Gateway](api-gateway-create-usage-plans.md).