Permissões
Eventos ACTOR como concessão de permissões — como gerenciar o acesso a documentos.
O acesso a documentos é controlado por eventos ACTOR — um modelo de permissão orientado a eventos.
Consulte a Especificação de Eventos para a referência
completa de categorias de eventos.
Regras básicas
- A integração criadora começa com permissões de escrita nos documentos criados.
- Todo documento inclui automaticamente um ACTOR de nível de sistema para que os serviços da plataforma possam ler e criar eventos quando necessário.
- Participantes e papéis adicionais podem ser concedidos por meio de eventos ACTOR.
- As permissões ACTOR mais recentes para um participante são as permissões efetivas ("última escrita prevalece").
Estrutura de permissões
Cada política é indexada por participantId e define um efeito (ALLOW / DENY), as ações
que abrange e uma condição opcional.
Política de permissão típica:
{
"f56ed1cf-bfef-4299-8088-449a5d405130": [
{
"effect": "ALLOW",
"actions": ["WRITE", "READ"],
"condition": {
"$in": {
"eventNames": ["RELATED"]
}
}
}
]
}Política de negação típica:
{
"f56ed1cf-bfef-4299-8088-449a5d405130": [
{
"effect": "DENY",
"actions": ["WRITE"]
}
]
}Se condition for omitido, a política se aplica a todo o contexto do documento.
Padrão de implementação recomendado
- Criar o documento.
- Adicionar eventos de papel dos participantes em ordem explícita.
- Validar o comportamento de acesso resultante nos testes de integração.
- Enviar um array
permissionsvazio no ACTOR para remover o acesso do participante quando necessário.
Cenários entre integradores
Para relacionar um documento ou adicionar eventos em um documento de outra integração, um participante
existente com acesso deve adicionar seu participante como ACTOR com permissão WRITE naquele documento.
Armadilhas comuns
- Enviar atualizações ACTOR duplicadas/conflitantes sem ordenação determinística.
- Assumir acesso implícito para participantes não modelados explicitamente.
- Misturar credenciais de teste/produção em fluxos de permissão entre integradores.
Referência: API de Eventos.