Usar arquivos seguros

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

Arquivos seguros oferecem uma maneira de armazenar arquivos que você pode compartilhar entre pipelines. Use 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

Esses arquivos podem ser armazenados no servidor sem ter de fazer commit deles no seu repositório.

O conteúdo dos arquivos seguros é criptografado e só pode ser usado quando você os consome por meio de uma tarefa. Arquivos seguros são um recurso protegido. É possível adicionar aprovações e verificações a eles e definir permissões de pipeline. Arquivos seguros também podem usar o Modelo de segurança de biblioteca.

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

Adicionar um arquivo seguro

  1. Acesse Pipelines>Biblioteca>Arquivos seguros.

    Selecione a guia Arquivos Seguros.

  2. Selecione Arquivo seguro para carregar um novo arquivo seguro. Navegue para fazer upload ou arraste e solte o arquivo. É possível excluir este arquivo, mas não substituí-lo.

    Carregue seu arquivo.

  3. Adicionar permissões ao arquivo.

    1. Aplique restrições de função de segurança para todos os arquivos na guia Segurança em Pipelines>Biblioteca.
    2. Para adicionar permissões para um arquivo individual, na exibição de edição do arquivo, selecione Permissões de pipeline para definir as permissões por pipeline. Ou selecione Segurança para definir as funções de segurança.

    Definir a segurança do Pipeline para arquivos seguros.

Consumir um arquivo seguro em um pipeline

Use a tarefa do utilitário Baixar Arquivo Seguro para consumir arquivos seguros em um pipeline.

O exemplo a seguir de pipeline YAML 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)

Perguntas frequentes

P: Como posso criar uma tarefa personalizada usando arquivos seguros?

R: Crie suas tarefas que usam arquivos seguros usando entradas com o tipo secureFile no task.json. Saiba como criar uma tarefa personalizada.

A tarefa Instalar Perfil de Provisionamento da Apple é um exemplo simples de uma tarefa usando um arquivo seguro. Confira a documentação de referência e o código-fonte.

Para lidar com arquivos seguros durante a compilação ou versão, você pode consultar o módulo comum disponível aqui.

P: Minha tarefa não pode acessar os arquivos seguros. O que devo fazer?

R: Verifique se o agente está executando a versão 2.116.0 ou superior. Confira Versões e atualizações do agente.

P: Como eu autorizo um arquivo seguro para uso em um pipeline específico?

A:

  1. Em Azure Pipelines, selecione a guia Biblioteca.
  2. Selecione a guia Arquivos seguros na parte superior.
  3. Selecione o arquivo seguro que você deseja autorizar.
  4. Selecione o botão Permissões de pipeline.
  5. Examine e modifique o acesso para cada pipeline disponível.

P: Por que vejo um erro Invalid Resource ao baixar um arquivo seguro com o Azure DevOps Server/TFS local?

R: Verifique se a Autenticação Básica do IIS está desabilitada no TFS ou no Azure DevOps Server.

P: Como os arquivos seguros são protegidos?

R: Os arquivos seguros, os grupos de variáveis e as conexões de serviço estão todos protegidos da mesma maneira no Azure DevOps. Eles também são todos recursos protegidos.

Os segredos são criptografados e armazenados no banco de dados. As chaves para descriptografar segredos são armazenadas no Azure Key Vault. As chaves são específicas para cada unidade de escala. Portanto, duas regiões não compartilham as mesmas chaves. As chaves também são alteradas com cada implantação do Azure DevOps.

Os direitos para recuperar chaves seguras são concedidos apenas às entidades de serviço do Azure DevOps e (em ocasiões especiais) sob demanda para diagnosticar problemas. O armazenamento seguro não tem nenhuma certificação.

O Azure Key Vault é outra opção mais segura para proteger informações confidenciais. Se você decidir usar o Azure Key Vault, poderá usá-lo com grupos de variáveis.