¿Cómo puedo usar un certificado de cliente emitido por un tercero al configurar la autenticación TLS mutua para las API de API Gateway?

5 minutos de lectura
0

Quiero utilizar un certificado de cliente emitido por un tercero al configurar la autenticación mutua de seguridad de la capa de transporte (TLS) para las API de Amazon API Gateway.

Resolución

Para usar un certificado de cliente firmado por un tercero para API Gateway con autenticación TLS, siga estos pasos:

  1. Cree una tienda de confianza para usar el certificado firmado por terceros.
  2. Cree un nombre de dominio personalizado y un mapeo de API para su API de API Gateway.
  3. Cree un registro DNS para asignar el nombre de dominio personalizado a API Gateway.
  4. Inhabilite el punto de conexión predeterminado.
  5. Pruebe la API.

Nota:

Cree una tienda de confianza para usar el certificado firmado por terceros

1.    Genere un RootCA. El RootCA se utiliza para emitir el certificado de cliente.

openssl genrsa -out RootCA.key 4096  

openssl req -new -x509 -days 3650 -key RootCA.key -out RootCA.pem

2.    Rellene los campos obligatorios e introduzca el nombre de dominio.

3.    Cree una clave privada de certificado de cliente, una solicitud de firma de certificado (CSR) y un certificado de cliente.

openssl genrsa -out my_client.key 2048  

openssl req -new -key my_client.key -out my_client.csr

4.    Firme el certificado de cliente con la CA que creó anteriormente.

openssl x509 -req -in my_client.csr -CA RootCA.pem -CAkey RootCA.key -set_serial 01 -out my_client.pem -days 3650 -sha256

5.    Cree un bucket de Amazon Simple Storage Service (Amazon S3) para almacenar el archivo truststore.pem.

6.    Suba el archivo RootCA.pem al almacén de confianza del bucket de Amazon S3.

7.    (Opcional) Cree un archivo de cadena de certificados desde el certificado de entidad de certificación hasta la CA raíz.

Cat Intermediate.pem ca.pem >ca-chain.pem.

Para obtener más información, consulte Configuración de su tienda de confianza.

Cree un nombre de dominio personalizado y un mapeo de API para su API de API Gateway

Nota: Solo los certificados con un tamaño de clave de 2048 bits están visibles con API Gateway. El tamaño del certificado no puede superar los 2048 bits.

1.    Abra la consola de API Gateway y, a continuación, seleccione Nombres de dominio personalizados.

2.    En el caso de los Nombres de dominio, introduzca su nombre de dominio y, a continuación, seleccione Create (Crear).

3.    En Nombre de dominio, introduzca su nombre de dominio.

4.    Para la Versión mínima de TLS, elija TLS 1.2.

5.    Habilite la Autenticación TLS mutua.

6.    Para el URI de Truststore, introduzca el URI de Amazon S3 que creó anteriormente.

7.    Para la Configuración del punto de conexión, elija Regional.

8.    En Tipo de certificado, elija el tipo de certificado y, a continuación, elija Create domain name (Crear nombre de dominio).

9.    Elija su nombre de dominio personalizado y, a continuación, seleccione Configure API mappings (Configurar mapeos de API).

10.    Seleccione Add new mapping (Agregar nuevo mapeo).

11.    Seleccione la API, Stage (Etapa) y la Path (Ruta) para el mapeo y, a continuación, elija Save (Guardar).

Para obtener más información, consulte ¿Cómo puedo configurar un nombre de dominio personalizado para mi API de API Gateway?

Creación de un registro DNS para asignar el nombre de dominio personalizado a API Gateway

Cree un registro DNS para dirigir el nombre de dominio personalizado al nombre de dominio regional de API Gateway. Esto permite que el tráfico vinculado al nombre de dominio personalizado se dirija al nombre de host regional de la API. El registro DNS puede ser del tipo CNAME o «Alias A».

Para obtener más información, consulte Configurar la ruta 53 para enrutar el tráfico a un punto de conexión de API Gateway.

Deshabilitación del punto de conexión predeterminado

De forma predeterminada, los clientes pueden invocar las API mediante el punto de conexión execute-api que API Gateway genera para su API. Deshabilite el punto de conexión execute-api predeterminado para que los clientes puedan acceder a su API solo con un nombre de dominio personalizado.

Para las API HTTP, consulte Deshabilitar el punto de conexión predeterminado de una API HTTP.

Para las API REST, consulte Deshabilitar el punto de conexión predeterminado de una API REST.

Probar la API

Pruebe la API con los parámetros**--key** y --cert para enviar el certificado de cliente como parte de la solicitud.

$ curl -v https://{YourCustomDomainName}/{resource} --key my_client.key --cert my_client.pem

Nota: La clave privada my_client.key y el certificado de cliente my_client.pem deben incluirse para que la solicitud se realice correctamente.

Información relacionada

¿Cómo puedo solucionar los problemas de la cadena de certificados y los certificados autofirmados para Amazon API Gateway con los dominios personalizados y el TLS mutuo habilitados?

Presentamos la autenticación TLS mutua para Amazon API Gateway

¿Cómo soluciono los errores prohibidos de HTTP 403 de un nombre de dominio personalizado de API Gateway que requiere TLS mutuo?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año