

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Acceder AWS Key Management Service
<a name="accessing-kms"></a>

Puede trabajar con él AWS KMS de las siguientes maneras:

**Topics**
+ [Consola de administración de AWS](#kms-console)
+ [AWS Command Line Interface](#kms-cli)
+ [AWS KMS REST API](#kms-api)
+ [AWS SDKs](#kms-sdk)
+ [Uso de este servicio con un AWS SDK](sdk-general-information-section.md)
+ [AWS Encryption SDK](#crypto-sdk)
+ [AWS KMS coherencia eventual](#programming-eventual-consistency)
+ [Uso de TLS poscuántico híbrido con AWS KMS](pqtls.md)
+ [Conéctese a AWS KMS través de un punto final de VPC](kms-vpc-endpoint.md)
+ [Compatibilidad con puntos de conexión de doble pila](ipv6-kms.md)

## Consola de administración de AWS
<a name="kms-console"></a>

La consola es una interfaz de usuario basada en la web para la administración de AWS KMS los AWS recursos. Si te has registrado en una Cuenta de AWS, puedes acceder a la AWS KMS consola iniciando sesión en la página AWS KMS de Consola de administración de AWS inicio Consola de administración de AWS y eligiendo una opción.

### Permisos necesarios para usar la AWS KMS consola
<a name="console-permissions"></a>

Para trabajar con la AWS KMS consola, los usuarios deben tener un conjunto mínimo de permisos que les permita trabajar con AWS KMS los recursos de la que disponen Cuenta de AWS. Además de estos permisos de AWS KMS , los usuarios también deben disponer de permisos para enumerar usuarios de IAM y los roles de IAM. Si crea una política de IAM que sea más restrictiva que el mínimo de permisos necesarios, la consola de AWS KMS no funcionará del modo esperado para los usuarios con esa política de IAM.

Para conocer los permisos mínimos necesarios para permitir a un usuario acceso de solo lectura a la consola de AWS KMS , consulte [Permita que un usuario vea las claves de KMS en la AWS KMS consola](customer-managed-policies.md#iam-policy-example-read-only-console).

Para permitir que los usuarios trabajen con la AWS KMS consola para crear y administrar las claves de KMS, adjunte la política **AWSKeyManagementServicePowerUser**administrada al usuario, tal y como se describe en[AWS políticas gestionadas para AWS Key Management Service](security-iam-awsmanpol.md).

No es necesario que concedas permisos mínimos de consola a los usuarios que trabajan con la AWS KMS API a través de [AWS SDKs[AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/)](https://aws.amazon.com/tools/#sdk), o [Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/). Sin embargo, es necesario conceder permiso a estos usuarios para utilizar la API. Para obtener más información, consulte [Referencia de permisos](kms-api-permissions-reference.md).

## AWS Command Line Interface
<a name="kms-cli"></a>

Puede usar las AWS CLI herramientas para emitir comandos o crear scripts en la línea de comandos de su sistema para realizar AWS (incluidas AWS KMS) tareas. 

Para obtener más información sobre el AWS KMS uso de AWS CLI, consulte la [Referencia de AWS CLI comandos](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kms/index.html)

## AWS KMS REST API
<a name="kms-api"></a>

 La arquitectura de AWS KMS está diseñada para ser neutral en cuanto al lenguaje de programación. REST APIEs una interfaz HTTP para. AWS KMS Con la REST API, puede utilizar solicitudes HTTP estándar para crear, recuperar y eliminar claves. 

 Para obtener más información sobre el uso de AWS KMS REST API, consulte la [referencia de la AWS Key Management Service API](https://docs.aws.amazon.com/kms/latest/APIReference/Welcome.html)

## AWS SDKs
<a name="kms-sdk"></a>

AWS proporciona SDKs (kits de desarrollo de software) que constan de bibliotecas y código de muestra para plataformas y lenguajes de programación comunes (Java JavaScript, C, Python, etc.). AWS SDKs Proporcionan una forma cómoda de crear un acceso programático a AWS KMS y AWS. AWS KMS es un REST servicio. Puedes enviar solicitudes a AWS KMS través de las bibliotecas del AWS SDK, que agrupan las tareas subyacentes AWS KMS REST API y simplifican tus tareas de programación. Para obtener información sobre ellas AWS SDKs, incluida la forma de descargarlas e instalarlas, consulta [Herramientas sobre las que basarse AWS](https://aws.amazon.com/developer/tools).

[Ejemplos de código para AWS KMS usar AWS SDKs](service_code_examples.md)Proporciona un buen punto de partida para su uso AWS KMS a través del AWS SDKs.

# Uso de este servicio con un AWS SDK
<a name="sdk-general-information-section"></a>

AWS Los kits de desarrollo de software (SDKs) están disponibles para muchos lenguajes de programación populares. Cada SDK proporciona una API, ejemplos de código y documentación que facilitan a los desarrolladores la creación de aplicaciones en su lenguaje preferido.


| Documentación de SDK | Ejemplos de código | 
| --- | --- | 
| [AWS SDK para C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK para C\$1\$1 ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI ejemplos de código](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK para Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK para Go ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK para Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK para Java ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK para JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK para JavaScript ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK para Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK para Kotlin ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK para .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK para .NET ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK para PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK para PHP ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell) | [Herramientas de AWS para PowerShell ejemplos de código](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK para Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK para Python (Boto3) ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK para Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK para Ruby ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK para Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK para Rust ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK para SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK para SAP ABAP ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK para Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK para Swift ejemplos de código](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

**Ejemplo de disponibilidad**  
¿No encuentra lo que necesita? Solicite un ejemplo de código a través del enlace de **Enviar comentarios** que se encuentra al final de esta página.

## AWS Encryption SDK
<a name="crypto-sdk"></a>

 AWS Encryption SDK Es una herramienta para implementar el cifrado del lado del cliente en su aplicación. No proporciona acceso completo a KMS, sino que se integra con AWS KMS el SDK independiente o se puede usar como un SDK independiente sin hacer referencia a las claves de KMS. Hay bibliotecas disponibles para Java JavaScript, C, Python y otros lenguajes de programación. 

Para obtener más información, consulte la [Guía para desarrolladores de AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html).

AWS KMS key políticas y políticas de IAM

## AWS KMS coherencia eventual
<a name="programming-eventual-consistency"></a>

La AWS KMS API sigue un modelo de [coherencia eventual](https://en.wikipedia.org/wiki/Eventual_consistency) debido a la naturaleza distribuida del sistema. Como resultado, es posible que los cambios en AWS KMS los recursos no se vean inmediatamente en los siguientes comandos que ejecute. 

Al realizar llamadas a la AWS KMS API, es posible que se produzca un breve retraso antes de que el cambio esté disponible en todo momento AWS KMS. Por lo general, el cambio tarda menos de unos segundos en propagarse por todo el sistema, pero en algunos casos puede tardar varios minutos. Es posible que se produzcan errores inesperados, como un error `NotFoundException` o `InvalidStateException`, en este periodo de tiempo. Por ejemplo, AWS KMS puede devolver un `NotFoundException` si llamas `GetParametersForImport` inmediatamente después de llamar`CreateKey`.

Le recomendamos que configure una estrategia de reintentos en sus AWS KMS clientes para reintentar automáticamente las operaciones tras un breve período de espera. Para obtener más información, consulte el [comportamiento de los reintentos](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) en la Guía de referencia de herramientas AWS SDKs y herramientas.

En el caso de las llamadas a la API relacionadas con las concesiones, puede [utilizar un token de concesión](using-grant-token.md) para evitar posibles demoras y utilizar los permisos de una concesión de forma inmediata. Para obtener más información, consulte [Eventual consistency (for grants)](grants.md#terms-eventual-consistency).

# Uso de TLS poscuántico híbrido con AWS KMS
<a name="pqtls"></a>

AWS Key Management Service (AWS KMS) admite una opción híbrida de intercambio de claves poscuántico para el protocolo de cifrado de red Transport Layer Security (TLS). Puede utilizar esta opción de TLS cuando se conecte a los puntos de conexión de la API de AWS KMS . Estas características opcionales de intercambio híbrido postcuántico de claves son al menos tan seguras como el cifrado TLS que utilizamos hoy en día y es muy probable que aporten beneficios de seguridad adicionales. Sin embargo, afectan a la latencia y a la velocidad si las comparamos con los protocolos clásicos de intercambio de claves que se utilizan hoy en día.

Los datos que envíes a AWS Key Management Service (AWS KMS) están protegidos en tránsito mediante el cifrado que proporciona una conexión de Transport Layer Security (TLS). Los conjuntos de cifrado clásicos que AWS KMS admite para las sesiones de TLS convierten en inviables los ataques de fuerza bruta en los mecanismos de intercambio de claves con la tecnología actual. Sin embargo, si la informática cuántica a gran escala tiene efectos prácticos en el futuro, los conjuntos de cifrado clásicos utilizados en los mecanismos de intercambio de claves TLS serán susceptibles a estos ataques. Si está desarrollando aplicaciones que se basan en la confidencialidad a largo plazo de los datos que se transmiten a través de una conexión TLS, debería plantearse un plan para migrar a la criptografía poscuántica antes de que se puedan utilizar ordenadores cuánticos a gran escala. AWS está trabajando para prepararse para este futuro y queremos que usted también esté bien preparado.

*Para proteger los datos cifrados hoy contra posibles ataques futuros, AWS participa con la comunidad criptográfica en el desarrollo de algoritmos cuánticos resistentes o poscuánticos.* Hemos implementado conjuntos de cifrado *híbridos* de intercambio de claves poscuántico AWS KMS que combinan elementos clásicos y poscuánticos para garantizar que su conexión TLS sea al menos tan sólida como lo sería con los conjuntos de cifrado clásicos.

[En la mayoría de los casos, estos conjuntos de cifrado híbridos están disponibles para su uso en sus cargas de trabajo de producción. Regiones de AWS](#pqtls-regions) Sin embargo, dado que las características de rendimiento y los requisitos de ancho de banda de los conjuntos de cifrado híbridos son diferentes de los de los mecanismos de intercambio de claves clásicos, le recomendamos que [los pruebe en sus llamadas a la AWS KMS API en](pqtls-how-to.md#pqtls-testing) diferentes condiciones. 

**Comentarios**

Como siempre, agradecemos sus comentarios y su participación en nuestros repositorios de código abierto. Nos gustaría especialmente saber cómo interactúa su infraestructura con esta nueva variante del tráfico TLS. 
+ Para proporcionar comentarios sobre este tema, utilice el enlace **Feedback** (Comentarios) situado en la esquina superior derecha de esta página.
+ Estamos desarrollando estos conjuntos de cifrado híbridos en código abierto en el [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls)repositorio de. GitHub Para proporcionar comentarios sobre la usabilidad de los conjuntos de cifrado, o para compartir nuevas condiciones o resultados de pruebas, [abra una incidencia](https://github.com/aws/s2n-tls/issues) en el repositorio s2n-tls.
+ Estamos escribiendo ejemplos de código para usar el TLS poscuántico híbrido AWS KMS en el repositorio. [https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/aws-kms-pq-tls-example) GitHub Para hacer preguntas o compartir ideas sobre la configuración de su cliente HTTP o AWS KMS cliente para que utilice los conjuntos de cifrado híbridos, [cree una edición](https://github.com/aws-samples/aws-kms-pq-tls-example/issues) en el repositorio. aws-kms-pq-tls-example

**Compatible Regiones de AWS**

Post-Quantum TLS for AWS KMS está disponible en todos los dispositivos Regiones de AWS compatibles AWS KMS .

Para obtener una lista de los AWS KMS puntos finales de cada uno Región de AWS, consulte los [AWS Key Management Service puntos finales y](https://docs.aws.amazon.com/general/latest/gr/kms.html) las cuotas en. *Referencia general de Amazon Web Services* Para obtener más información acerca de los puntos de conexión FIPS, consulte [FIPS endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#FIPS-endpoints) en la *Referencia general de Amazon Web Services*.

## Acerca del intercambio de claves postcuántico híbrido en TLS
<a name="PQTLS-concepts"></a>

AWS KMS admite conjuntos de cifrado híbridos de intercambio de claves poscuánticas. Puede utilizar Common Runtime AWS SDK for Java 2.x y AWS Common Runtime en sistemas Linux para configurar un cliente HTTP que utilice estos conjuntos de cifrado. A continuación, siempre que se conecte a un AWS KMS punto final con su cliente HTTP, se utilizarán los conjuntos de cifrado híbridos.

Este cliente HTTP utiliza [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls), que es una implementación de código abierto del protocolo TLS. Los conjuntos de cifrado híbridos que utiliza s2n-tls se implementan solo para el intercambio de claves, no para el cifrado de datos directo. Durante el *intercambio de claves*, el cliente y el servidor calculan la clave que utilizarán para cifrar y descifrar los datos en la red.

Los algoritmos que s2n-tls utiliza son un *híbrido* que combina la [curva elíptica de Diffie-Hellman](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman) (ECDH), un algoritmo clásico de intercambio de claves que se utiliza hoy en día en TLS, con [Module-Lattice-Based Key-Encapsulation Mechanism](https://csrc.nist.gov/pubs/fips/203/final) (ML-KEM) un algoritmo de cifrado de claves públicas y de establecimiento de claves que el Instituto Nacional de Estándares y Tecnología (NIST) [ha designado como su primer](https://csrc.nist.gov/pubs/fips/203/final) algoritmo de acuerdo de claves poscuántico estándar. Este híbrido utiliza cada uno de los algoritmos de forma independiente para generar una clave. Luego combina las dos claves criptográficamente. Con s2n-tls, puede [configurar un cliente HTTP](pqtls-how-to.md) con una preferencia por TLS postcuántico, que coloca a ECDH con ML-KEM en primer lugar en la lista de preferencias. Los algoritmos clásicos de intercambio de claves se incluyen en la lista de preferencias para garantizar la compatibilidad, pero están en una posición inferior en esta lista.

## Uso de un TLS poscuántico híbrido con AWS KMS
<a name="pqtls-details"></a>

Puede utilizar un TLS poscuántico híbrido para sus llamadas a. AWS KMS Cuando configure el entorno de prueba del cliente HTTP, tenga en cuenta la siguiente información:

**Cifrado en tránsito**

Los conjuntos de cifrado híbridos de s2n-tls se utilizan únicamente para el cifrado en tránsito. Protegen sus datos mientras viajan del cliente al punto final AWS KMS . AWS KMS no utiliza estos conjuntos de cifrado para cifrar los datos. AWS KMS keys

En cambio, cuando AWS KMS cifra los datos con claves KMS, utiliza criptografía simétrica con claves de 256 bits y el algoritmo AES-GCM (estándar de cifrado avanzado en modo contador de Galois), que ya es resistente a la tecnología cuántica. Los futuros e hipotéticos ataques de informática cuántica a gran escala a textos cifrados creados con claves AES-GCM de 256 bits [reducen la seguridad nominal de la clave a 128 bits](https://www.etsi.org/images/files/ETSIWhitePapers/QuantumSafeWhitepaper.pdf). Este nivel de seguridad es suficiente para impedir los ataques de fuerza bruta contra textos cifrados. AWS KMS 

**Sistemas compatibles**

El uso de los conjuntos de cifrado híbridos de s2n-tls solo es compatible actualmente con sistemas Linux. Además, estos conjuntos de cifrado solo son compatibles con AWS Common Runtime, como el. SDKs AWS SDK for Java 2.x Para ver un ejemplo, consulta [Configuración del cifrado TLS postcuántico híbrido](pqtls-how-to.md).

**AWS KMS Puntos de conexión**

AWS KMS admite el TLS poscuántico híbrido en todos los puntos finales, incluidos los puntos finales validados por el [FIPS 140-3](https://docs.aws.amazon.com/general/latest/gr/kms.html).

# Configuración del cifrado TLS postcuántico híbrido
<a name="pqtls-how-to"></a>

En este procedimiento, agregue una dependencia de Maven para el cliente HTTP de Common Runtime. AWS A continuación, configure un cliente HTTP que prefiera el TLS postcuántico. A continuación, cree un AWS KMS cliente que utilice el cliente HTTP.

Para ver ejemplos completos y funcionales de cómo configurar y usar el cifrado TLS híbrido postcuántico con AWS KMS, consulte el repositorio [https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/aws-kms-pq-tls-example).

**nota**  
El cliente HTTP AWS Common Runtime, que estaba disponible como versión preliminar, comenzó a estar disponible para el público en general en febrero de 2023. En esa versión, la clase `tlsCipherPreference` y el parámetro del método `tlsCipherPreference()` se sustituyen por el parámetro del método `postQuantumTlsEnabled()`. Si utilizó este ejemplo durante la vista previa, debe actualizar el código.

1. Agregue el cliente AWS Common Runtime a sus dependencias de Maven. Le recomendamos que utilice la última versión disponible. 

   Por ejemplo, esta instrucción agrega la versión `2.30.22` del cliente AWS Common Runtime a sus dependencias de Maven. 

   ```
   <dependency>
       <groupId>software.amazon.awssdk</groupId>
       <artifactId>aws-crt-client</artifactId>
       <version>2.30.22</version>
   </dependency>
   ```

1. Para habilitar las suites de cifrado poscuántico híbridas, agréguelas AWS SDK for Java 2.x a su proyecto e inicialícelas. Luego habilite los conjuntos de cifrado postcuántico híbrido en su cliente HTTP como se muestra en el siguiente ejemplo.

   Este código usa el parámetro del método `postQuantumTlsEnabled()` para configurar un [cliente HTTP de AWS en tiempo de ejecución común](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html) que prefiera el conjunto de cifrado poscuántico híbrido recomendado, ECDH con ML-KEM. A continuación, utiliza el cliente HTTP configurado para crear una instancia del cliente AWS KMS asíncrono,. [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html) Cuando se complete este código, todas las solicitudes de la [API de AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/) de la instancia `KmsAsyncClient` utilizarán un TLS poscuántico híbrido.

   ```
   // Configure HTTP client
   SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder()
             .postQuantumTlsEnabled(true)
             .build();
   
   // Create the AWS KMS async client
   KmsAsyncClient kmsAsync = KmsAsyncClient.builder()
            .httpClient(awsCrtHttpClient)
            .build();
   ```

1. Pon a prueba tus AWS KMS llamadas con un TLS poscuántico híbrido.

   Cuando llamas a las operaciones de la AWS KMS API en el AWS KMS cliente configurado, tus llamadas se transmiten al AWS KMS punto final mediante un TLS poscuántico híbrido. Para probar la configuración, llama a una AWS KMS API, como. `[ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)`

   ```
   ListKeysReponse keys = kmsAsync.listKeys().get();
   ```

## Prueba de su configuración de TLS postcuántico híbrido
<a name="pqtls-testing"></a>

Considere la posibilidad de ejecutar las siguientes pruebas con conjuntos de cifrado híbridos en las aplicaciones que AWS KMS llamen.
+ Consulta la `tlsDetails` sección de la entrada de CloudTrail registro para ver una llamada a la AWS KMS API realizada por tu aplicación. El `keyExchange` campo debe mencionar un algoritmo híbrido, como`X25519MLKEM768`. Para ver un ejemplo, consulta [Descifra con una clave de cifrado simétrica estándar a través de una conexión TLS poscuántica](ct-decrypt.md#ct-decrypt-default-pqtls).
+ Realice pruebas comparativas utilizando un TLS poscuántico híbrido. El intercambio de claves híbridas aumenta el tamaño y el tiempo de procesamiento de algunos mensajes en el protocolo de enlace TLS, pero el impacto general en el rendimiento debería ser imperceptible en la mayoría de los casos.
+ Intente conectarse desde diferentes ubicaciones. Según la ruta de red que utilice su solicitud, es posible que descubra que los servidores intermedios, proxies o firewalls antiguos con inspección profunda de paquetes (DPI) bloquean la solicitud. Esto puede deberse al uso de los nuevos grupos de intercambio de claves como [ClientHello](https://datatracker.ietf.org/doc/html/rfc8446#section-4.1.2)parte del protocolo de enlace TLS o a los mensajes de intercambio de claves más grandes. Si tiene problemas para resolver estos problemas, colabore con su equipo de seguridad o con los administradores de TI para actualizar la configuración correspondiente y desbloquear los nuevos grupos de intercambio de claves TLS. 

## Obtenga más información sobre el TLS poscuántico en AWS KMS
<a name="pqtls-see-also"></a>

Para obtener más información sobre el uso del TLS poscuántico híbrido en AWS KMS, consulta los siguientes recursos.
+ [Para obtener más información sobre la criptografía poscuántica en AWS, incluidos enlaces a publicaciones de blogs y artículos de investigación, consulte Criptografía poscuántica.](https://aws.amazon.com/security/post-quantum-cryptography/)
+ Para obtener información acerca de s2n-tls, consulte [Presentación de s2n-tls, una nueva implementación de TLS de código abierto](https://aws.amazon.com/blogs/security/introducing-s2n-a-new-open-source-tls-implementation/) y [Uso de s2n-tls](https://github.com/aws/s2n-tls/tree/main/docs/usage-guide).
+ *Para obtener información sobre el cliente HTTP de AWS Common Runtime, consulte [Configuración del cliente HTTP AWS basado en CRT en la](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html) Guía para desarrolladores.AWS SDK for Java 2.x *
+ Para obtener información sobre el proyecto de criptografía postcuántica del Instituto Nacional de Estándares y Tecnología (NIST), consulte [Post-Quantum Cryptography](https://csrc.nist.gov/Projects/Post-Quantum-Cryptography).
+ Para obtener información sobre la estandarización de la criptografía poscuántica del NIST, consulte [Estandarización de la criptografía poscuántica](https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization).

# Conéctese a AWS KMS través de un punto final de VPC
<a name="kms-vpc-endpoint"></a>

Puede conectarse directamente a AWS KMS través de un punto final de interfaz privada en su nube privada virtual (VPC). Cuando utiliza un punto final de VPC de interfaz, la comunicación entre su VPC y la VPC AWS KMS se lleva a cabo íntegramente dentro de la red. AWS 

AWS KMS es compatible con los puntos de conexión Amazon Virtual Private Cloud (Amazon VPC) con la tecnología de. [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/) Cada punto final de la VPC está representado por una o más [interfaces de red elásticas](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) (ENIs) con direcciones IP privadas en las subredes de la VPC. 

El punto final de la interfaz de la VPC conecta su VPC directamente AWS KMS sin una puerta de enlace a Internet, un dispositivo NAT, una conexión VPN o una conexión. AWS Direct Connect Las instancias de su VPC no necesitan direcciones IP públicas para comunicarse. AWS KMS

**Regiones**  
AWS KMS admite puntos de enlace de VPC y políticas de puntos de enlace de VPC en todos los casos en los Regiones de AWS que es compatible. [AWS KMS](https://docs.aws.amazon.com/general/latest/gr/kms.html)

**Consideraciones sobre los puntos AWS KMS finales de VPC**  
*Antes de configurar un punto final de la VPC de la interfaz AWS KMS, consulte el tema [Propiedades y limitaciones del punto final de la interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) en la AWS PrivateLink Guía.*  
AWS KMS el soporte para un punto final de VPC incluye lo siguiente.  
+ Puede utilizar el punto de conexión de VPC para llamar a todas las [operaciones de la API de AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/API_Operations.html) desde su VPC.
+ Puede crear un punto final de VPC de interfaz que se conecte a un punto final de AWS KMS región o a un punto final de [AWS KMS FIPS](https://docs.aws.amazon.com/general/latest/gr/kms.html).
+ Puede usar AWS CloudTrail los registros para auditar el uso de las claves de KMS a través del punto de enlace de la VPC. Para obtener más información, consulte [Registro de AWS KMS solicitudes que utilizan un punto final de VPC](vpce-logging.md).

**Topics**
+ [Cree un punto final de VPC para AWS KMS](vpce-create-endpoint.md)
+ [Conéctese a un punto final AWS KMS de VPC](vpce-connect.md)
+ [Utilice los puntos finales de VPC para controlar el acceso a los recursos AWS KMS](vpce-policy-condition.md)
+ [Registro de AWS KMS solicitudes que utilizan un punto final de VPC](vpce-logging.md)

# Cree un punto final de VPC para AWS KMS
<a name="vpce-create-endpoint"></a>

Puede crear un punto de enlace de VPC AWS KMS mediante la consola de Amazon VPC o la API de Amazon VPC. Siga los procedimientos para [crear un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint) mediante uno de los siguientes valores.
+ Para crear un punto final de VPC para AWS KMS, utilice el siguiente nombre de servicio: 

  ```
  com.amazonaws.region.kms
  ```

  Por ejemplo, en la Región EE. UU. Oeste (Oregón) (`us-west-2`), el nombre del servicio sería:

  ```
  com.amazonaws.us-west-2.kms
  ```
+ Para crear un punto de conexión de VPC que se conecte a un [punto de conexión FIPS de AWS KMS](https://docs.aws.amazon.com/general/latest/gr/kms.html), utilice el siguiente nombre de servicio:

  ```
  com.amazonaws.region.kms-fips
  ```

  Por ejemplo, en la Región EE. UU. Oeste (Oregón) (`us-west-2`), el nombre del servicio sería:

  ```
  com.amazonaws.us-west-2.kms-fips
  ```

Para facilitar el uso del punto de conexión de VPC, puede habilitar un [nombre de DNS privado](https://docs.aws.amazon.com/vpc/latest/privatelink/verify-domains.html) para el punto de conexión de VPC. Si selecciona la opción **Enable DNS Name** (Habilitar nombre DNS), el nombre del host de DNS de AWS KMS estándar se resuelve en el punto de conexión de VPC. Por ejemplo, `https://kms.us-west-2.amazonaws.com` se resolvería en un punto de conexión de VPC conectado al nombre del servicio `com.amazonaws.us-west-2.kms`.

Esta opción facilita el uso del punto de conexión de VPC. AWS SDKs Y AWS CLI utilizan el nombre de host AWS KMS DNS estándar de forma predeterminada, por lo que no es necesario especificar la URL del punto de conexión de la VPC en las aplicaciones y los comandos.

Para obtener más información, consulte [Acceso a un servicio a través de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#access-service-though-endpoint) en la *Guía de AWS PrivateLink *.

# Conéctese a un punto final AWS KMS de VPC
<a name="vpce-connect"></a>

Puede conectarse a AWS KMS través del punto de enlace de la VPC mediante un AWS SDK AWS CLI, el o. Herramientas de AWS para PowerShell Para especificar el punto de conexión de VPC, utilice su nombre de DNS. 

Por ejemplo, este comando [list-keys](https://docs.aws.amazon.com/cli/latest/reference/kms/list-keys.html) utiliza el parámetro `endpoint-url` para especificar el punto de conexión de VPC. Para utilizar un comando de este tipo, sustituya el ID del punto de conexión de VPC del ejemplo por uno de su cuenta.

```
$ aws kms list-keys --endpoint-url https://vpce-1234abcdf5678c90a-09p7654s-us-east-1a.ec2.us-east-1.vpce.amazonaws.com
```

**Permisos necesarios**  
Para que una AWS KMS solicitud que utiliza un punto de conexión de VPC se realice correctamente, el director requiere permisos de dos fuentes:  
+ Una [política de claves](key-policies.md), [política de IAM](iam-policies.md), o bien [concesión](grants.md) debe dar permiso a la entidad principal para llamar a la operación en el recurso (clave KMS o alias).
+ Una política de extremo de VPC debe conceder a la entidad principal permiso para utilizar el punto de conexión para realizar la solicitud.
Por ejemplo, una política de clave puede conceder permiso a una entidad principal para llamar a [Descifrado](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) en una clave KMS en particular. Sin embargo, es posible que la política de punto de conexión de VPC no permita que la entidad principal llame a `Decrypt` en esa clave KMS mediante el punto de conexión.  
O bien, una política de punto final de VPC podría permitir que un principal utilice el punto final para invocar determinadas claves [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html)de KMS. Pero si la entidad principal no tiene esos permisos de una política de clave, política de IAM o concesión, se produce un error en la solicitud.  
Puede crear una política de punto de conexión de VPC cuando cree el punto de conexión y puede cambiar la política de punto de conexión de VPC en cualquier momento. Utilice la consola de administración de VPC o las operaciones [CreateVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpoint.html)o [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html). También puede crear y cambiar una política de puntos finales de VPC [mediante una AWS CloudFormation plantilla](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html). Para obtener ayuda sobre el uso de la consola de administración de la VPC, consulte [Creación de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint) y [Modificación de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#modify-interface-endpoint) en la *Guía de AWS PrivateLink *.

**Nombres de host DNS privados**  
Si ha habilitado los nombres de host privados al crear el punto de conexión de VPC, no es necesario que especifique la URL de este en los comandos de la CLI ni en la configuración de la aplicación. El nombre del host de DNS de AWS KMS estándar se resuelve en el punto de conexión de VPC. AWS CLI Y SDKs usa este nombre de host de forma predeterminada para que puedas empezar a usar el punto de enlace de la VPC para conectarte a AWS KMS un punto de enlace regional sin cambiar nada en tus scripts y aplicaciones.   
Para utilizar nombres de host privados, se deben establecer los atributos `enableDnsHostnames` y `enableDnsSupport` de la VPC en `true`. Para configurar estos atributos, utilice la [ModifyVpcAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcAttribute.html)operación. Para obtener más información, consulte [Ver y actualizar los atributos de DNS de su VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating) en la *Guía del usuario de Amazon VPC*.

# Utilice los puntos finales de VPC para controlar el acceso a los recursos AWS KMS
<a name="vpce-policy-condition"></a>

Puede controlar el acceso a AWS KMS los recursos y las operaciones cuando la solicitud proviene de la VPC o utiliza un punto final de la VPC. Para ello, utilice una de las siguientes [claves de condición global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#AvailableKeys) en una [política de claves](key-policies.md) o [política de IAM](iam-policies.md).
+ Utilice la clave de condición `aws:sourceVpce` para conceder o restringir el acceso en función del punto de conexión de VPC.
+ Utilice la clave de condición `aws:sourceVpc` para conceder o restringir el acceso en función de la VPC que aloja el punto de conexión privado.

**nota**  
Actúe con precaución al crear políticas de IAM y de claves basadas en el punto de conexión de VPC. Si una declaración de política exige que las solicitudes provengan de una VPC o un punto de enlace de VPC en particular, es posible que se produzcan errores en las solicitudes de AWS los servicios integrados que utilizan un AWS KMS recurso en tu nombre. Para obtener ayuda, consulte [Uso de condiciones de punto final de VPC en políticas con permisos AWS KMS](conditions-aws.md#conditions-aws-vpce).  
Además, la clave de condición `aws:sourceIP` no es efectiva si la solicitud procede de un [punto de conexión de Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html). Para restringir las solicitudes a un punto de conexión de VPC, utilice las claves de condición `aws:sourceVpce` o `aws:sourceVpc`. Para obtener más información, consulte [Administración de identidades y accesos para puntos de conexión de VPC y servicios de puntos de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-iam.html) en la *Guía de AWS PrivateLink *. 

Puedes usar estas claves de condición globales para controlar el acceso a AWS KMS keys (claves KMS), a los alias y a operaciones como esas [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)que no dependen de ningún recurso en particular.

Por ejemplo, la siguiente política de claves de ejemplo permite a un usuario realizar operaciones de cifrado con una clave KMS solo cuando la solicitud utiliza el punto de conexión de VPC especificado. Cuando un usuario realiza una solicitud a AWS KMS, el ID de punto final de la VPC de la solicitud se compara con el valor de la clave de `aws:sourceVpce` condición de la política. Si no coinciden, la solicitud se deniega. 

Para usar una política como esta, reemplaza el Cuenta de AWS ID del marcador de posición y el IDs punto de enlace de VPC por valores válidos para tu cuenta.

------
#### [ JSON ]

****  

```
{
    "Id": "example-key-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableIAMpolicies",
            "Effect": "Allow",
            "Principal": {"AWS":["111122223333"]},
            "Action": ["kms:*"],
            "Resource": "*"
        },
        {
            "Sid": "Restrict usage to my VPC endpoint",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                "aws:sourceVpce": "vpce-1234abcdf5678c90a"
                }
            }
        }

    ]
}
```

------

También puede utilizar la clave de condición `aws:sourceVpc` para restringir el acceso a las claves KMS en función de la VPC en la que reside el punto de conexión. 

La siguiente política de claves de ejemplo permite comandos que administran la clave KMS solo cuando proceden de `vpc-12345678`. Además, permite comandos que utilizan la clave KMS para operaciones criptográficas únicamente si proceden de `vpc-2b2b2b2b`. Podría utilizar una política como esta en caso de que una aplicación se ejecute en una VPC, pero utiliza una segunda VPC aislada para funciones de administración. 

Para usar una política como esta, reemplaza el Cuenta de AWS ID del marcador de posición y el IDs punto de enlace de VPC por valores válidos para tu cuenta.

------
#### [ JSON ]

****  

```
{
    "Id": "example-key-2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAdministrativeActionsFromVPC",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Create*",
                "kms:Enable*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpc": "vpc-12345678"
                }
            }
        },
        {
            "Sid": "AllowKeyUsageFromVPC2b2b2b2b",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpc": "vpc-2b2b2b2b"
                }
            }
        },
        {
            "Sid": "AllowReadActionsEverywhere",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Describe*",
                "kms:List*",
                "kms:Get*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Registro de AWS KMS solicitudes que utilizan un punto final de VPC
<a name="vpce-logging"></a>

AWS CloudTrail registra todas las operaciones que utilizan el punto final de la VPC. Cuando una solicitud AWS KMS utiliza un punto de enlace de VPC, el ID del punto de enlace de VPC aparece en la entrada de [AWS CloudTrail registro que registra](logging-using-cloudtrail.md) la solicitud. Puede usar el ID del punto final para auditar el uso del punto final de la AWS KMS VPC.

Sin embargo, tus CloudTrail registros no incluyen las operaciones solicitadas por los responsables de otras cuentas ni las solicitudes de AWS KMS operaciones en las claves y los alias de KMS en otras cuentas. Además, para proteger su VPC, las solicitudes que son denegadas por una política de puntos de conexión de la VPC, pero de lo contrario se habría permitido, no se registran en [AWS CloudTrail](logging-using-cloudtrail.md).

Por ejemplo, esta entrada de log de ejemplo registra una solicitud [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) que ha utilizado el punto de enlace de la VPC. El campo `vpcEndpointId` aparece al final de la entrada de log.

```
{
  "eventVersion":"1.05",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "EX_PRINCIPAL_ID",
    "arn": "arn:aws:iam::111122223333:user/Alice",
    "accessKeyId": "EXAMPLE_KEY_ID",
    "accountId": "111122223333",
    "userName": "Alice"
  },
  "eventTime":"2018-01-16T05:46:57Z",
  "eventSource":"kms.amazonaws.com",
  "eventName":"GenerateDataKey",
  "awsRegion":"eu-west-1",
  "sourceIPAddress":"172.01.01.001",
  "userAgent":"aws-cli/1.14.23 Python/2.7.12 Linux/4.9.75-25.55.amzn1.x86_64 botocore/1.8.27",
  "requestParameters":{
    "keyId":"1234abcd-12ab-34cd-56ef-1234567890ab",
    "numberOfBytes":128
  },
  "responseElements":null,
  "requestID":"a9fff0bf-fa80-11e7-a13c-afcabff2f04c",
  "eventID":"77274901-88bc-4e3f-9bb6-acf1c16f6a7c",
  "readOnly":true,
  "resources":[{
    "ARN":"arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "accountId":"111122223333",
    "type":"AWS::KMS::Key"
  }],
  "eventType":"AwsApiCall",
  "recipientAccountId":"111122223333",
  "vpcEndpointId": "vpce-1234abcdf5678c90a"
}
```

# Compatibilidad con puntos de conexión de doble pila
<a name="ipv6-kms"></a>

AWS KMS proporciona un punto final público de doble pila que admite tanto a los clientes como IPv6 a IPv4 los clientes. Un punto final de doble pila permite a los clientes comunicarse AWS KMS con cualquiera IPv4 de las direcciones. IPv6 Para obtener más información sobre los puntos de AWS KMS conexión, consulte puntos de conexión y [AWS Key Management Service cuotas](https://docs.aws.amazon.com//general/latest/gr/kms.html).

El terminal público AWS KMS de doble pila `https://kms.your-region.api.aws` es compatible con ambos IPv4 clientes. IPv6 AWS KMS también es accesible de forma privada a través IPv4 y IPv6 desde su nube privada virtual (VPC) mediante. AWS PrivateLink Para obtener más información sobre la creación de puntos de enlace de VPC de interfaz privada para AWS KMS, consulte. [Conéctese a AWS KMS través de un punto final de VPC](kms-vpc-endpoint.md)

Para obtener más información sobre sus IPv6 direcciones VPCs, consulte [Cómo funciona Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html#vpc-ip-addressing) en la Guía del *usuario de Amazon Virtual Private Cloud*. Para obtener más información sobre cómo configurar su VPC para el modo de doble pila, consulte el [direccionamiento IP para su red VPCs y sus subredes](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#vpc-ipv6) en la Guía del usuario de *Amazon Virtual Private Cloud*.

## Las funciones no están disponibles en IPv6
<a name="kms-ipv6-limitations"></a>

AWS KMS no puede comunicarse IPv6 con almacenes de AWS CloudHSM claves o almacenes de claves externos. Esta limitación no le impide llamar al AWS KMS APIs extranjero IPv6.