Un Secreto es un valor privado que se almacena en el backend de Atlas y se oculta a los usuarios. Los secretos son útiles para almacenar información sensible, como una clave API o un identificador interno.
No puedes leer directamente el valor de un Secreto después de definirlo. En cambio, vinculas el Secreto a otro Valor, y luego accedes al valor desde una Función activadora.
Define un secreto
Puedes definir un nuevo Secret desde la Interfaz de Usuario o mediante la App Services CLI.
Tenga en cuenta que la interfaz de usuario se refiere a la creación de un nuevo valor cuando se define un Secreto. Esto se debe a que un Secreto es un tipo especial de Valor, cuyo valor se oculta después de crearlo.
En Atlas, ve a la página Triggers de tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Triggers en la sección Streaming Data.
Se muestra la página de Triggers.
Asigne un nombre al valor secreto
Ingrese un nombre para el Secreto. Este nombre es cómo se hace referencia al Secreto en las funciones y debe ser único dentro del proyecto.
Nota
Restricciones para el nombre secreto
Los nombres de valores no pueden exceder los 64 caracteres y solo pueden contener letras ASCII, números, guiones bajos y guiones. El primer carácter debe ser una letra o un número.
Autenticar a un usuario de MongoDB Atlas
Usa tu Clave API de administración de MongoDB Atlas para iniciar sesión en la CLI de App Services:
appservices login --api-key="<API KEY>" --private-api-key="<PRIVATE KEY>"
Extrae los archivos de configuración más recientes de tu aplicación
Ejecute el siguiente comando para obtener una copia local de sus archivos de configuración:
appservices pull --remote=<App ID>
Por defecto, el comando arrastra los archivos al directorio de trabajo actual. Puede especificar una ruta de directorio con el indicador opcional --local.
Ver secretos
Puedes ver una lista de todos los Secrets en una aplicación desde la Interfaz de Usuario o utilizando la App Services CLI.
Desde la página Triggers, haz clic en el enlace Linked App Service: Triggers.
En la barra lateral, haz clic en Values en la sección Build.
La tabla muestra todos los valores, incluidos los secretos, e indica el tipo de cada valor en su fila.
Para listar los nombres e IDs de todos los Secrets, ejecuta el siguiente comando:
appservices secrets list --app=<Your App ID>
Actualizar un Secreto
Puedes actualizar un Secreto desde la Interfaz de Usuario o usando la App Services CLI.
Para actualizar un Secret desde la Interfaz de Usuario de Atlas:
Desde la página Triggers, haz clic en el enlace Linked App Service: Triggers.
En la barra lateral, haz clic en Values en la sección Build.
Busca el valor que deseas actualizar en la tabla, abre su menú Actions y selecciona Edit Secret.
Puedes cambiar tanto el nombre como el valor del secreto.
Haga clic en Save y, si fuera necesario, implemente los cambios.
Para actualizar el valor de un Secreto mediante la CLI de App Services, ejecuta el siguiente comando:
appservices secrets update --app=<Your App ID> \ --secret="<Secret ID or Name>" \ --name="<Updated Secret Name>" \ --value="<Updated Value>"
Usar un secreto
No puedes leer directamente el valor de un Secreto después de definirlo.
Para utilizar un Secreto en una Función de Triggers:
Crear un Valor nuevo que se vincule con el secreto.
Utiliza el módulo context.values para acceder al valor del Secret en tu Function (función).
Borrar un secreto
Puedes borrar un Secreto desde la Interfaz de Usuario o utilizando la App Services CLI.
Para borrar un Secret desde la Interfaz de Usuario de Atlas:
Desde la página Triggers, haz clic en el enlace Linked App Service: Triggers.
En la barra lateral, haz clic en Values en la sección Build.
Busca el valor que deseas borrar en la tabla, abre su menú Actions, y selecciona Delete Secret.
Confirma que deseas borrar el Secreto.
Para borrar un Secreto utilizando la CLI de App Services, ejecuta el siguiente comando:
appservices secrets delete --app=<Your App ID> --secret=<Secret ID>
Tip
Puedes borrar múltiples Secretos con un solo comando especificando sus valores name o id como una lista separada por comas.
appservices secrets delete --app=<Your App ID> \ --secret=some-api-key,609af850b78eca4a8db4303f,another-key