Uso de archivos seguros

Azure DevOps Services | Azure DevOps Server 2022: Azure DevOps Server 2019 | TFS 2018

Los archivos seguros proporcionan una manera de almacenar archivos que puede compartir entre canalizaciones. Use la biblioteca de archivos seguros para almacenar archivos como:

  • certificados de firma
  • Perfiles de aprovisionamiento de Apple
  • Archivos de almacén de claves de Android
  • Claves SSH

Estos archivos se pueden almacenar en el servidor sin confirmarlos en el repositorio.

El contenido de los archivos seguros está cifrado y solo se puede usar cuando se consume de una tarea. Los archivos seguros son un recurso protegido. Puede agregar aprobaciones y comprobaciones a ellos y establecer permisos de canalización. Los archivos seguros también pueden usar el modelo de seguridad de biblioteca.

El límite de tamaño de cada archivo seguro es de 10 MB.

Nota:

Microsoft Visual Studio Team Foundation Server 2018 y sus versiones anteriores tienen las siguientes diferencias en la terminología:

  • Los procesos de las compilaciones y versiones se denominan definiciones
  • Las ejecuciones se denominan compilaciones
  • Las conexiones de servicio se denominan puntos de conexión de servicio
  • Las fases se denominan entornos
  • Los trabajos se denominan fases

Adición de un archivo seguro

  1. Vaya a Canalizaciones>Biblioteca>Archivos seguros.

    Select the Secure Files tab.

  2. Seleccione Archivo seguro para cargar un nuevo archivo seguro. Busque el archivo para cargarlo o arrastrarlo y colocarlo. Puede eliminar este archivo, pero no puede reemplazarlo.

    Upload your file.

  3. Agregue permisos al archivo.

    1. Aplique restricciones de rol de seguridad para todos los archivos de la pestaña Seguridad en Canalizaciones>Biblioteca.
    2. Si desea agregar permisos para un archivo determinado, en la vista de edición del archivo, seleccione Permisos de canalización para establecer permisos por canalización. O bien seleccione Seguridad para establecer roles de seguridad.

    Set Pipeline security for secure files.

Consumo de un archivo seguro en una canalización

Use la tarea de utilidad Descargar archivo seguro para consumir archivos seguros en una canalización.

En el ejemplo de canalización de YAML siguiente se descarga un archivo de certificado seguro y se instala en un entorno Linux.

- task: DownloadSecureFile@1
  name: caCertificate
  displayName: 'Download CA certificate'
  inputs:
    secureFile: 'myCACertificate.pem'

- script: |
    echo Installing $(caCertificate.secureFilePath) to the trusted CA directory...
    sudo chown root:root $(caCertificate.secureFilePath)
    sudo chmod a+r $(caCertificate.secureFilePath)
    sudo ln -s -t /etc/ssl/certs/ $(caCertificate.secureFilePath)

Preguntas más frecuentes

P: ¿Cómo puedo crear una tarea personalizada mediante archivos seguros?

R: Cree sus propias tareas que usen archivos seguros mediante entradas con el tipo secureFile en task.json. Obtenga información sobre cómo crear una solución personalizada.

La tarea de instalación del perfil de aprovisionamiento de Apple es un ejemplo sencillo de una tarea que usa archivo seguro. Consulte la documentación de referencia y el código fuente.

Para controlar archivos seguros durante la compilación o versión, puede consultar el módulo común disponible aquí.

P: Mi tarea no puede acceder a los archivos seguros. ¿Qué puedo hacer?

R: Asegúrese de que el agente ejecuta la versión 2.116.0 o posterior. Consulte Versión y actualizaciones del agente.

P: ¿Cómo puedo autorizar un archivo seguro para su uso en una canalización específica?

A.

  1. En Azure Pipelines, seleccione la pestaña Biblioteca .
  2. Seleccione la pestaña Archivos seguros en la parte superior.
  3. Seleccione el archivo seguro que desea autorizar.
  4. Haga clic en el botón Permisos de canalización.
  5. Revise y modifique el acceso para cada canalización disponible.

P: ¿Por qué veo un error Invalid Resource al descargar un archivo seguro con Azure DevOps Server/TFS local?

R: Asegúrese de que la autenticación básica de IIS está deshabilitada en TFS o Azure DevOps Server.

P: ¿Cómo se protegen los archivos seguros?

R: Los archivos seguros, los grupos de variables y las conexiones de servicio se protegen de la misma manera en Azure DevOps. También son todos recursos protegidos.

Los secretos se cifran y almacenan en la base de datos. Las claves para descifrar secretos se almacenan en Azure Key Vault. Las claves son específicas de cada unidad de escalado. Por lo tanto, dos regiones no comparten las mismas claves. Las claves también se rotan con cada implementación de Azure DevOps.

Los derechos para recuperar claves seguras solo se proporcionan a las entidades de servicio de Azure DevOps y a petición (en ocasiones especiales) para diagnosticar problemas. El almacenamiento seguro no tiene ninguna certificación.

Azure Key Vault es otra opción más segura para proteger la información confidencial. Si decide usar Azure Key Vault, puede usarlo con grupos de variables.