

Aviso de fin de soporte: el 7 de octubre de 2026, AWS suspenderemos el soporte para AWS IoT Greengrass Version 1. Después del 7 de octubre de 2026, ya no podrá acceder a los AWS IoT Greengrass V1 recursos. Para obtener más información, visita [Migrar desde AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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.

# Cómo crear un recurso de secreto (consola)
<a name="secrets-console"></a>

Esta función está disponible para AWS IoT Greengrass Core v1.7 y versiones posteriores.

En este tutorial se muestra cómo utilizar el Consola de administración de AWS para añadir un *recurso secreto* a un grupo de Greengrass. Un recurso secreto es una referencia a un secreto de AWS Secrets Manager. Para obtener más información, consulte [Despliega los secretos hasta la AWS IoT Greengrass médula](secrets.md).

En el dispositivo AWS IoT Greengrass principal, los conectores y las funciones Lambda pueden usar el recurso secreto para autenticarse con servicios y aplicaciones, sin necesidad de codificar contraseñas, tokens u otras credenciales.

En este tutorial, empezará por crear un secreto en la consola. AWS Secrets Manager A continuación, en la consola de AWS IoT Greengrass , añada un recurso secreto a un grupo de Greengrass de la página **Recursos**. Este recurso secreto hace referencia al secreto de Secrets Manager. Posteriormente, asocie un recurso secreto a una función de Lambda, que permite a la función obtener el valor del secreto local.

**nota**  
Como alternativa, la consola le permite crear un secreto y un recurso secreto al configurar un conector o una función de Lambda. Puede hacerlo desde la página **Configurar parámetros** del conector o desde la página **Recursos** de la función de Lambda.  
Solo los conectores que contienen los parámetros de secretos pueden acceder a los secretos. Para obtener un tutorial que muestra la forma en que el conector de notificaciones Twilio utiliza un token de autenticación almacenado localmente, consulte [Introducción a los conectores de Greengrass (consola)](connectors-console.md).

El tutorial contiene los siguientes pasos generales:

1. [Crear un secreto en Secrets Manager](#secrets-console-create-secret)

1. [Agregar un recurso de secreto a un grupo](#secrets-console-create-resource)

1. [Creación de un paquete de implementación de la función de Lambda](#secrets-console-create-deployment-package)

1. [Crear una función de Lambda](#secrets-console-create-function)

1. [Agregar la función al grupo](#secrets-console-create-gg-function)

1. [Asociar el recurso de secreto a la función](#secrets-console-affiliate-gg-function)

1. [Agregar suscripciones al grupo](#secrets-console-create-subscription)

1. [Implementar el grupo](#secrets-console-create-deployment)

1. [Prueba de la función de Lambda](#secrets-console-test-solution)

Completar el tutorial debería tomarle aproximadamente 20 minutos.

## Requisitos previos
<a name="secrets-console-prerequisites"></a>

Para completar este tutorial, se necesita lo siguiente:
+ Un grupo de Greengrass y un núcleo de Greengrass (versión 1.7 o posterior). Para obtener información acerca de cómo crear un núcleo y un grupo de Greengrass, consulte [Empezar con AWS IoT Greengrass](gg-gs.md). El tutorial de introducción también incluye los pasos para instalar el software AWS IoT Greengrass principal.
+ AWS IoT Greengrass debe configurarse para admitir secretos locales. Para obtener más información, consulte [Requisitos de secretos](secrets.md#secrets-reqs).
**nota**  
Este requisito incluye permitir el acceso a sus secretos de Secret Manager. Si utiliza el rol de servicio predeterminado de Greengrass, Greengrass tiene permiso para obtener los valores de los secretos cuyos nombres empiecen por *greengrass-*.
+ Para obtener los valores de los secretos locales, las funciones de Lambda definidas por el usuario deben AWS IoT Greengrass usar Core SDK v1.3.0 o una versión posterior.

## Paso 1: Creación de un secreto de Secrets Manager
<a name="secrets-console-create-secret"></a>

En este paso, utilizará la AWS Secrets Manager consola para crear un secreto.

1. <a name="create-secret-step-signin"></a>Inicie sesión en la [consola de AWS Secrets Manager](https://console.aws.amazon.com/secretsmanager/).
**nota**  
Para obtener más información sobre este proceso, consulte [Paso 1: Crear y almacenar el secreto en AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials_basic.html) en la *Guía del usuario de AWS Secrets Manager *.

1. <a name="create-secret-step-create"></a>Elija **Almacenar un secreto nuevo**.

1. <a name="create-secret-step-othertype"></a>En **Seleccionar tipo de secreto**, elija **Otro tipo de secreto**.

1. En **Specify the key-value pairs to be stored for this secret (Especificar los pares clave-valor que se almacenarán para este secreto)**:
   + En **Clave**, escriba **test**.
   + En **Valor**, introduzca **abcdefghi**.

1. <a name="create-secret-step-encryption"></a>Mantenga **aws/secretsmanager** seleccionado para la clave de cifrado y, a continuación, seleccione **Siguiente**.
**nota**  
No se te cobrará nada AWS KMS si utilizas la clave AWS gestionada predeterminada que Secrets Manager crea en tu cuenta.

1. En **Secret name (Nombre del secreto)**, escriba **greengrass-TestSecret** y, a continuación, seleccione **Next (Siguiente)**.
**nota**  
De forma predeterminada, el rol de servicio Greengrass permite AWS IoT Greengrass obtener el valor de los secretos con nombres que comienzan por *greengrass* -. Para obtener más información, consulte [requisitos de secretos](secrets.md#secrets-reqs).

1. <a name="create-secret-step-rotation"></a>Este tutorial no requiere rotación, así que elija desactivar la rotación automática y, a continuación, seleccione **Siguiente**.

1. <a name="create-secret-step-review"></a>En la página **Review (Revisar)**, revise los ajustes y, a continuación, seleccione **Store (Almacenar)**.

   A continuación, se crea un recurso de secreto en su grupo de Greengrass que hace referencia al secreto.

## Paso 2: Agregar un recurso de secreto a un grupo de Greengrass
<a name="secrets-console-create-resource"></a>

En este paso, debe configurar un recurso de grupo que hace referencia al secreto de Secrets Manager.

1. <a name="console-gg-groups"></a>En el panel de navegación de la AWS IoT consola, en **Administrar**, expanda **los dispositivos Greengrass** y, a continuación, elija **Grupos (V1)**.

1. <a name="create-secret-resource-step-choosegroup"></a>Elija el grupo al que desee añadir el recurso de secreto.

1. <a name="create-secret-resource-step-secretstab"></a>En la página de configuración del grupo, elija la pestaña **Recursos** y, a continuación, desplácese hacia abajo hasta la sección **Secretos**. La sección **Secretos** muestra los recursos secretos que pertenecen al grupo. Puede añadir, editar y quitar los recursos de secreto de esta sección.
**nota**  
Como alternativa, la consola le permite crear un secreto y un recurso secreto al configurar un conector o una función de Lambda. Puede hacerlo desde la página **Configurar parámetros** del conector o desde la página **Recursos** de la función de Lambda.

1. <a name="create-secret-resource-step-addsecretresource"></a>Seleccione **Añadir** en la sección **Secretos**.

1. En la página **Añadir un recurso secreto**, introduzca **MyTestSecret** el **Nombre del recurso**.

1. En **Secreto**, elija **greengrass-**. TestSecret

1. <a name="create-secret-resource-step-selectlabels"></a>En la sección **Seleccionar etiquetas (opcional)**, la AWSCURRENT etiqueta provisional representa la última versión del secreto. Esta etiqueta siempre está incluida en un recurso de secreto.
**nota**  
Este tutorial solo requiere la AWSCURRENT etiqueta. De forma opcional, puede incluir etiquetas que requieran su función de Lambda o un conector.

1. Seleccione **Add resource** (Añadir recurso).

## Paso 3: Creación de un paquete de implementación de la función de Lambda
<a name="secrets-console-create-deployment-package"></a>

Para crear una función de Lambda, primero debe crear un *paquete de implementación* de funciones de Lambda que contenga el código de la función y las dependencias. Las funciones de Lambda de Greengrass requieren el [SDK de AWS IoT Greengrass Core](lambda-functions.md#lambda-sdks-core) para tareas como la comunicación con los mensajes de MQTT en el entorno principal y el acceso a los secretos locales. En este tutorial se crea una característica de Python para que utilice la versión Python del SDK en el paquete de implementación.

**nota**  
Para obtener los valores de los secretos locales, las funciones de Lambda definidas por el usuario deben AWS IoT Greengrass usar Core SDK v1.3.0 o una versión posterior.

1. <a name="download-ggc-sdk"></a> Desde la página de descargas del [SDK AWS IoT Greengrass principal](what-is-gg.md#gg-core-sdk-download), descarga el SDK AWS IoT Greengrass básico para Python en tu ordenador.

1. <a name="unzip-ggc-sdk"></a>Descomprima el paquete descargado para obtener el SDK. El SDK es la carpeta `greengrasssdk`.

1. Guarde la siguiente función de código de Python en un archivo local llamado "`secret_test.py`".

   ```
   import greengrasssdk
   
   secrets_client = greengrasssdk.client("secretsmanager")
   iot_client = greengrasssdk.client("iot-data")
   secret_name = "greengrass-TestSecret"
   send_topic = "secrets/output"
   
   
   def function_handler(event, context):
       """
       Gets a secret and publishes a message to indicate whether the secret was
       successfully retrieved.
       """
       response = secrets_client.get_secret_value(SecretId=secret_name)
       secret_value = response.get("SecretString")
       message = (
           f"Failed to retrieve secret {secret_name}."
           if secret_value is None
           else f"Successfully retrieved secret {secret_name}."
       )
       iot_client.publish(topic=send_topic, payload=message)
       print("Published: " + message)
   ```

   La función `get_secret_value` admite el nombre o ARN del secreto del Secrets Manager para el valor `SecretId`. En este ejemplo se utiliza el nombre del secreto. Para este secreto de ejemplo, AWS IoT Greengrass devuelve el par clave-valor:. `{"test":"abcdefghi"}`
**importante**  
Asegúrese de que las funciones de Lambda definidas por el usuario gestionen los secretos de forma segura y no registren ningún dato confidencial almacenado en el secreto. Para obtener más información, consulte [Mitigar los riesgos de registrar y depurar la función de Lambda](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements) en la *Guía del usuario de AWS Secrets Manager *. Si bien esta documentación se refiere específicamente a las funciones de rotación, la recomendación también se aplica a las funciones de Lambda de Greengrass.

1. Comprima en un archivo ZIP los siguientes elementos en un archivo denominado "`secret_test_python.zip`". Al crear el archivo ZIP, incluya únicamente el código y sus dependencias, no la carpeta donde se encuentran.
   + **secret\$1test.py**. Lógica de la aplicación.
   + **greengrasssdk**. Biblioteca necesaria para todas las funciones de Lambda de Greengrass de Python.

   Este es el paquete de implementación de la función de Lambda.

## Paso 4: Crear una función de Lambda
<a name="secrets-console-create-function"></a>

En este paso, utilizará la AWS Lambda consola para crear una función Lambda y configurarla para que utilice su paquete de despliegue. A continuación, publicará una versión de la característica y creará un alias.

1. Primero, cree la función de Lambda.

   1. <a name="lambda-console-open"></a>En Consola de administración de AWS, elija **Servicios** y abra la AWS Lambda consola.

   1. <a name="lambda-console-create-function"></a>Elija **Crear función**, y, a continuación, elija **Autor desde cero**.

   1. En la sección **Basic information (Información básica)**, utilice los siguientes valores:
      + En **Function name** (Nombre de la característica), introduzca **SecretTest**.
      + En **Runtime** (Tiempo de ejecución), elija **Python 3.7**.
      + En **Permisos**, mantenga la configuración predeterminada. Esto crea un rol de ejecución que otorga permisos Lambda básicos. Este rol no lo usa AWS IoT Greengrass.

   1. <a name="lambda-console-save-function"></a>En la parte inferior de la página, elija **Create function**.

1. A continuación, registre el controlador y cargue el paquete de implementación de la función de Lambda.

   1. <a name="lambda-console-upload"></a>En la pestaña **Código**, en **Código fuente**, seleccione **Cargar desde**. En el menú desplegable, seleccione un **archivo .zip.**  
![\[La carga del menú desplegable con el archivo .zip resaltado.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Seleccione **Cargar** y, a continuación, elija su paquete de implementación de `secret_test_python.zip`. A continuación, elija **Guardar**.

   1. <a name="lambda-console-runtime-settings-para"></a>En la pestaña **Código** de la función, en **Configuración de tiempo de ejecución**, elija **Editar** y, a continuación, introduzca los siguientes valores.
      + En **Runtime** (Tiempo de ejecución), elija **Python 3.7**.
      + En **Handler (Controlador)**, escriba **secret\$1test.function\$1handler**.

   1. <a name="lambda-console-save-config"></a>Seleccione **Save**.
**nota**  
El botón de **prueba** de la AWS Lambda consola no funciona con esta función. El SDK AWS IoT Greengrass principal no contiene los módulos necesarios para ejecutar las funciones de Greengrass Lambda de forma independiente en la consola. AWS Lambda Estos módulos (por ejemplo, `greengrass_common`) se suministran a las funciones una vez desplegados en el núcleo de Greengrass.

1. Ahora, publique la primera versión de su función de Lambda y cree un [alias para la versión](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
**nota**  
Los grupos de Greengrass pueden hacer referencia a una función de Lambda por versión o alias (recomendado). El uso de un alias facilita la gestión de las actualizaciones del código porque no tiene que cambiar la tabla de suscripción o la definición del grupo cuando se actualiza el código de la función. En su lugar, basta con apuntar el alias a la nueva versión de la función.

   1. <a name="shared-publish-function-version"></a>En el menú **Actions**, elija **Publish new version**.

   1. <a name="shared-publish-function-version-description"></a>En **Version description (Descripción de versión)**, escriba **First version** y, a continuación, elija **Publish (Publicar)**.

   1. En la página de configuración **SecretTest: 1**, en el menú **Acciones**, seleccione **Crear** alias.

   1. En la página **Create a new alias**, utilice los valores siguientes:
      + En **Nombre**, escriba **GG\$1SecretTest**.
      + En **Version (Versión)**, elija **1**.
**nota**  
AWS IoT Greengrass **no admite los alias de Lambda para las versiones \$1LATEST.**

   1. Seleccione **Crear**.

Ahora está preparado para añadir la función de Lambda al grupo de Greengrass y asociar el recurso secreto.

## Paso 5: Adición de la función de Lambda al grupo de Greengrass
<a name="secrets-console-create-gg-function"></a>

En este paso, va a añadir la función de Lambda al grupo de Greengrass en la consola de AWS IoT .

1. <a name="choose-add-lambda"></a>En la página de configuración del grupo, elija la pestaña **Funciones de Lambda**.

1. En la sección **Mis funciones de Lambda**, seleccione **Añadir**.

1. Para la **función Lambda, elija**. **SecretTest**

1. Para la **versión de la función de Lambda**, elija el alias de la versión que publicó.

A continuación, configure el ciclo de vida de la función de Lambda.

1. En la sección de **Configuración de la función de Lambda**, realice las siguientes actualizaciones.
**nota**  
 Le recomendamos que ejecute la función de Lambda sin creación de contenedores, a menos que su modelo de negocio lo requiera. Esto permite el acceso a la GPU y la cámara del dispositivo sin necesidad de configurar los recursos del dispositivo. Si ejecuta sin contenedorización, también debe conceder acceso root a las funciones de Lambda AWS IoT Greengrass . 

   1. **Para ejecutar sin creación de contenedores:**
      + En **Usuario y grupo del sistema**, elija **Another user ID/group ID**. En **ID de usuario del sistema**, introduzca **0**. Para el **ID de grupo del sistema**, introduzca **0**.

        Esto permite que la función de Lambda se ejecute como raíz. Para obtener más información sobre cómo ejecutar como raíz, consulte [Configuración de la identidad de acceso predeterminada para las funciones de Lambda de un grupo](lambda-group-config.md#lambda-access-identity-groupsettings).
**sugerencia**  
También debe actualizar el archivo `config.json` para conceder acceso raíz a la función de Lambda. Para el procedimiento, consulte [Ejecución de una función de Lambda como raíz](lambda-group-config.md#lambda-running-as-root).
      + Para la **Creación de contenedores de la función de Lambda**, elija **Sin contenedor**.

        Para obtener más información sobre la ejecución sin creación de contenedores, consulte [Consideraciones a la hora de elegir la creación de contenedores de la función de Lambda.](lambda-group-config.md#lambda-containerization-considerations).
      + En **Tiempo de espera**, escriba **10 seconds**.
      + En **Ancladas**, elija **Verdadero**

        Para obtener más información, consulte [Configuración del ciclo de vida de las funciones de Lambda de Greengrass](lambda-functions.md#lambda-lifecycle).
      + En **Parámetro adicional**, para **Acceso de lectura al directorio /sys**, elija **Activado**.

   1.  **Para ejecutarlo en modo contenerizado, en su lugar:** 
**nota**  
No recomendamos ejecutarlo en modo contenerizado a menos que su modelo de negocio lo requiera.
      + En **Usuario y grupo del sistema**, seleccione **Usar grupo predeterminado**.
      + Para la **Creación de contenedores de funciones de Lambda**, elija **Usar grupo por defecto**.
      + En **Límite de memoria**, escriba **1024 MB**.
      + En **Tiempo de espera**, escriba **10 seconds**.
      + En **Ancladas**, elija **Verdadero**

        Para obtener más información, consulte [Configuración del ciclo de vida de las funciones de Lambda de Greengrass](lambda-functions.md#lambda-lifecycle).
      + En **Parámetros adicionales**, para **Acceso de lectura al directorio /sys**, elija **Activado**.

1.  Elija **Añadir función de Lambda**.

A continuación, asocie el recurso de secreto con la función.

## Paso 6: Asociar el recurso de secreto a la función de Lambda
<a name="secrets-console-affiliate-gg-function"></a>

En este paso, asocie el recurso secreto a la función de Lambda en su grupo de Greengrass. Esto asocia el recurso con la función, que permite a la función obtener el valor del secreto local.

1. En la página de configuración del grupo, elija la pestaña **Funciones de Lambda**.

1. Elija la función. **SecretTest**

1. En la página de detalles de la función, seleccione **Recursos**.

1. Vaya a la sección **Secretos** y seleccione **Asociar**.

1. Elija y **MyTestSecret**, a continuación, elija **Asociar**.

## Paso 7: Agregar suscripciones al grupo de Greengrass
<a name="secrets-console-create-subscription"></a>

En este paso, se añaden las suscripciones que permiten el intercambio de mensajes AWS IoT y la función Lambda. Una suscripción permite AWS IoT invocar la función y otra permite que la función envíe los datos de salida a. AWS IoT

1. <a name="shared-subscriptions-addsubscription"></a>En la página de configuración del grupo, elija la pestaña **Suscripciones** y, a continuación, elija **Añadir suscripción**.

1. Cree una suscripción que permita AWS IoT publicar mensajes en la función.

   En la página de configuración del grupo, elija la pestaña **Suscripciones** y, a continuación, elija **Añadir suscripción**.

1. En la página **Crear una suscripción**, configure el origen y el destino de la siguiente manera:

   1. En **Tipo de origen**, elija **Función de Lambda** y, a continuación, elija **Nube IoT**.

   1. En **Tipo de destino**, selecciona **Servicio** y, a continuación, selecciona **SecretTest**.

   1. En **Filtro por temas**, introduzca **secrets/input** y, a continuación, seleccione **Crear suscripción.** 

1. Añadir una segunda suscripción. Seleccione la pestaña **Suscripciones**, elija **Agregar suscripción** y configure el origen y el destino de la siguiente manera: 

   1. En **Tipo de origen**, elija **Servicios** y, a continuación, elija **SecretTest**.

   1. En **Tipo de destino**, elija **función de Lambda** y, a continuación, elija **Nube IoT**.

   1. En **Filtro por temas**, introduzca **secrets/output** y, a continuación, seleccione **Crear suscripción.**

## Paso 8: Implementar el grupo de Greengrass
<a name="secrets-console-create-deployment"></a>

Implemente el grupo en el dispositivo del núcleo. Durante el despliegue, AWS IoT Greengrass obtiene el valor del secreto de Secrets Manager y crea una copia local cifrada en el núcleo.

1. <a name="shared-deploy-group-checkggc"></a>Asegúrese de que el AWS IoT Greengrass núcleo esté funcionando. Ejecute los siguientes comandos en el terminal de Raspberry Pi según sea necesario.

   1. Para comprobar si el daemon está en ejecución:

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      Si la salida contiene una entrada `root` para `/greengrass/ggc/packages/ggc-version/bin/daemon`, el daemon está en ejecución.
**nota**  
La versión de la ruta depende de la versión del software AWS IoT Greengrass principal que esté instalada en el dispositivo principal.

   1. Inicio de daemon:

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. <a name="shared-deploy-group-deploy"></a>En la página de configuración de grupo, elija **Implementar**.

1. <a name="shared-deploy-group-ipconfig"></a>

   1. En la pestaña **Funciones de Lambda**, en la sección **Funciones de Lambda del sistema**, seleccione **Detector IP** y elija **Editar.**

   1. En el cuadro de diálogo **Editar configuración del detector IP**, seleccione **Detectar y anular automáticamente los puntos de conexión del agente MQTT**.

   1. Seleccione **Save**.

      Esto permite a los dispositivos adquirir automáticamente la información de conexión del dispositivo principal, como la dirección IP, el DNS y el número de puerto. Se recomienda la detección automática, pero AWS IoT Greengrass también es compatible con los puntos finales especificados manualmente. Solo se le solicitará el método de detección la primera vez que se implemente el grupo.
**nota**  
Si se le solicita, conceda permiso para crear el [rol de servicio de Greengrass](service-role.md) y asócielo al suyo Cuenta de AWS en el actual. Región de AWS Este rol le permite acceder AWS IoT Greengrass a sus recursos en los AWS servicios.

      En la página **Deployments** (Implementaciones), se muestra la marca temporal, el ID de versión y el estado de la implementación. Una vez terminada, la implementación debería mostrar el estado **Completado**.

      Para obtener ayuda sobre la resolución de problemas, consulte [Solución de problemas AWS IoT Greengrass](gg-troubleshooting.md).

## Prueba de la función de Lambda
<a name="secrets-console-test-solution"></a>

1. <a name="choose-test-page"></a>En la página de inicio de la AWS IoT consola, selecciona **Probar**.

1. Para **Suscribirse al tema**, utilice los siguientes valores y, a continuación, seleccione **Suscribirse**.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/secrets-console.html)

1. Para **Publicar en tema**, utilice los siguientes valores y, a continuación, seleccione **Publicar** para invocar la función.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/secrets-console.html)

   Si se ejecuta correctamente, la función publica un mensaje de "Success (Correcto)".

## Véase también
<a name="secrets-console-see-also"></a>
+ [Despliega los secretos hasta la AWS IoT Greengrass médula](secrets.md)