Cómo trabajar con registros de auditoría

Información general

Frame.io admite y mantiene registros de auditoría para la gran mayoría de las actividades que se realizan en sus aplicaciones. Esto incluye tanto operaciones CRUD básicas en activos principales como algunas abstracciones especiales (por ejemplo, AssetVersioned).

Los registros de auditoría se truncan después de 30 días

Los registros de auditoría de Frame.io están disponibles a través de la API durante un periodo de 30 días, después del cual se trasladan al almacenamiento en frío. Por lo tanto, si desea mantener un historial largo de eventos de Frame.io, asegúrese de almacenar los datos del registro histórico de forma independiente.

Ámbito y permisos

Solo los administradores de cuenta pueden acceder a los registros de auditoría de una cuenta, y todas las llamadas al punto final de registros de auditoría deben tener el ámbito de un account_id de la siguiente manera:

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

Respuestas

Todas las respuestas de registro de auditoría tienen un formato similar:

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}
No olvide paginar.

Los datos de respuesta del registro de auditoría pueden ser bastante detallados, así que asegúrese de estar familiarizado con la paginación.

Filtros

Los registros de auditoría admiten una amplia variedad de filtros, incluidos los intervalos de fecha. A diferencia de los puntos finales de búsqueda de Frame.io, los filtros solo se pueden enviar como parámetros de cadena de consulta GET.

Todos los filtros siguen el mismo formato:

GET + cadena de consulta

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

Actualmente, los registros de auditoría admiten un valor por tipo de filtro. Si proporciona dos filtros del mismo tipo (por ejemplo, filter[action]=ActionOne&amp;filter[action]=ActionTwo), el segundo filtro prevalecerá.

Tipos de filtro principales

Los tipos de filtro principales para seleccionar y navegar por los registros de auditoría son los siguientes:

Tipo de filtroDescripciónValores de ejemplo
item_typeFiltros para todos los recursos de un solo tipo.Presentation, Comment, ReviewLink, Asset
item_idFiltros para un solo recurso específico, por ejemplo, un activo o una presentación.<asset-id>, <presentation-id></presentation-id></asset-id>
actionFiltros para una sola acción, normalmente asociada con un item_typeProjectCreated, AssetVersioned, CommentDeleted
actor_idFiltros para el ID de un usuario específico (actor).<user-id></user-id>
team_idFiltros para las actividades asociadas con un solo equipo. Este filtro es útil solo en equipos que tienen varios equipos.<team-id></team-id>
inserted_atFiltros para eventos de auditoría que ocurren antes o después de un datetime específico. Debe estar en formato ISO-8601, UTC.2022-08-25T00:00:00Z

Tipos de elementos y acciones

RecursoAcciones
CuentaAccountCreated, AccountUpdate, AccountLocked
ActivoAssetCopied, AssetCreated, AssetDeleted, AssetUpdated, AssetVersioned, AssetUnversioned, AssetLabelUpdated, AssetMoved, AssetPreserved, AssetPrivatized, AssetPublicized, AssetRestored
ColaboradorCollaboratorCreated, CollaboratorDeleted
ComentarioCommentCreated, CommentCompleted, CommentDeleted, CommentLiked, CommentUncompleted, CommentUnliked, CommentUpdated, ReplyCreated
PresentaciónPresentationCreated, PresentationDeleted, PresentationUpdated
ProyectoProjectCreated, ProjectDeleted, ProjectMoved, ProjectRestored, ProjectUpdated
ReviewLinkReviewLinkCreated, ReviewLinkDeleted, ReviewLinkUpdated
EquipoTeamCreated, TeamUpdated, TeamDeleted
TeamMemberTeamMemberCreated, TeamMemberAccepted, TeamMemberDeclined, TeamMemberRemoved, TeamMemberUpdated

Ejemplos de filtros

Todos los filtros siguen un formato similar, como se indica arriba. A continuación, se incluyen algunos ejemplos para casos de uso específicos que pueden ayudarle a empezar.

EscenarioCadena de consulta
Acciones que un usuario individual ha realizado.?filter[actor_id]=<user-id></user-id>
Toda la actividad incluida en una presentación específica.?filter[item_id]=<presentation-id></presentation-id>
Comentarios que un usuario ha dejado.?filter[action]=CommentCreated&amp;filter[actor_id]=<user-id></user-id>
Toda la actividad del vínculo de revisión en un equipo.?filter[item_type]=ReviewLink&amp;filter[team_id]=<team-id></team-id>

Intervalo de fechas

Los intervalos de fecha son un caso ligeramente especial, ya que es necesario especificar el datetime inserted_at, el value y la operación que se aplicará a ese datetime. Por lo tanto, las consultas de intervalo de fecha siempre tendrán dos elementos de filtro, cada uno de los cuales se anidará junto a un parámetro [inserted_at].

Entre las operaciones compatibles se incluyen las siguientes:

  • gt: mayor que
  • gte: mayor o igual que
  • lt: menor que
  • lte: menor o igual que

Ejemplos de intervalos de fecha

EscenarioCadena de consulta
Todos los registros de auditoría de una fecha.?filter[inserted_at][op]=gt&amp;filter[inserted_at][value]=2019-03-25T00:00:00Z
Todos los activos que un usuario específico ha cargado hasta una fecha determinada.?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</user-id>