Skip to main content

Como estabelecer uma estrutura de governança para sua empresa

Você pode gerenciar a governança e a conformidade em sua empresa usando recursos e ferramentas disponíveis no GitHub Enterprise.

Como proprietário da empresa, você é responsável por manter uma postura de segurança forte, cumprir as regulamentações, mitigar riscos e proteger a propriedade intelectual na sua empresa. O GitHub tem ferramentas que podem ajudar com isso.

Armazenar o código da sua empresa no GitHub proporciona fácil colaboração, acompanhamento e implantação de um único local. Embora permitir que as pessoas trabalhem em repositórios com o mínimo de atrito possível é importante para a cultura e a produtividade, vai ser interessante implementar alguns controles sobre o trabalho das pessoas para garantir que seu código permaneça seguro e confiável.

Com o GitHub Enterprise, você tem acesso à gama completa de recursos de governança do GitHub, permitindo que você:

  • Controle como as pessoas podem atualizar o código
  • Controle como as pessoas podem usar repositórios
  • Monitorar a atividade
  • Detecte segredos vazados
  • Configure um processo de aprovação para ações importantes
  • Detecte vulnerabilidades ou erros no código

Como proteger seus branches

Para branches importantes nos repositórios da sua empresa, como branches que contêm código de produção, a estrutura de conformidade deve reduzir o risco de erros ou códigos mal-intencionados entrarem em seus ambientes de produção.

Com conjuntos de regras, você pode aplicar regras que regem como as pessoas fazem para interagir com branches específicos. Você também pode dar a determinados usuários o direito de ignorar explicitamente as regras, o que fornece flexibilidade, mas deixando claras as restrições pretendidas.

Muitas empresas adicionam regras que:

  •         **Restringem exclusões**, para que você possa ter certeza de que os usuários não excluirão acidentalmente a ramificação
    
  •         **Exigem uma solicitação de pull** para todas as alterações, para que você tenha um histórico e possa impor revisões
    
  •         **Exigem verificações de status e implantações para ter êxito** antes de mesclar solicitações de pull, para que você possa se proteger contra erros na produção
    

Outras regras, como exigir confirmações assinadas ou um histórico de confirmação linear, são mais situacionais e dependem de seus requisitos de conformidade.

Para saber mais, confira Sobre os conjuntos de regras.

Controlar o uso de repositórios

Como os repositórios são os locais em que o código e os dados de suas empresas são armazenados, é importante definir como os usuários podem interagir com os repositórios a fim de reduzir o risco de vazamentos de dados. Nas configurações da empresa, você pode definir políticas para:

  • Restringir a visibilidade padrão de repositórios
  • Impedir que não membros sejam convidados para repositórios
  • Impedir forks ou transferências de repositórios para fora de uma organização

O objetivo das políticas deve ser manter os requisitos de segurança e, ao mesmo tempo, promover a colaboração e reduzir as dificuldades para os desenvolvedores. Por exemplo, você pode criar uma organização "open source" para todos os repositórios públicos da sua empresa e impedir que repositórios públicos sejam criados em qualquer outra organização.

Para saber como definir políticas, consulte Aplicar as políticas de gerenciamento do repositório na sua empresa.

Direcionamento de políticas com metadados

Você pode habilitar uma melhor governança por meio da imposição automatizada de políticas. Isso é possível com propriedades personalizadas, permitindo adicionar metadados estruturados aos seus recursos.

Com propriedades personalizadas do repositório, você pode classificar repositórios por atributos como nível de risco, propriedade da equipe ou requisitos de conformidade. Esses metadados permitem que você aplique automaticamente regras de governança diferentes com base nas características do repositório.

Com as propriedades personalizadas da organização, você pode categorizar as organizações em sua empresa por meio de confidencialidade de dados, estruturas regulatórias ou unidades de negócios. Em seguida, você pode usar essas propriedades para direcionar seletivamente organizações com conjuntos de regras empresariais.

Ambos os tipos de propriedades personalizadas se integram a conjuntos de regras, permitindo que você crie estruturas de governança avançadas que impõem automaticamente as políticas corretas com base em metadados em vez de seleção manual de repositório.

Consulte Como gerenciar propriedades personalizadas para repositórios na sua organização.

Monitorar a atividade

Se algo der errado, é importante poder pesquisar atividades em sua empresa para investigar a causa ou o escopo do problema.

O log de auditoria do GitHub inclui eventos detalhados relacionados à sua conta empresarial, suas organizações e, se você usa o Enterprise Managed Users, os usuários gerenciados. Você pode filtrar o log de auditoria para encontrar temas como atividade de cobrança ou pesquisar eventos associados a um token comprometido.

Para acessar o log de auditoria, consulte Como acessar o log de auditoria da sua empresa.

O GitHub não retém dados de log de auditoria indefinidamente. Recomendamos transmitir os logs de auditoria para um local externo, a fim de manter os dados pelo tempo necessário e consultá-los com ferramentas externas. Confira Como transmitir o log de auditoria para sua empresa.

Impedir que informações confidenciais cheguem à sua base de código

Para proteger a propriedade intelectual e evitar incidentes de segurança, é importante implementar um sistema para manter informações confidenciais, como tokens, fora da base de código.

Secret scanning

Com o secret scanning, você pode examinar o código para detectar informações confidenciais, como chaves de API, senhas e outras credenciais na base de código, impedindo acesso não autorizado e possíveis violações. O Secret scanning alerta você a respeito de informações confidenciais em sua base de código, permitindo que você responda adequadamente alterando senhas ou alternando tokens.

Para saber mais, confira Sobre a verificação de segredo.

O Secret scanning pode ser habilitado no nível da empresa, da organização e do repositório. Consulte Configurar a varredura de segredo para o seu dispositivo para habilitar no nível da empresa.

Proteção por push

Além disso, você pode impedir que dados confidenciais e credenciais sejam acidentalmente enviados por push para repositórios com proteção de push.

A proteção de push atua como uma proteção examinando segredos em tempo real e bloqueando pushes que possam conter informações confidenciais. Os proprietários da organização podem configurar políticas de proteção de push no nível da organização para impor padrões de segurança consistentes em todos os repositórios. Quando um push é bloqueado, os desenvolvedores recebem orientações detalhadas sobre como corrigir o problema, como remover o segredo do código.

Confira Sobre a proteção por push.

A proteção de push pode ser habilitada no nível da organização, do repositório e da conta de usuário. Confira Habilitar a proteção de push para seu repositório.

Observação

A configuração de padrões para proteção por push no nível da empresa e da organização está em versão prévia pública e está sujeita a alterações.

Para alinhar a detecção de segredo com políticas de segurança internas e impedir de modo mais eficaz a exposição não autorizada de informações confidenciais em seus repositórios, você personalize quais padrões secretos estão incluídos na proteção por push no nível da empresa ou da organização. Confira Configurando definições adicionais de verificação de segredos para sua empresa e Configurações de segurança globais para sua organização.

Configurar um processo de aprovação para ações confidenciais

É interessante configurar um processo de aprovação para ter um melhor controle sobre quem em sua empresa pode executar ações confidenciais. Um processo de aprovação ajuda a reduzir o risco de alterações não autorizadas ou mal-intencionadas e pode fornecer um registro de quem usou o bypass e por quê, garantindo que todas as ações sejam rastreáveis e passíveis de responsabilização.

Observação

A implementação desses processos de aprovação pode causar algum atrito, portanto, é importante garantir que sua equipe de gerenciamento de segurança tenha cobertura adequada antes de continuar.

Os processos de aprovação estão disponíveis para:

  • Ignorar a proteção de push – você pode escolher quem tem permissão para ignorar a proteção de push e adicionar um ciclo de revisão e aprovação para pushes que contêm segredos de todos os outros colaboradores. Para obter mais informações sobre o bypass delegado para proteção de push, consulte Sobre o bypass delegado para proteção contra push.
  • Descarte de alertas para code scanning e secret scanning — Você pode fornecer controle e visibilidade adicionais sobre a avaliação de alertas, garantindo que apenas indivíduos designados possam descartar (ou fechar) alertas. Para obter mais informações sobre a demissão de alerta delegada, consulte os seguintes artigos:
    •           [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/enabling-delegated-alert-dismissal-for-code-scanning)
      
    •       [AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/enabling-delegated-alert-dismissal-for-secret-scanning)
      

Identificar vulnerabilidades e erros de segurança

Muitos setores têm regulamentos que exigem avaliações regulares de segurança e gerenciamento de vulnerabilidades. Code scanning ajuda a garantir a conformidade com os padrões do setor identificando e mitigando riscos de segurança em seu código, como padrões inseguros.

O Code scanning pode ser integrado ao pipeline de CI/CD, fornecendo monitoramento contínuo e avaliação de sua base de código.

Para começar rapidamente a usar o code scanning, recomendamos que você adote a configuração padrão. Confira Como definir a configuração padrão da verificação de código.

O Code scanning pode ser habilitado no nível da empresa, da organização e do repositório. Consulte Como configurar a verificação de código do seu dispositivo para habilitar no nível da empresa.