controle de acesso obrigatório - controle de acesso mac - política de controle de acesso

De que política de controle de acesso você precisa? Vamos destrinchar

Por que os desenvolvedores precisam de políticas reais de controle de acesso (não apenas teoria)

Se você estiver enviando código, mantendo pipelines, ou gerenciar registros de artefatos, você precisa de mais do que teoria. Políticas de controle de acesso fracas ou indefinidas convidam à adulteração de repositórios, CI/CD abuso e vazamentos de credenciais. O DevSecOps exige uma aplicação real, não apenas configurações de permissão ocultas.

Para gerenciar com eficácia as políticas de controle de acesso em repositórios de código, CI/CD pipelinese registros de artefatos, muitas equipes contam com ferramentas de execução automatizadas como o Xygeni. Ao monitorar continuamente funções, permissões e a adesão a políticas, o Xygeni ajuda a prevenir desvios de permissão, acesso não autorizado e substituições manuais, transformando a teoria do controle de acesso obrigatório em ação.

O controle de acesso bloqueia diretamente seu código-fonte, protege suas compilações e sua produção pipelineSe os desenvolvedores ignorarem os controles ou as contas de serviço tiverem permissões amplas, você estará abrindo caminho para violações de segurança. É por isso que entender o controle de acesso obrigatório, o controle de acesso MAC e outros modelos é fundamental.

Tipos de políticas de controle de acesso que os desenvolvedores devem conhecer

As políticas de controle de acesso se dividem em três categorias principais, cada uma se encaixa de maneira diferente CI/CD fluxos de trabalho. Aqui está uma rápida análise lado a lado para esclarecer:

Modelo Quem controla o acesso? Uso típico em CI/CD Nível de risco
DAC (Controle de Acesso Discricionário) Proprietário do recurso (desenvolvedor, administrador) Compartilhamento manual de acesso ao repositório ou registro Alto (erro humano)
RBAC (controle de acesso baseado em função) O sistema atribui permissões por função Proteção de branch do GitHub, acesso a tarefas de CI com base em funções de usuário Médio (funções mal configuradas)
MAC (Controle de Acesso Obrigatório) Aplicado pela política do sistema Determina quem pode publicar artefatos ou implantar código Baixo (a política substitui a intenção do usuário)

Esclarecendo MAC vs. RBAC em CI/CD contexto

É fácil confundir o controle de acesso baseado em função (RBAC) com controle de acesso obrigatório (controle de acesso mac), especialmente em CI/CD ambientes. Enquanto CI/CD plataformas como GitHub e GitLab usam RBAC para gerenciar funções e permissões (por exemplo, quem pode mesclar ou implantar), isso ainda é fundamentalmente baseado em funções, não um verdadeiro controle de acesso MAC.

O RBAC permite atribuir permissões com base em funções (desenvolvedor, mantenedor, etc.), mas essas permissões ainda são controladas pelo usuário e modificáveis. Configurações incorretas ou desvios de permissão são riscos comuns.

O controle de acesso obrigatório (controle de acesso MAC), por outro lado, é aplicado no nível do sistema ou da infraestrutura. Usuários, incluindo administradores, não podem substituí-lo. Pense no controle de acesso Mac como políticas incorporadas à plataforma: políticas de IAM em provedores de nuvem (por exemplo, AWS IAM, GCP IAM) ou ferramentas de aplicação no nível do sistema operacional, como SELinux ou AppArmor. Nesses casos, o acesso é concedido somente quando regras predefinidas e não contornáveis são atendidas.

In CI/CDMuitas ferramentas simulam o comportamento de controle de acesso MAC por meio de funções de IAM com escopo restrito ou permissões específicas de recursos, mas isso não é um controle de acesso obrigatório completo. A aplicação real do controle de acesso obrigatório requer controles abaixo da camada de aplicação, no nível do sistema operacional, da rede ou da infraestrutura de nuvem, onde o acesso é regido por políticas de controle de acesso imutáveis, e não por configuração humana.

Controle de acesso baseado em função (RBAC)

O RBAC mapeia permissões para funções definidas como “desenvolvedor”, “mantenedor” ou “gerente de lançamento”. Ele simplifica o gerenciamento em ferramentas como GitHub e GitLabEm vez de configurar usuário por usuário, atribua-lhes uma função e deixe o sistema aplicar as regras.

Exemplo: Arquivo CODEOWNERS do GitHub

Isso garante que somente as funções atribuídas possam aprovar alterações em diretórios críticos.

Configurações de função do GitLab: configure o acesso ao projeto em Configurações > Membros:

  • Desenvolvedor: Pode enviar para ramificações de destaque.
  • Mantenedor: Pode mesclar em ramos protegidos.
  • Convidado: Acesso somente leitura.

Exemplo de RBAC do fluxo de trabalho de ações do GitHub:

Controle de acesso obrigatório (MAC)

O controle de acesso obrigatório (controle de acesso MAC) impõe regras rígidas em nível de sistema que usuários e administradores não podem ignorar. Use o controle de acesso MAC para controlar rigorosamente quem pode ler, escrever ou executar recursos críticos.

Exemplo: Política de registro de artefatos do Google (YAML simplificado)

Exemplo: Política de ECR da Amazon (YAML simplificado)

Riscos da substituição manual e como o MAC os previne

Um dos maiores riscos com RBAC e Modelos DAC é o potencial para substituições manuais intencionais ou acidentais. Por exemplo, um administrador ou desenvolvedor pode carregar artefatos diretamente para um registro protegido ou conceder permissões excessivas fora das políticas de controle de acesso definidas. Essas ações podem introduzir vulnerabilidades ou causar lacunas de conformidade.

O controle de acesso obrigatório (controle de acesso MAC) impede tais substituições, aplicando políticas em nível de sistema que nenhum usuário, nem mesmo administradores, pode ignorar.cisOs íons são regidos por regras imutáveis incorporadas à infraestrutura (como políticas de IAM na nuvem ou módulos de segurança no nível do sistema operacional). Isso significa:

  • Um administrador não pode carregar manualmente artefatos em um registro se a política de controle de acesso do Mac os negar.
  • Os usuários não podem aumentar privilégios ou alterar permissões fora das políticas de controle de acesso definidas.
  • Operações CI/CD pipelinesão executados estritamente dentro das permissões atribuídas, evitando o aumento do escopo.

Ao eliminar substituições manuais, o controle de acesso obrigatório garante uma postura de segurança mais forte e confiável do que RBAC ou DAC sozinhos.

2.4 Controle de acesso discricionário (DAC)

O DAC permite que os proprietários de recursos atribuam permissões manualmente. É flexível, mas arriscado. Um compartilhamento errado pode comprometer um repositório. O DAC funciona assim: "Você é o dono, você decide quem entra".

Exemplo: Para O desenvolvedor convida um colaborador externo e concede a ele acesso de gravação ao repositório. O colaborador envia o código inseguro diretamente para o repositório. dev ramo.

In CI/CD, o DAC pode parecer um desenvolvedor concedendo manualmente acesso de implantação de produção a um membro temporário da equipe por meio do console, fora de qualquer política de controle de acesso definida.

Como escolher uma política de controle de acesso que funcione na prática Pipelines

Controle de acesso no Git

Aproveite o RBAC para gerenciar as funções de contribuidor, mantenedor e lançador. Bloqueie os direitos de mesclagem para branches protegidos. Exija assinatura commits e limitar quem pode ignorar as proteções.

Exemplo: Regras de proteção de branch do GitHub

  • Exigir pull request revisões antes da fusão.
  • Descartar obsoleto pull request aprovações quando novas commits são empurrados.
  • Exigir assinatura commits.
  • Ignore o DAC para repositórios críticos de produção. Não distribua acesso de gravação de forma descuidada.

Pipeline execução

Implementar o controle de acesso obrigatório para pipelines. Um modelo sólido de controle de acesso Mac limita os trabalhos de CI apenas às permissões necessárias.

  • Separe os segredos por ambiente.
  • Use tokens exclusivos por ambiente.
  • Evite que execuções manuais afetem a produção.

Exemplo: uma tarefa de CI reutiliza um token de implantação no preparo e na produção, enviando acidentalmente o código de teste para o ambiente ativo.

Adicione regras de controle de acesso do Mac para controlar o escopo do token:

Exemplo de Escopo de Segredos: Uso de Token Específico de Ambiente

A delimitação adequada dos segredos por ambiente é fundamental para evitar acesso acidental ou malicioso entre ambientes. Por exemplo, um token de implantação para o ambiente de desenvolvimento nunca deve ser utilizável para implantação em produção.

Veja como os controles baseados em políticas de controle de acesso isolam o uso de segredos no GitHub Actions:

Isso reforça que:

  • Apenas o revelador a função pode acionar implantações usando o token dev no dev ramo.
  • Apenas o gerenciador de lançamentos a função pode ser implantada na produção usando o token prod no principal ramo.

Esse uso secreto com escopo reduz o risco de vazamentos de tokens que se espalham entre ambientes e aplica o menor privilégio em CI/CD pipelines seguindo fortes políticas de controle de acesso.

Controles de acesso a artefatos

Bloqueie registros de artefatos usando controle de acesso obrigatório. CI/CD os sistemas devem cuidar da publicação, não os desenvolvedores individuais.

Use o RBAC para definir quais equipes extraem de registros específicos. Os desenvolvedores podem precisar apenas de acesso de leitura aos pacotes de produção.

Falhas comuns de controle de acesso em fluxos de trabalho de desenvolvimento

Acesso a repositórios excessivamente permissivo

Problema: Conceder a muitos usuários acesso de gravação/administração aos repositórios.
Como isso acontece: Membros da equipe são promovidos ou adicionados sem que as permissões sejam revisadas. As funções ficam sobrecarregadas.
Exploração do invasor: Os invasores atacam essas contas usando credenciais roubadas ou engenharia social. Uma vez lá, eles podem injetar código malicioso, backdoors ou remover o histórico para ocultar rastros.

Permissões compartilhadas entre desenvolvimento e produção

Problema: Deixando o desenvolvimento e a produção pipelines permissões de compartilhamento.
Como isso acontece: As equipes reutilizam o mesmo token de implantação ou conta de serviço de CI em todos os ambientes.
Exploração do invasor: Uma violação do ambiente de desenvolvimento dá aos invasores acesso à produção. Controle de acesso obrigatório pode evitar isso vinculando permissões a ambientes específicos.

Envios manuais de artefatos

Problema: Permitir uploads manuais de artefatos para registros de produção.
Como isso acontece: Os desenvolvedores ignoram pipelines para soluções rápidas ou patches rápidos.
Exploração do invasor: Máquinas de desenvolvedores comprometidas podem carregar malware diretamente para o armazenamento de artefatos, ignorando todos CI/CD verificações de segurança.

Risco de abuso da política de registro: A publicação manual de artefatos cria uma superfície de ataque crítica na cadeia de suprimentos de software. Atacantes que exploram a negligência políticas de controle de acesso podem inserir código malicioso em pacotes confiáveis ou imagens de contêiner, levando a um comprometimento generalizado a jusante. Incidentes recentes na cadeia de suprimentos de software mostraram como uploads de artefatos não regulamentados podem rapidamente se transformar em grandes violações de segurança, afetando inúmeros usuários e sistemas.

Exemplo: aUm estagiário com acesso total ao registro npm publica uma versão instável por engano. Se um invasor tivesse comprometido a máquina desse estagiário, ele poderia ter publicado malware.

Etapas práticas para aplicar controles de acesso rigorosos

  • Mapeie funções para permissões exatas, abandone configurações de função única para todos
  • Automatize as verificações de políticas de controle de acesso em seu CI/CD pipelines
  • Bloquear registros com controle de acesso obrigatório
  • Registre e monitore continuamente o acesso a sistemas críticos
  • Trate as políticas de controle de acesso como um código. Qualquer erro pode ser explorado.

Papel do Xygeni: Aplicação e monitoramento de políticas de acesso em fluxos de trabalho de DevOps

Xygeni ajuda você a transformar o controle de acesso obrigatório da teoria em ação, resolvendo desafios reais de aplicação de políticas de controle de acesso no dia a dia no DevSecOps pipelines.

  • Resolvendo o problema de acesso ao Git com excesso de permissões: O Xygeni monitora continuamente os repositórios Git em busca de violações do RBAC, como atribuições de funções não revisadas ou proteções de branch ausentes. Ele alerta quando as políticas de controle de acesso se desviam das regras definidas e aplica ações corretivas para evitar fusões acidentais ou PRs maliciosas.
  • Bloqueio CI/CD Pipelines: Os trabalhos de CI às vezes são executados com escopos mais amplos do que o pretendido. O Xygeni detecta quando CI/CD tarefas solicitam ou operam além de suas funções atribuídas, identificando desvios de escopo e abuso de privilégios em tempo real. Isso ajuda a aplicar os princípios de controle de acesso MAC dentro pipelines vinculando o acesso estritamente à identidade e ao propósito do trabalho.
  • Aplicação de controles de publicação de artefatos: Se os desenvolvedores ainda estiverem carregando artefatos ou imagens manualmente, o Xygeni interrompe isso. Ele aplica controle de acesso obrigatório em nível de registro para que apenas arquivos verificados pipeline identidades podem publicar artefatos. Chega de uploads humanos para registros de produção.
  • Monitoramento de acesso e sinalização de anomalias: Com o Xygeni, você obtém visibilidade sobre quem acessou o quê, quando e como. Ele rastreia continuamente o uso de segredos, o acesso ao repositório e as interações no registro para detectar comportamentos incomuns, sinalizar configurações incorretas e auxiliar na análise pós-incidente.

Bottom line: A Xygeni traz automação e aplicação à política de controle de acesso para que seu ambiente DevOps permaneça seguro sem causar lentidão.

Portanto, trate o controle de acesso como Segurança de Código

Qualquer pessoa com direitos de implantação ou acesso à infraestrutura pode danificar seu aplicativo, acidentalmente ou não. É por isso que uma política de controle de acesso sólida não é opcional. Use o RBAC para delegar funções corretamente. Aplique controle de acesso obrigatório a sistemas críticos. Ignore totalmente o DAC para caminhos de produção. Incorpore políticas de controle de acesso em seu Melhores práticas de DevSecOps. Automatize-os. Monitore-os. Aplique-os.

TL, DR: Uma política de controle de acesso bem aplicada torna sua base de código, artefatos e infraestrutura mais seguros, automaticamente.

sca-tools-software-composição-análise-ferramentas
Priorize, corrija e proteja seus riscos de software
Crie sua conta gratuita.
Nenhum cartão de crédito é necessário.

Proteja seu desenvolvimento e entrega de software

com o Suíte de Produtos da Xygeni