Использование защитных файлов

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

В этой статье описаны безопасные файлы и способы их использования в Azure Pipelines. Безопасные файлы — это способ хранения файлов, которые можно использовать в конвейерах, не зафиксировав их в репозитории.

Вы можете использовать библиотеку безопасных файлов для хранения таких файлов, как:

  • Подписывание сертификатов.
  • Профили подготовки Apple.
  • Файлы хранилища ключей Android.
  • Ключи SSH.

Ограничение размера для каждого защищенного файла составляет 10 МБ.

Защищенные файлы хранятся на сервере в зашифрованной форме и могут использоваться только из задачи конвейера. Защищенные файлы — это защищенный ресурс. Для ограничения доступа к файлам можно использовать утверждения, проверки и разрешения конвейера. Безопасные файлы также используют роли модели безопасности библиотеки.

Необходимые компоненты

  • Проект Azure DevOps, в котором у вас есть разрешения на создание конвейеров и добавление элементов библиотеки.
  • Файл сертификата, хранилища ключей или подготовки, который вы хотите безопасно использовать в конвейере.

Добавление защищенного файла

  1. В проекте Azure DevOps перейдите в библиотеку конвейеров>и перейдите на вкладку "Безопасные файлы".

    Снимок экрана: выбор вкладки

  2. Чтобы отправить защищенный файл, выберите +Безопасный файл, а затем перейдите к отправке или перетаскивании файла.

    Снимок экрана: отправка файла.

  3. Нажмите ОК. После отправки файла его можно удалить, но не заменить его.

Определение ролей безопасности и разрешений

Можно определить ограничения и разрешения ролей безопасности для всех элементов в библиотеке или для отдельных элементов.

  • Чтобы назначить роли безопасности для всех элементов библиотеки, выберите "Безопасность " на странице "Библиотека ".

  • Чтобы определить разрешения для отдельного файла, выполните следующие действия.

    1. Выберите файл из списка безопасных файлов .
    2. В верхней части страницы "Безопасный файл " выберите:
      • Безопасность для задания пользователей и ролей безопасности, которые могут получить доступ к файлу.
      • Разрешения конвейера для выбора конвейеров YAML, которые могут получить доступ к файлу.
      • Утверждения и проверки для задания утверждающих и других проверок использования файла. Дополнительные сведения см. в разделе "Утверждения и проверки".

    Задайте безопасность конвейера для безопасных файлов.

Авторизация конвейера YAML для использования безопасного файла

Чтобы использовать безопасный файл в конвейерах YAML, необходимо авторизовать конвейер для использования файла. Все классические конвейеры могут получить доступ к защищенным файлам.

Чтобы авторизовать конвейер или все конвейеры для использования безопасного файла:

  1. В верхней части страницы безопасного файла выберите разрешения конвейера.
  2. На экране разрешений конвейера выберите +и выберите конвейер проекта для авторизации. Или, чтобы авторизовать все конвейеры для использования файла, щелкните значок "Дополнительные действия", выберите "Открыть доступ" и снова нажмите кнопку "Открыть доступ", чтобы подтвердить.

Использование защищенного файла в конвейере

Чтобы использовать безопасные файлы в конвейере, используйте служебную программу загрузки безопасных файлов . Агент конвейера должен работать с версией 2.182.1 или более поздней. Дополнительные сведения см. в разделе "Версия агента" и "Обновления".

В следующем примере конвейер YAML загружает файл защищенного сертификата и устанавливает его в среде 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)

Примечание.

Если при Invalid Resource скачивании безопасного файла с azure DevOps Server в локальной среде возникает ошибка, убедитесь, что на сервере отключена обычная проверка подлинности IIS.

  • Чтобы создать пользовательскую задачу, использующую защищенные файлы, используйте входные данные с типом secureFile в task.json. Дополнительные сведения см. в статье о создании пользовательской задачи.

  • Задача "Установить профиль подготовки Apple" — это простой пример, использующий безопасный файл. Исходный код см. в разделе InstallAppleProvisioningProfileV1.

  • Сведения об обработке защищенных файлов во время задач сборки или выпуска см. в модуле Common для задач.