Recursos do pipeline

Serviços do Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020

O Azure Pipelines oferece segurança para além de proteger apenas o ficheiro YAML e o código fonte. Quando os pipelines YAML são executados, o acesso aos recursos passa por um sistema chamado verificações. As verificações podem suspender ou mesmo falhar uma execução de pipeline para manter os recursos seguros. Um pipeline pode aceder a dois tipos de recursos, protegidos e abertos.

Recursos protegidos

Os seus pipelines têm frequentemente acesso a segredos. Por exemplo, para assinar a compilação, precisa de um certificado de assinatura. Para implementar num ambiente de produção, precisa de uma credencial para esse ambiente. Os Pipelines do Azure requerem a função de Administrador ao abrir o acesso a um recurso para todos os pipelines para todos os recursos protegidos, exceto para Ambientes. Para Ambientes, precisará da função Criador . Saiba mais sobre a proteção de recursos.
Nos Pipelines do Azure, todos os seguintes recursos são considerados recursos protegidos em pipelines YAML:

"Protegido" significa:

  • Podem ser acessíveis a utilizadores específicos e pipelines específicos no projeto. Não podem ser acedidos por utilizadores e pipelines fora de um projeto.
  • Pode executar outras verificações manuais ou automatizadas sempre que um pipeline YAML utilizar um destes recursos. Para saber mais sobre recursos protegidos, veja Acerca dos recursos do pipeline.

Proteger recursos do repositório

Opcionalmente, os repositórios podem ser protegidos. Ao nível da organização ou do projeto, pode optar por limitar o âmbito do token de acesso dos Pipelines do Azure aos repositórios mencionados. Ao fazê-lo, os Pipelines do Azure adicionarão mais duas proteções:

  • O token de acesso fornecido ao agente para executar tarefas só terá acesso a repositórios explicitamente mencionados na resources secção do pipeline.
  • Os repositórios adicionados ao pipeline terão de ser autorizados por alguém com acesso de contribuição para o repositório na primeira vez que o pipeline utilizar o repositório.

Esta definição está ativada por predefinição para todas as organizações criadas após maio de 2020. As organizações criadas anteriormente devem ativá-la nas definições da Organização.

Abrir recursos

Todos os outros recursos num projeto são considerados recursos abertos . Os recursos abertos incluem:

  • Artefactos
  • Pipelines
  • Planos de teste
  • Itens de trabalho

Irá saber mais sobre os pipelines que podem aceder aos recursos na secção em projetos.

Permissões de utilizador

A primeira linha de defesa para recursos protegidos são as permissões de utilizador. Em geral, certifique-se de que só dá permissões aos utilizadores que precisam deles. Todos os recursos protegidos têm um modelo de segurança semelhante. Um membro da função de utilizador de um recurso pode:

  • Remover aprovadores e verificações configurados nesse recurso
  • Conceder acesso a outros utilizadores ou pipelines para utilizar esse recurso

Captura de ecrã das permissões de utilizador em pipelines

Permissões de pipeline

Quando utiliza pipelines YAML, as permissões de utilizador não são suficientes para proteger os seus recursos protegidos. Pode copiar facilmente o nome de um recurso protegido (por exemplo, uma ligação de serviço para o seu ambiente de produção) e incluí-lo num pipeline diferente. As permissões de pipeline protegem contra essa cópia. Para cada um dos recursos protegidos, certifique-se de que desativou a opção para conceder acesso a "todos os pipelines". Em vez disso, concedeu explicitamente acesso a pipelines específicos em que confia.

Captura de ecrã das permissões do pipeline

Verificações

No YAML, uma combinação de permissões de utilizador e pipeline não é suficiente para proteger totalmente os seus recursos protegidos. As permissões de pipeline para recursos são concedidas a todo o pipeline. Nada impede que um adversário crie outro ramo no seu repositório, injete código malicioso e utilize o mesmo pipeline para aceder a esse recurso. Mesmo sem intenção maliciosa, a maioria dos pipelines precisa de um segundo conjunto de olhos para ver as alterações (especialmente para o próprio pipeline) antes de implementar na produção. As verificações permitem interromper a execução do pipeline até que determinadas condições sejam cumpridas:

  • Verificação de aprovação manual. Todas as execuções que utilizam um recurso protegido por projetos são bloqueadas para a aprovação manual antes de prosseguir. A proteção manual dá-lhe a oportunidade de rever o código e garantir que é proveniente do ramo certo.
  • Verificação de ramo protegido. Se tiver processos manuais de revisão de código em vigor para alguns dos seus ramos, pode alargar esta proteção aos pipelines. Configure uma verificação de ramo protegido em cada um dos seus recursos. Isto impedirá automaticamente a execução do pipeline em cima de quaisquer ramos de utilizador.
  • Verificação de recursos protegidos Pode adicionar verificações a ambientes, ligações de serviço, repositórios, grupos variáveis, conjuntos de agentes, grupos de variáveis e ficheiros seguros para especificar condições que têm de ser satisfeitas antes de uma fase em qualquer pipeline poder consumir um recurso. Saiba mais sobre verificações e aprovações.

Captura de ecrã a mostrar a configuração de verificações

Passos seguintes

Em seguida, considere como agrupar recursos numa estrutura de projeto.