Como escalar com sucesso usando os atributos e as tags de projeto da Snyk
Josefa Riveros
30 de setembro de 2020
0 minutos de leituraCrescer é uma sensação ótima! Seja quando falamos de plantas no jardim, massa crescendo ou do aumento no número de desenvolvedores e equipes que criam aplicações e serviços na sua organização, é impossível não adorar ver as coisas crescerem.
Mas crescer sem as ferramentas certas para atender às suas necessidades de escala pode expor sua organização a riscos de segurança que podem virar notícia. Esses riscos incluem:
Os desenvolvedores podem perder muito tempo procurando os projetos em que precisam trabalhar. Com isso, o trabalho pode ser feito às pressas ou com atalhos para cumprir novos prazos apertados.
Vulnerabilidades críticas podem se perder em meio a uma enxurrada de problemas menos graves, à medida que aumenta muito o uso de projetos open source.
Entregar diferentes tipos de aplicações rapidamente, usando uma variedade cada vez maior de projetos, significa que a governança de alto nível já não é uma opção segura e suficiente.
Manter a produtividade alta, uma governança granular e prioridades de trabalho claras é essencial para minimizar as ameaças à segurança. Por isso, você precisa de algo que ajude a organizar seus projetos e, ao mesmo tempo, permita controlá-los em detalhes.

Project Attributes e Tags, com uma pitada de Policies
É com grande satisfação que anunciamos o lançamento de soluções para ajudar você a escalar o uso de projetos na Snyk com eficiência: Project Attributes e Project Tags.

Além de parecerem a próxima dupla de combate ao crime que vai conquistar as telas, elas também trabalham juntas para ajudar você a manter a produtividade, implementar a governança no nível do projeto e definir prioridades. Vamos apresentar rapidamente o que são Project Attributes e Tags e, em seguida, mostrar como aplicar policies aos projetos.
Os atributos de projeto são fixos e não podem ser configurados. São atributos comuns pelos quais as organizações costumam agrupar projetos. Cada atributo tem vários valores que podem ser atribuídos para ajudar você a organizar seus projetos com eficiência:
O ambiente em que estão: interno, externo, frontend, backend e outros.
A criticidade para os negócios: alta, média ou baixa.
A etapa do ciclo de vida de desenvolvimento de software: produção, desenvolvimento ou sandbox.
Além de permitir uma governança granular — falaremos disso daqui a pouco —, os atributos podem ser usados para filtrar projetos na página de listagem. Assim, você encontra facilmente um grupo pequeno de projetos em uma organização com milhares deles.

Se, além dos atributos de projeto disponibilizados pela Snyk, você quiser organizar e priorizar o trabalho com base em critérios específicos da sua organização, pode criar e atribuir tags aos projetos. As tags são totalmente flexíveis: você escolhe o que elas representam e a quais projetos se aplicam. Alguns exemplos comuns de tags:
É provável que várias equipes trabalhem na Snyk, cada uma responsável por um conjunto específico de projetos. Então, que tal agrupar esses projetos com tags que indiquem o nome da equipe e aumentar a produtividade de todos?
O que é importante para uma organização pode não ser para outra, e cada organização costuma ter seu próprio vocabulário para descrever riscos. Use tags para agrupar projetos de acordo com seus critérios internos de risco.
Aplicações e serviços podem ter nomes bem interessantes e, às vezes, usar projetos de um ou mais repositórios. Agrupar projetos pela aplicação ou pelo serviço a que pertencem é uma maneira prática de garantir que suas equipes priorizem o trabalho certo.
Depois de criar e aplicar tags aos seus projetos, você poderá aproveitar mais um recurso que estará disponível (muito) em breve: filtrar projetos pelas tags na página de listagem. Assim, fica mais fácil encontrar uma agulha no palheiro. O recurso estará disponível na interface em breve. Fique de olho!

Aplique policies aos projetos para manter a segurança em escala
Como já adiantamos, a nova combinação de policies e atributos oferece a governança granular necessária para aplicar policies no nível do projeto.
Os projetos são diferentes entre si, e é bem provável que você queira aplicar padrões diferentes a cada um. Um projeto voltado ao público externo e essencial para os negócios provavelmente terá regras diferentes das de um projeto interno de backend. Ao criar uma policy de segurança ou de licenças, você pode atribuí-la a um grupo específico de projetos com base nos atributos e valores associados a eles.
Vamos ver um exemplo rápido:
A equipe jurídica da minha organização tem uma policy que determina que é essencial não corrermos o risco de violar licenças em qualquer conteúdo com que nossos clientes interajam na interface da aplicação. Isso pode acontecer se os projetos que compõem a aplicação incluírem licenças que a equipe jurídica tenha identificado como proibidas. Também recebemos uma lista priorizada de violações de licença, da gravidade baixa à alta. Para evitar violações, preciso criar uma policy que identifique licenças proibidas nos projetos da minha equipe.
Começo atribuindo os valores adequados aos atributos dos meus projetos para agrupar os projetos críticos. Os valores que identifiquei para esses projetos são:
críticos para os negócios
em produção
voltados ao frontend
externos

Depois de aplicar os valores aos atributos corretos de todos os projetos em questão, posso criar uma policy para aplicá-la a eles.
Na aba de policies, posso escolher se quero criar uma policy de licenças para organizações ou para atributos. Neste exemplo, vou criar uma especificamente para atributos.
Depois de alterar a gravidade das licenças proibidas para “Alta”, posso associá-las aos atributos dos projetos relevantes. Ao clicar em enviar, a policy será aplicada. Se algum dos projetos associados incluir uma das licenças contempladas pela policy, minha equipe receberá notificações em vários lugares, como na página de problemas do projeto e nos relatórios. Também posso configurar minhas verificações de PR para falhar quando houver problemas com licenças de alta gravidade.

O que você está esperando?
Se você quer trabalhar com segurança em escala nos seus projetos, sejam cem ou cem mil, aproveite hoje mesmo o poder das tags, dos atributos e das policies de projeto.
Project Attributes estão disponíveis em todos os planos do Snyk Open Source e do Snyk Container, inclusive no plano Free. Project Tags estão disponíveis nos planos Pro e Enterprise do Snyk Open Source e do Snyk Container. Esses recursos podem ser usados pela API e pela interface.
Policies estão disponíveis nos planos Pro e Enterprise. As policies de licenças já estão disponíveis; as Security Policies e a possibilidade de aplicar policies a atributos de projeto estão atualmente em beta. Fale com seu Customer Success Manager se quiser participar!
Comece a jogar Capture the Flag
Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.
