Compartir vía


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 con Azure Container Apps.

  • Los secretos están limitados a una aplicación, fuera de cualquier revisión específica de una aplicación.
  • Las nuevas revisiones no se generan agregando, eliminando o cambiando secretos.
  • 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.

Nota:

Evite especificar el valor de un secreto directamente en un entorno de producción. En su lugar, use una referencia a un secreto almacenado en Azure Key Vault, como se describe en el valor de secreto de Store en la sección Container Apps.

Almacenamiento de valores de secretos 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 de contenedor en Azure Portal.

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

  3. Seleccione Agregar.

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

    • Nombre: nombre del secreto.
    • Tipo: seleccione Secreto de Container Apps.
    • Valor: valor del secreto.
  5. Seleccione Agregar.

Hacer referencia a un secreto 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 del 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 contenedora 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 en Azure Container Apps.

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

  1. Vaya a la aplicación de contenedor 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 de contexto Agregar secreto, escriba la siguiente información:

    • Nombre: nombre del secreto.
    • Tipo: seleccione Referencia de Key Vault.
    • Dirección URL del secreto de Key Vault: identificador 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 etiqueta de servicio AzureKeyVault y el FQDN 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.

Identificador URI de un secreto de Key Vault y rotación de secretos

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

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

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

Para controlar completamente qué versión de un secreto se utiliza, especifique la versión en el identificador 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 de contenedor 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, tal como se describe en la sección Definición de secretos, puede hacer referencia a ellos en los montajes de volumen al crear una nueva revisión en la aplicación de contenedor. 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 de contenedor 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 volumen, expanda la sección Secretos.

  7. Seleccione Crear nuevo volumen.

  8. Escriba la siguiente información:

    • Nombre: mysecrets
    • Montar 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 de 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 de volumen.

Pasos siguientes