O Problema em Escala
A plataforma de dados da Netflix é massiva. Milhões de tabelas no data warehouse, dezenas de milhares de workloads agendados rodando em sistemas de orquestração. Cada ativo é de propriedade de um engenheiro, um time ou uma iniciativa — e por trás de cada um estão decisões sobre quem pode acessar o quê e como esses workloads executam.
Modelos tradicionais de controle de acesso quebram nessa escala. Quando cada tabela tem sua própria ACL (Access Control List) e cada workflow roda sob uma identidade humana, mudanças organizacionais se tornam um pesadelo. Reorganizações, mudanças de cargo e saídas causam falhas em cascata nas permissões.
Dois problemas persistentes:
- Permissões não acompanham: Times de suporte são inundados com solicitações para atualizar permissões em massa. Times frequentemente recorrem a conceder acesso excessivamente amplo só para evitar a sobrecarga.
- Workflows amarrados a identidades humanas: Quando o engenheiro que criou o workflow sai ou muda de time, o workflow quebra. A única solução é trocar por outra identidade humana, iniciando um jogo de "acerta a toupeira" das permissões.
A Solução: Data Projects
A Netflix introduziu Data Projects para resolver ambos os problemas. Um Data Project é duas coisas:
- Um contêiner para gerenciar um conjunto de ativos relacionados (tabelas, workflows, etc.) sob um único guarda-chuva lógico.
- Uma identidade sintética, durável e assumível — que workloads assíncronos e agendados podem usar, independente do ciclo de vida de qualquer humano.
Pense como elevar a granularidade do gerenciamento do ativo individual para um contêiner significativo: o projeto. Em vez de gerenciar permissões em 500 tabelas, você gerencia em um projeto que contém essas 500 tabelas.

Como os Data Projects Funcionam
Grants e Papéis
Cada Data Project tem um conjunto de grants gerenciados pelo time proprietário. Diferentes tipos de identidade podem ser adicionados: usuários, grupos, aplicações e jobs de CI. Cada grant tem um papel que determina o que o beneficiário pode fazer dentro do projeto.
# Exemplo: Gerenciando grants do projeto via API (simplificado)
# Pseudocódigo em Python para ilustração
class DataProject:
def __init__(self, project_id, owner_team):
self.project_id = project_id
self.owner_team = owner_team
self.grants = {} # identidade -> papel
self.contained_assets = set()
def add_grant(self, identity, role):
# role pode ser 'contributor' (leitura/escrita) ou 'viewer' (somente leitura)
self.grants[identity] = role
def remove_grant(self, identity):
self.grants.pop(identity, None)
def assume_identity(self):
# Retorna o token de identidade durável do projeto
return generate_project_token(self.project_id)
# Uso: quando um usuário entra no time, atualize um único grant do projeto
project = DataProject("analytics_qoe", "streaming_team")
project.add_grant("alice@netflix.com", "contributor")
O Guarda-Chuva de Identidade
Cada Data Project é provisionado com uma identidade de aplicação Netflix (e opcionalmente uma role IAM da AWS). Esse é o "guarda-chuva de identidade" que torna os workloads duráveis:
- A identidade Netflix do projeto executa workloads assíncronos (ex: workflows Maestro). Ela pertence ao projeto, não a nenhuma pessoa.
- A role IAM suporta casos de uso especializados como jobs Spark no Amazon EMR. A role IAM pode ser trocada pela identidade Netflix do projeto de forma criptograficamente segura.
Gravidade: Associação Automática de Ativos
Uma propriedade elegante é a gravidade. Quando um workload rodando sob a identidade de um projeto cria um novo ativo — digamos, um workflow Maestro cria três tabelas — esses ativos são automaticamente adicionados ao projeto. O projeto se torna o centro de massa para tudo produzido sob sua identidade. Isso elimina futuros desafios de descobrir ativos relevantes e obter acesso a eles.
Segurança de Workflows com Identidade Durável
Maestro é o orquestrador principal de workflows batch da Netflix. Como os workflows rodam em horários agendados sem a presença do usuário original, o Maestro é um Trusted Workload Manager (TWM) que pode emitir tokens de identidade em nome dos workloads que gerencia.
Com Data Projects, o workflow roda sob a identidade do projeto, não de um humano. Tabelas criadas durante a execução são automaticamente associadas ao projeto via gravidade. Segredos são escopados para as políticas do projeto. O acesso é gerenciado uma vez no nível do projeto.
Esse modelo é estável, auditável e construído para sobreviver a mudanças organizacionais.
![]()
Limitações e Considerações
Embora os Data Projects resolvam muitos problemas, não são uma bala de prata. Algumas considerações:
- Custo de migração: Mover workflows existentes para um Data Project exige configurar o projeto com as permissões apropriadas antes de mudar a identidade de execução. A Netflix está construindo infraestrutura para rastrear padrões de acesso e recomendar atualizações precisas de permissão.
- Trade-off de granularidade: Projetos agrupam ativos logicamente, mas às vezes você precisa de exceções por ativo. Times devem decidir entre criar um novo projeto ou usar um mais amplo.
- Adoção organizacional: Times precisam mudar de pensar em ativos individuais para pensar em fronteiras de projeto. Isso requer mudança cultural e suporte de ferramentas.
Próximos Passos e Caminho de Aprendizado
Se você se inspirou na abordagem da Netflix, aqui está como começar a aplicar princípios semelhantes:
- Audite seu modelo de permissão atual: Identifique onde identidades humanas causam fragilidade em workflows.
- Experimente acesso baseado em projeto: Use ferramentas nativas da nuvem como IAM roles da AWS, Managed Identities do Azure ou service accounts do GCP como identidades duráveis.
- Explore melhores práticas de orquestração: Veja orquestradores como Apache Airflow ou Prefect que suportam escopo de identidade.
Para mais sobre gerenciamento de ativos de dados em escala, confira este artigo relacionado sobre Building a Multi-Tenant, Sovereign Carbon Footprint Exchange on Catena-X with AWS. E para um mergulho mais profundo em padrões de IA no dispositivo, veja On-Device Function Calling Goes Cross-Platform Inside Google AI Edge Gallerys Latest Update.
![]()
Conclusão
Data Projects é a resposta para uma observação simples: na escala da Netflix, a unidade de gerenciamento de identidade e acesso não pode ser o ativo individual ou o humano individual. Tem que ser algo maior, algo durável, algo que combine com a forma como os times realmente pensam sobre o trabalho que possuem.
Um projeto é essa unidade. Ao elevar o gerenciamento de acesso ao nível do projeto e fornecer uma identidade durável, a Netflix eliminou uma grande fonte de dor operacional. O conceito já está sendo generalizado além de dados — para ativos de software, ativos de estúdio e muito mais.
O principal aprendizado: pense em contêineres, não em indivíduos. Esteja você gerenciando algumas tabelas ou milhões, uma abordagem baseada em projetos pode salvá-lo do ciclo interminável de acerta a toupeira das permissões.
Este artigo é baseado em insights do blog de engenharia da Netflix.