Usar arquivos seguros

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Este artigo descreve arquivos seguros e como usá-los no Azure Pipelines. Os arquivos seguros são uma maneira de armazenar arquivos que você pode usar em pipelines sem precisar confirmá-los em seu repositório.

Você pode usar a biblioteca de arquivos seguros para armazenar arquivos como:

  • Certificados de autenticação.
  • Perfis de provisionamento da Apple.
  • Arquivos do repositório de chaves do Android.
  • Chaves SSH.

O limite de tamanho para cada arquivo seguro é de 10 MB.

Os arquivos seguros são armazenados no servidor de forma criptografada e podem ser consumidos somente de uma tarefa de pipeline. Arquivos seguros são um recurso protegido. Você pode usar aprovações, verificações e permissões de pipeline para limitar o acesso aos arquivos. Arquivos seguros também podem usar as funções do modelo de segurança de biblioteca.

Pré-requisitos

  • Um projeto do Azure DevOps em que você tem permissões para criar pipelines e adicionar itens de biblioteca.
  • Um certificado, um repositório de chaves ou um arquivo de provisionamento que você deseja usar com segurança em seu pipeline.

Adicionar um arquivo seguro

  1. No projeto do Azure DevOps, acesse Pipelines>Biblioteca e selecione a guia Arquivos seguros.

    Captura de tela da seleção da guia Arquivos Seguros.

  2. Para carregar um arquivo seguro, selecione + Arquivo seguro e navegue para carregar ou arrastar e soltar o arquivo.

    Captura de tela de upload do seu arquivo.

  3. Selecione OK. Depois de carregar o arquivo, você poderá excluí-lo, mas não substituí-lo.

Definir direitos de acesso e permissões

Você pode definir restrições e permissões de direito de acesso para todos os itens em uma biblioteca ou para itens individuais.

  • Para atribuir direitos de acesso a todos os itens em uma biblioteca, selecione Segurança na página Biblioteca.

  • Para definir permissões para um arquivo individual:

    1. Selecione o arquivo na lista Arquivos seguros.
    2. Na parte superior da página Arquivo seguro, selecione:
      • Segurança para definir os usuários e os direitos de acesso que podem acessar o arquivo.
      • Permissões de pipeline para selecionar pipelines YAML que podem acessar o arquivo.
      • Aprovações e verificações para definir aprovadores e outras verificações para usar o arquivo. Para obter mais informações, confira Aprovações e verificações.

    Definir a segurança do pipeline para arquivos seguros.

Autorizar um pipeline YAML a usar um arquivo seguro

Para usar um arquivo seguro em pipelines YAML, você deve autorizar o pipeline a usar o arquivo. Todos os pipelines Clássicos podem acessar arquivos seguros.

Para autorizar um pipeline ou todos os pipelines a usar um arquivo seguro:

  1. Na parte superior da página do arquivo seguro, selecione Permissões de pipeline.
  2. Na tela Permissões de pipeline, selecione + e, em seguida, selecione um pipeline de projeto para autorizar. Ou, para autorizar todos os pipelines a usar o arquivo, selecione o ícone Mais ações, selecione Acesso aberto e selecione Acesso aberto novamente para confirmar.

Consumir um arquivo seguro em um pipeline

Para consumir arquivos seguros em um pipeline, use a tarefa do utilitário Baixar Arquivo Seguro. O agente de pipeline deve estar executando a versão 2.182.1 ou superior. Para obter mais informações, consulte Versão e atualizações do agente.

O pipeline YAML de exemplo a seguir baixa um arquivo de certificado seguro e o instala em um ambiente 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)

Observação

Se você vir um erro Invalid Resource ao baixar um arquivo seguro com o Azure DevOps Server local, verifique se a Autenticação Básica do IIS está desabilitada no servidor.