Trabalhar com logs de auditoria

Visão geral

O Frame.io oferece suporte e mantém logs de auditoria para a maioria das atividades realizadas em seus aplicativos.Isso inclui CRUD básico em recursos principais e algumas abstrações especiais (por exemplo, AssetVersioned).

Os logs de auditoria são truncados após 30 dias

Os logs de auditoria do Frame.io estão disponíveis via API para uma janela contínua de 30 dias, após a qual são movidos para armazenamento frio.Portanto, se você deseja manter um histórico longo de eventos do Frame.io, certifique-se de armazenar dados de logs históricos de forma independente.

Escopo e permissões

Apenas administradores de conta podem acessar os logs de auditoria de uma conta, e todas as chamadas para o ponto de acesso de logs de auditoria devem ter escopo para um account_id da seguinte forma:

GET https://api.frame.io/v2/accounts/:id/audit_logs

Respostas

Todas as respostas de log de auditoria têm um formato semelhante:

1{
2 "_type": "audit",
3 "account_id": "<account-id>",
4 "action": "<ActionTaken>",
5 "actor": {
6 "_type": "user",
7 "id": "<user-id>",
8 },
9 "actor_id": "<user-id>",
10 "id": "<audit-id>",
11 "inserted_at": "<ISO-8601-datetime>",
12 "item_id": "<resource-id>",
13 "item_type": "<ResourceType>",
14 "resource": {...},
15 "team_id": "<team-id>",
16 "updated_at": "<ISO-8601-datetime>"
17}
Não se esqueça de paginar!

Os dados de resposta do log de auditoria podem ser bastante detalhados, então certifique-se de estar familiarizado com a paginação!

Filtros

Os logs de auditoria oferecem suporte a uma variedade de filtros, incluindo intervalos de datas.Ao contrário dos pontos de acesso de Pesquisa do Frame.io, os filtros podem ser enviados apenas como parâmetros de string de consulta GET.

Todos os filtros seguem a mesma formatação:

GET + string de consulta

1GET
2https://api.frame.io/accounts/:id/audit_logs?filter[filter_type1]=value1&filter[filter_type2]=value2
Um valor por tipo de filtro

Atualmente, os logs de auditoria oferecem suporte a um valor por tipo de filtro.Se você fornecer dois filtros do mesmo tipo (por exemplo, filter[action]=ActionOne&amp;filter[action]=ActionTwo), o segundo filtro terá precedência.

Tipos de filtro principais

Os tipos de filtro principais para selecionar e navegar pelos logs de auditoria são:

Tipo de filtroDescriçãoValores de exemplo
item_typeFiltros para todos os recursos de um único tipo.Presentation, Comment, ReviewLink, Asset
item_idFiltros para um único recurso específico, por exemplo, um Ativo ou Apresentação.<asset-id>, <presentation-id>
actionFiltros para uma única ação, geralmente associada a um item_typeProjectCreated, AssetVersioned, CommentDeleted
actor_idFiltros para o ID de um usuário específico (ator).<user-id>
team_idFiltros para atividades associadas a uma única equipe.Este filtro é útil apenas em equipes que têm várias equipes.<team-id>
inserted_atFiltros para eventos de auditoria que ocorrem antes ou depois de uma data e hora específica.Deve estar no formato ISO-8601, UTC.2022-08-25T00:00:00Z

Tipos de item e ações

RecursoAções
ContaAccountCreated, AccountUpdate, AccountLocked
AtivoAssetCopied, AssetCreated, AssetDeleted, AssetUpdated, AssetVersioned, AssetUnversioned, AssetLabelUpdated, AssetMoved, AssetPreserved, AssetPrivatized, AssetPublicized, AssetRestored
ColaboradorCollaboratorCreated, CollaboratorDeleted
ComentárioCommentCreated, CommentCompleted, CommentDeleted, CommentLiked, CommentUncompleted, CommentUnliked, CommentUpdated, ReplyCreated
ApresentaçãoPresentationCreated, PresentationDeleted, PresentationUpdated
ProjetoProjectCreated, ProjectDeleted, ProjectMoved, ProjectRestored, ProjectUpdated
ReviewLinkReviewLinkCreated, ReviewLinkDeleted, ReviewLinkUpdated
EquipeTeamCreated, TeamUpdated, TeamDeleted
TeamMemberTeamMemberCreated, TeamMemberAccepted, TeamMemberDeclined, TeamMemberRemoved, TeamMemberUpdated

Exemplos de filtro

Todos os filtros seguem um formato semelhante, como descrito acima.Abaixo há alguns exemplos voltados para casos de uso específicos que podem ajudar você a começar.

CenárioString de consulta
Ações executadas por um único usuário.?filter[actor_id]=<user-id>
Toda a atividade em uma apresentação específica.?filter[item_id]=<presentation-id>
Comentários deixados por um usuário.?filter[action]=CommentCreated&amp;filter[actor_id]=<user-id>
Toda a atividade do link de revisão em uma equipe.?filter[item_type]=ReviewLink&amp;filter[team_id]=<team-id>

Intervalos de datas

Os intervalos de datas são um caso um pouco especial, na medida em que é necessário especificar tanto o value de data e hora inserted_at quanto a operação a ser aplicada a essa data e hora.Consequentemente, as consultas de intervalo de datas sempre terão dois elementos de filtro, cada um dos quais será aninhado ao lado de um parâmetro [inserted_at].

As operações suportadas incluem:

  • gt: maior que
  • gte: maior ou igual a
  • lt: menor que
  • lte: menor ou igual a

Exemplos de intervalo de datas

CenárioString de consulta
Todos os registros do log de auditoria a partir de uma data.?filter[inserted_at][op]=gt&amp;filter[inserted_at][value]=2019-03-25T00:00:00Z
Todos os ativos dos quais foi feito upload por um usuário específico até uma data.?filter[inserted_at][op]=lt&amp;filter[inserted_at][value]=2019-03-25T00:00:00Z&amp;filter[actor_id]=<user-id>&amp;filter[action]=AssetCreated