Administrador de secretos - AWS IoT Greengrass

Administrador de secretos

El componente administrador de secretos (aws.greengrass.SecretManager) implementa secretos desde AWS Secrets Manager a los dispositivos principales de Greengrass. Utilice este componente para utilizar de forma segura las credenciales, como las contraseñas, en los componentes personalizados de sus dispositivos principales de Greengrass. Para obtener más información acerca de Secrets Manager, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.

Para acceder a los secretos de este componente en sus componentes personalizados de Greengrass, utilice la operación GetSecretValue en el SDK para dispositivos con AWS IoT. Para obtener más información, consulte Uso del SDK para dispositivos con AWS IoT para comunicarse con el núcleo de Greengrass, otros componentes y AWS IoT Core y Recupere valores secretos.

Este componente cifra los secretos del dispositivo principal para mantener sus credenciales y contraseñas seguras hasta que necesite usarlas. Utiliza la clave privada del dispositivo principal para cifrar y descifrar los secretos.

Versiones

Este componente tiene las siguientes versiones:

  • 2.2.x

  • 2.1.x

  • 2.0.x

Tipo

Este componente es un componente de complemento (aws.greengrass.plugin). El núcleo de Greengrass ejecuta este componente en la misma máquina virtual Java (JVM) que el núcleo. El núcleo se reinicia al cambiar la versión de este componente en el dispositivo principal.

Este componente usa el mismo archivo de registro que el núcleo de Greengrass. Para obtener más información, consulte Supervisión de los registros de AWS IoT Greengrass.

Para obtener más información, consulte Tipos de componentes.

Sistema operativo

Este componente se puede instalar en los dispositivos principales que ejecutan los siguientes sistemas operativos:

  • Linux

  • Windows

Requisitos

Este componente tiene los siguientes requisitos:

  • El rol del dispositivo de Greengrass debe permitir la acción secretsmanager:GetSecretValue, tal como se muestra en la siguiente política de IAM de ejemplo.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "secretsmanager:GetSecretValue" ], "Effect": "Allow", "Resource": [ "arn:aws:secretsmanager:region:123456789012:secret:MySecret" ] } ] }
    nota

    Si utiliza una clave administrada por el cliente de AWS Key Management Service para cifrar secretos, el rol del dispositivo también debe permitir la acción kms:Decrypt.

    Para obtener más información sobre las políticas de IAM para el administrador de secretos, consulte los siguientes temas en la Guía del usuario de AWS Secrets Manager:

  • Los componentes personalizados deben definir una política de autorización que permita a aws.greengrass#GetSecretValue obtener los secretos que se almacenan con este componente. En esta política de autorización, puede restringir el acceso de los componentes a secretos específicos. Para obtener más información, consulte Autorización de IPC del administrador de secretos.

  • (Opcional) Si almacena la clave privada y el certificado del dispositivo principal en un módulo de seguridad de hardware (HSM), el HSM debe admitir las claves RSA, la clave privada debe tener el permiso unwrap y la clave pública debe tener el permiso wrap.

Puntos de conexión y puertos

Este componente debe poder realizar solicitudes salientes a los siguientes puntos de conexión y puertos, además de a los puntos de conexión y puertos necesarios para el funcionamiento básico. Para obtener más información, consulte Cómo permitir el tráfico del dispositivo a través de un proxy o firewall.

punto de enlace Puerto Obligatoria Descripción

secretsmanager.region.amazonaws.com

443

Descargue los secretos del dispositivo principal.

Dependencias

Cuando implementa un componente, AWS IoT Greengrass también implementa versiones compatibles de sus dependencias. Esto significa que debe cumplir los requisitos del componente y de todas sus dependencias para poder implementar el componente correctamente. En esta sección, se enumeran las dependencias de las versiones publicadas de este componente y las restricciones de las versiones semánticas que definen las versiones de los componentes para cada dependencia. También puede ver las dependencias de cada versión del componente en la consola de AWS IoT Greengrass. En la página de detalles del componente, busque la lista de Dependencias.

2.2.1

En la siguiente tabla, se muestran las dependencias de las versiones 2.2.1 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.14.0 Flexible
2.2.0

En la siguiente tabla, se muestran las dependencias de las versiones 2.2.0 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.13.0 <2.14.0 Flexible
2.1.7 – 2.1.8

En la siguiente tabla, se muestran las dependencias de las versiones 2.1.7 y 2.1.8 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.13.0 Flexible
2.1.6

En la siguiente tabla, se muestran las dependencias de la versión 2.1.6 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.12.0 Flexible
2.1.5

En la siguiente tabla, se muestran las dependencias de la versión 2.1.5 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.11.0 Flexible
2.1.4

En la siguiente tabla, se muestran las dependencias de la versión 2.1.4 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.10.0 Flexible
2.1.3

En la siguiente tabla, se muestran las dependencias de la versión 2.1.3 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.9.0 Flexible
2.1.2

En la siguiente tabla, se muestran las dependencias de la versión 2.1.2 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.8.0 Flexible
2.1.1

En la siguiente tabla, se muestran las dependencias de la versión 2.1.1 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.7.0 Flexible
2.1.0

En la siguiente tabla, se muestran las dependencias de la versión 2.1.0 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.5.0 <2.6.0 Flexible
2.0.9

En la siguiente tabla, se muestran las dependencias de la versión 2.0.9 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.5.0 Flexible
2.0.8

En la siguiente tabla, se muestran las dependencias de la versión 2.0.8 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.4.0 Flexible
2.0.7

En la siguiente tabla, se muestran las dependencias de la versión 2.0.7 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.3.0 Flexible
2.0.6

En la siguiente tabla, se muestran las dependencias de la versión 2.0.6 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.2.0 Flexible
2.0.4 and 2.0.5

En la siguiente tabla, se muestran las dependencias de las versiones 2.0.4 y 2.0.5 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.3 <2.1.0 Flexible

Para obtener más información sobre las dependencias del componente, consulte la referencia de receta de componentes.

Configuración

Este componente ofrece los siguientes parámetros de configuración que puede personalizar cuando implemente el componente.

periodicRefreshIntervalMin (opcional)

El intervalo en minutos en el que este componente sincroniza los secretos configurados en el dispositivo principal con los valores secretos más recientes del servicio de AWS Secrets Manager. Si este intervalo no está configurado, el administrador de secretos no actualizará los secretos configurados periódicamente.

{ "cloudSecrets": [ { "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef" } ], "periodicRefreshIntervalMin" : 60 }
cloudSecrets

Una lista de los secretos del administrador de secretos para implementarlos en el dispositivo principal. Puede especificar etiquetas para definir qué versiones de cada secreto se van a implementar. Si no especifica ninguna versión, este componente implementa la versión con la etiqueta AWSCURRENT provisional adjunta. Para obtener más información, consulte Etiquetas provisionales en la Guía del usuario de AWS Secrets Manager.

El componente de administrador de secretos almacena en caché los secretos de forma local. Si el valor secreto cambia en el administrador de secretos, este componente no recupera automáticamente el nuevo valor. Para actualizar la copia local, asigne una nueva etiqueta al secreto y configure este componente para recuperar el secreto identificado por la nueva etiqueta.

Cada objeto contiene la siguiente información:

arn

El ARN del secreto a implementar. El ARN del secreto puede ser un ARN completo o parcial. Para un ARN, le recomendamos que especifique un ARN completo en lugar de un ARN parcial. Para obtener más información, consulte Búsqueda de un secreto a partir de un ARN parcial. El siguiente es un ejemplo de un ARN completo y un ARN parcial:

  • ARN completo: arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName-abcdef

  • ARN parcial: arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName

labels

(Opcional) Una lista de etiquetas para identificar las versiones del secreto que se van a implementar en el dispositivo principal.

Cada etiqueta debe ser una cadena.

ejemplo Ejemplo: actualización de la combinación de configuraciones
{ "cloudSecrets": [ { "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef" } ] }

Archivo de registro local

Este componente utiliza el mismo archivo de registro que el componente núcleo de Greengrass.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Visualización de los registros de este componente
  • Ejecute el siguiente comando en el dispositivo principal para ver el archivo de registro de este componente en tiempo real. Reemplace /greengrass/v2 o C:\greengrass\v2 por la ruta a la carpeta raíz de AWS IoT Greengrass.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Registros de cambios

En la siguiente tabla, se describen los cambios en cada versión del componente.

Versión

Cambios

2.2.1

Mejoras y correcciones de errores

Admite el administrador de secretos en las versiones 2.5.0 y posteriores del núcleo.

2.2.0

Nuevas características

Suma compatibilidad para la actualización periódica de los secretos configurados mediante una nueva clave de configuración de componentes.

Suma compatibilidad con un nuevo parámetro de solicitud en la solicitud GetSecretValue de IPC para actualizar los secretos por solicitud

2.1.8

Mejoras y correcciones de errores

Soluciona un problema por el que el administrador de secretos no aceptaba un ARN parcial.

2.1.7

Versión actualizada para el lanzamiento de la versión 2.12.0 del núcleo de Greengrass.

2.1.6

Versión actualizada para el lanzamiento de la versión 2.11.0 del núcleo de Greengrass.

2.1.5

Versión actualizada para el lanzamiento de la versión 2.10.0 del núcleo de Greengrass.

2.1.4

Mejoras y correcciones de errores

Corrige un problema en el que los secretos almacenados en caché se eliminaban cuando se implementaba el administrador de secretos y se reiniciaba el núcleo de Greengrass.

Versión actualizada para el lanzamiento de la versión 2.9.0 del núcleo de Greengrass.

2.1.3

Versión actualizada para el lanzamiento de la versión 2.8.0 del núcleo de Greengrass.

2.1.2

Versión actualizada para el lanzamiento de la versión 2.7.0 del núcleo de Greengrass.

2.1.1

Versión actualizada para el lanzamiento de la versión 2.6.0 del núcleo de Greengrass.

2.1.0

Nuevas características
  • Agrega compatibilidad con la integración de seguridad de hardware. El componente administrador de secretos puede cifrar y descifrar secretos mediante una clave privada que se almacena en un módulo de seguridad de hardware (HSM). Para obtener más información, consulte Integración de la seguridad de hardware.

Mejoras y correcciones de errores
  • Versión actualizada para el lanzamiento de la versión 2.5.0 del núcleo de Greengrass.

2.0.9

Versión actualizada para el lanzamiento de la versión 2.4.0 del núcleo de Greengrass.

2.0.8

Versión actualizada para el lanzamiento de la versión 2.3.0 del núcleo de Greengrass.

2.0.7

Versión actualizada para el lanzamiento de la versión 2.2.0 del núcleo de Greengrass.

2.0.6

Versión actualizada para el lanzamiento de la versión 2.1.0 del núcleo de Greengrass.

2.0.5

Mejoras
  • Suma compatibilidad con las regiones de China de AWS y las regiones AWS GovCloud (US).

2.0.4

Versión inicial.