Administración de secretos en Azure Container Apps

Azure Container Apps permite que la aplicación almacene de forma segura valores de configuración confidenciales. Una vez definidos los secretos en el nivel de aplicación, los valores protegidos están disponibles para las revisiones de las aplicaciones contenedoras. Además, puede hacer referencia a valores protegidos dentro de las reglas de escalado. Para obtener información sobre el uso de secretos con Dapr, consulte Integración de Dapr.

  • Los secretos están limitados a una aplicación, fuera de cualquier revisión específica de una aplicación.
  • Agregar, quitar o cambiar secretos no genera nuevas revisiones.
  • Cada revisión de aplicación puede hacer referencia a uno o varios secretos.
  • Varias revisiones pueden hacer referencia a los mismos secretos.

Un secreto actualizado o eliminado no afecta automáticamente a las revisiones existentes en la aplicación. Cuando se actualiza o elimina un secreto, puede responder a los cambios de una de estas dos maneras:

  1. Implementación de una nueva revisión.
  2. Reinicio de una revisión existente.

Antes de eliminar un secreto, implemente una nueva revisión que ya no haga referencia al secreto anterior. A continuación, desactive todas las revisiones que hacen referencia al secreto.

Definición de secretos

Los secretos se definen como un conjunto de pares nombre-valor. El valor de cada secreto se especifica directamente o como referencia a un secreto almacenado en Azure Key Vault.

Almacenamiento del valor secreto en Container Apps

Al definir secretos a través del portal o a través de diferentes opciones de línea de comandos.

  1. Vaya a la aplicación contenedora en Azure Portal.

  2. En la sección Configuración, seleccione Secretos.

  3. Seleccione Agregar.

  4. En el panel Agregar contexto secreto , escriba la siguiente información:

    • Nombre: nombre del secreto.
    • Tipo: seleccione Container Apps Secret (Secreto de aplicaciones de contenedor).
    • Valor: valor del secreto.
  5. Seleccione Agregar.

Secreto de referencia de Key Vault

Al definir un secreto, se crea una referencia a un secreto almacenado en Azure Key Vault. Container Apps recupera automáticamente el valor secreto de Key Vault y lo pone a disposición como secreto en la aplicación contenedora.

Para hacer referencia a un secreto desde Key Vault, primero debe habilitar la identidad administrada en la aplicación de contenedor y conceder a la identidad acceso a los secretos de Key Vault.

Para habilitar la identidad administrada en la aplicación de contenedor, consulte Identidades administradas.

Para conceder acceso a secretos de Key Vault, cree una directiva de acceso en Key Vault para la identidad administrada que creó. Habilite el permiso secreto "Get" en esta directiva.

  1. Vaya a la aplicación contenedora en Azure Portal.

  2. En la sección Configuración, seleccione Identidad.

  3. En la pestaña Asignado por el sistema, seleccione Activado.

  4. Seleccione Guardar para habilitar la identidad administrada asignada por el sistema.

  5. En la sección Configuración, seleccione Secretos.

  6. Seleccione Agregar.

  7. En el panel Agregar contexto secreto , escriba la siguiente información:

    • Nombre: nombre del secreto.
    • Tipo: seleccione Referencia de Key Vault.
    • Dirección URL del secreto de Key Vault: el URI del secreto en Key Vault.
    • Identidad: identidad que se va a usar para recuperar el secreto de Key Vault.
  8. Seleccione Agregar.

Nota:

Si usa UDR con Azure Firewall, deberá agregar la AzureKeyVault etiqueta de servicio y el FQDN de login.microsoft.com a la lista de permitidos del firewall. Consulte configuración de UDR con Azure Firewall para decidir qué etiquetas de servicio adicionales necesita.

URI y rotación de secretos de Key Vault

El URI del secreto de Key Vault debe tener uno de los siguientes formatos:

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: haga referencia a una versión específica de un secreto.
  • https://myvault.vault.azure.net/secrets/mysecret: haga referencia a la versión más reciente de un secreto.

Si no se especifica una versión en el URI, la aplicación usa la versión más reciente que existe en el almacén de claves. Cuando haya versiones más recientes disponibles, la aplicación recupera automáticamente la versión más reciente en un plazo de 30 minutos. Las revisiones activas que hacen referencia al secreto en una variable de entorno se reinician automáticamente para recoger el nuevo valor.

Para controlar por completo qué versión de un secreto se usa, especifique la versión en el URI.

Referencia de secretos en variables de entorno

Después de declarar secretos en el nivel de aplicación como se describe en la sección definición de secretos, puede hacer referencia a ellos en variables de entorno al crear una nueva revisión en la aplicación del contenedor. Cuando una variable de entorno hace referencia a un secreto, su valor se rellena con el valor definido en el secreto.

Ejemplo

En el ejemplo siguiente se muestra una aplicación que declara una cadena de conexión en el nivel de aplicación. Esta conexión se hace referencia en una variable de entorno de contenedor y en una regla de escalado.

Después de definir un secreto en la aplicación de contenedor, puede hacer referencia a él en una variable de entorno al crear una nueva revisión.

  1. Vaya a la aplicación contenedora en Azure Portal.

  2. Abra la página Administración de revisiones.

  3. Seleccione Crear nueva revisión.

  4. En la página Crear e implementar una nueva revisión , seleccione un contenedor.

  5. En la sección Variables de entorno, seleccione Agregar.

  6. Escriba la siguiente información:

    • Nombre: nombre de la variable de entorno.
    • Origen: seleccione Hacer referencia a un secreto.
    • Valor: seleccione el secreto al que desea hacer referencia.
  7. Seleccione Guardar.

  8. Seleccione Crear para crear la nueva revisión.

Montaje de secretos en un volumen

Después de declarar secretos en el nivel de aplicación como se describe en la sección de definición de secretos, puede hacer referencia a ellos en montajes de volúmenes al crear una nueva revisión en la aplicación contenedora. Al montar secretos en un volumen, cada secreto se monta como un archivo en el volumen. El nombre de archivo es el nombre del secreto y el contenido del archivo es el valor del secreto. Puede cargar todos los secretos en un montaje de volumen o puede cargar secretos específicos.

Ejemplo

Después de definir un secreto en la aplicación de contenedor, puede hacer referencia a él en un montaje de volumen al crear una nueva revisión.

  1. Vaya a la aplicación contenedora en Azure Portal.

  2. Abra la página Administración de revisiones.

  3. Seleccione Crear nueva revisión.

  4. En la página Crear e implementar una nueva revisión .

  5. Seleccione un contenedor y seleccione Editar.

  6. En la sección Montajes de volúmenes, expanda la sección Secretos.

  7. Seleccione Crear nuevo volumen.

  8. Escriba la siguiente información:

    • Nombre: mysecrets
    • Montaje de todos los secretos: habilitado

    Nota:

    Si desea cargar secretos específicos, deshabilite Montar todos los secretos y seleccione los secretos que desea cargar.

  9. Seleccione Agregar.

  10. En Nombre del volumen, seleccione mysecrets.

  11. En Ruta de acceso de montaje, escriba /mnt/secrets.

  12. Seleccione Guardar.

  13. Seleccione Crear para crear la nueva revisión con el montaje del volumen.

Pasos siguientes