Controles de Security Hub para AWS AppSync
Estos controles de Security Hub evalúan el servicio y los recursos de AWS AppSync.
Es posible que estos controles no estén disponibles en todas las Regiones de AWS. Para obtener más información, consulte Disponibilidad de los controles por región.
[AppSync.1] Las cachés de la API de AWS AppSync deben estar cifradas en reposo
Categoría: Proteger > Protección de datos > Cifrado de datos en reposo
Gravedad: media
Tipo de recurso: AWS::AppSync::GraphQLApi
AWS Config Regla de: appsync-cache-ct-encryption-at-rest
Tipo de horario: provocado por un cambio
Parámetros: ninguno
Este control comprueba si la caché de la API de AWS AppSync está cifrado en reposo. El control falla si la caché de la API no está cifrada en reposo.
Los datos en reposo hacen referencia a los datos que se almacenan en un almacenamiento persistente y no volátil durante cualquier periodo de tiempo. El cifrado de datos en reposo permite proteger la confidencialidad de los datos, lo que reduce el riesgo de que un usuario no autorizado pueda acceder a ellos.
Corrección
No puede cambiar la configuración de cifrado después de habilitar el almacenamiento en caché para la API de AWS AppSync. En su lugar, debe eliminar la caché y volver a crearla con el cifrado habilitado. Para obtener más información, consulte Cifrado de caché, en la Guía para desarrolladores de AWS AppSync.
[AppSync.2] AWS AppSync debe tener habilitado el registro a nivel de campo
Requisitos relacionados: PCI DSS v4.0.1/10.4.2
Categoría: Identificar - Registro
Gravedad: media
Tipo de recurso: AWS::AppSync::GraphQLApi
AWS Config Regla de: appsync-logging-enabled
Tipo de horario: provocado por un cambio
Parámetros:
| Parámetro | Descripción | Tipo | Valores personalizados permitidos | Valor predeterminado de Security Hub |
|---|---|---|---|---|
|
|
Nivel de registro del campo |
Enum |
|
|
Este control comprueba si una API de AWS AppSync tiene activado el registro a nivel de campo. Se produce un error en el control si el nivel de registro del solucionador de campos está establecido en Ninguno. A menos que se proporcionen valores personalizados de parámetros para indicar que se debe habilitar un tipo de registro específico, Security Hub genera un resultado válido si el nivel de registro del solucionador de campos es ERROR o ALL.
Puede utilizar el registro y las métricas para identificar, solucionar problemas y optimizar sus consultas de GraphQL. Activar el registro en GraphQL de AWS AppSync le ayuda a obtener información detallada sobre las solicitudes y respuestas de la API, a identificar y responder a los problemas y a cumplir con los requisitos reglamentarios.
Corrección
Para activar el registro AWS AppSync, consulte Instalación y configuración en la Guía para desarrolladores de AWS AppSync.
[AppSync.4] Las API de GraphQL de AWS AppSync deben estar etiquetadas
Categoría: Identificar > Inventario > Etiquetado
Gravedad: baja
Tipo de recurso: AWS::AppSync::GraphQLApi
Regla de AWS Config: tagged-appsync-graphqlapi (regla personalizada de Security Hub)
Tipo de horario: provocado por un cambio
Parámetros:
| Parámetro | Descripción | Tipo | Valores personalizados permitidos | Valor predeterminado de Security Hub |
|---|---|---|---|---|
requiredTagKeys
|
Lista de claves de etiquetas que no corresponden al sistema que debe contener el recurso evaluado. Las claves de etiqueta distinguen entre mayúsculas y minúsculas. | StringList: (máximo de 6 elementos) | De 1 a 6 claves de etiquetas que cumplan los requisitos de AWS. | Sin valor predeterminado |
Este control comprueba si la API de GraphQL de AWS AppSync tiene etiquetas con claves específicas definidas en el parámetro requiredTagKeys. El control falla si la API de GraphQL no tiene ninguna clave de etiqueta o si no tiene todas las claves especificadas en el parámetro requiredTagKeys. Si no se proporciona el parámetro requiredTagKeys, el control solo comprueba la existencia de una clave de etiqueta y lanza un error si la API de GraphQL no está etiquetada con ninguna clave. Las etiquetas del sistema, que se aplican automáticamente y comienzan con aws:, se ignoran.
Las etiquetas se pueden asignar a los recursos de AWS y constan de una clave y un valor opcional. Puede crear etiquetas para clasificar los recursos según su finalidad, propietario, entorno u otro criterio. Las etiquetas pueden ayudarlo a identificar, organizar, buscar y filtrar recursos. El etiquetado también ayuda a realizar un seguimiento de las acciones y las notificaciones de los propietarios responsables de los recursos. Cuando utiliza el etiquetado, puede implementar el control de acceso basado en atributos (ABAC) como estrategia de autorización, el cual define permisos en función de las etiquetas. Puede asociar etiquetas a entidades de IAM (usuarios o roles) y a recursos de AWS. Puede crear una única política de ABAC o un conjunto independiente de políticas para sus entidades principales de IAM. Puede diseñar estas políticas de ABAC de manera que permitan operaciones cuando la etiqueta de la entidad principal coincida con la etiqueta del recurso. Para obtener más información, consulte ¿Qué es ABAC para AWS? en la Guía del usuario de IAM.
nota
No agregue información de identificación personal (PII) ni otra información confidencial en las etiquetas. Las etiquetas son accesibles para muchos Servicios de AWS, incluido AWS Billing. Para conocer más prácticas recomendadas para el etiquetado, consulte Etiquetado de recursos de AWS en la Referencia general de AWS.
Corrección
Para agregar etiquetas a una API de GraphQL de AWS AppSync, consulte TagResource en la Referencia de la API de AWS AppSync.
[AppSync.5] Las API de AWS AppSync GraphQL no deben autenticarse con claves de API
Requisitos relacionados: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-6
Categoría: Proteger > Gestión del acceso seguro > Autenticación sin contraseña
Gravedad: alta
Tipo de recurso: AWS::AppSync::GraphQLApi
AWS Config Regla de: appsync-authorization-check
Tipo de horario: provocado por un cambio
Parámetros:
AllowedAuthorizationTypes:AWS_LAMBDA, AWS_IAM, OPENID_CONNECT, AMAZON_COGNITO_USER_POOLS(no personalizable)
Este control comprueba si la aplicación utiliza una clave de API para interactuar con una API de AWS AppSync GraphQL. El control falla si una API de AWS AppSync GraphQL se autentica con una clave de API.
Una clave de API es un valor de código literal en la aplicación generado por el servicio de AWS AppSync cuando se crea un punto de enlace de GraphQL sin autenticar. Si esta clave de API se ve comprometida, su punto de conexión es vulnerable a un acceso no deseado. A menos que respalde una aplicación o un sitio web de acceso público, no recomendamos usar una clave de API para la autenticación.
Corrección
Para configurar una opción de autorización para su API de AWS AppSync GraphQL, consulte Autorización y autenticación en la Guía para desarrolladores de AWS AppSync.
[AppSync.6] Las cachés de la API de AWS AppSync deben estar cifradas en tránsito
Categoría: Proteger > Protección de datos > Cifrado de datos en tránsito
Gravedad: media
Tipo de recurso: AWS::AppSync::ApiCache
AWS Config Regla de: appsync-cache-ct-encryption-in-transit
Tipo de horario: provocado por un cambio
Parámetros: ninguno
Este control comprueba si la caché de la API de AWS AppSync está cifrado en tránsito. El control falla si la caché de la API no está cifrada en tránsito.
Los datos en tránsito hacen referencia a los datos que se mueven de una ubicación a otra, por ejemplo, entre los nodos del clúster o entre el clúster y la aplicación. Los datos pueden moverse a través de Internet o dentro de una red privada. El cifrado de los datos en tránsito reduce el riesgo de que un usuario no autorizado pueda espiar el tráfico de la red.
Corrección
No puede cambiar la configuración de cifrado después de habilitar el almacenamiento en caché para la API de AWS AppSync. En su lugar, debe eliminar la caché y volver a crearla con el cifrado habilitado. Para obtener más información, consulte Cifrado de caché, en la Guía para desarrolladores de AWS AppSync.