Esta é uma API de registro de ações e operações realizadas na aplicação
API de listagem de ações/operações paginadas. Ver documentação de paginação.
Exemplo de requisição
GET /api/audit/logs HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.audit.types import GetActionLogsPagesRequest
request = GetActionLogsPagesRequest(cursor=0, size=15)
pages = sdk.audit.get_action_logs_pages(request)
print(response.payload)
const response = sdk.audit.getActionLogs();
const response = pages.next();
console.log(response.payload);
Exemplo de resposta
HTTP/1.1 200 OK
Content-Type: application/json
{
"cursor": {"current": 0, "next": null, "previous": null},
"action_logs": [
{
"datetime": "2019-01-09T11:50:00-02:00",
"source_ip": "214.188.12.152",
"consumer_id": "user:1",
"module": "auth",
"target_type": "users",
"target_id": "3",
"target_desc": "User03",
"action": "create",
"payload": {
"username": "User03",
"email": "user03@gmail.com",
"fullname": "User 03 Test",
"superuser": true,
"roles": []
}
},
{
"datetime": "2020-01-09T11:50:00-02:00",
"source_ip": "200.100.12.152",
"consumer_id": "user:5",
"module": "auth",
"target_type": "users",
"target_id": "3",
"target_desc": "User05",
"action": "update",
"payload": {
"username": "User05",
"email": "user05@gmail.com",
"fullname": "User 05 Test",
"superuser": false,
"roles": []
}
},
{
"datetime": "2019-05-09T11:50:00-02:00",
"source_ip": "192.168.47.130",
"consumer_id": "user:3",
"module": "firewall",
"target_type": "rules",
"target_id": "9",
"target_desc": "Firewall Rule 09",
"action": "delete",
"payload": {}
}
}
],
}
[
ActionLogs(
datetime="2019-01-09T11:50:00-02:00",
source_ip="214.188.12.152",
consumer_id="user:1",
module="auth",
target_type="users",
target_id="3",
target_desc="User03",
action="create",
payload={
"username"="User03",
"email"="user03@gmail.com",
"fullname"="User 03 Test",
"superuser"=False,
"roles"=[]
}
),
ActionLogs(
datetime="2020-01-09T11:50:00-02:00",
source_ip="200.100.12.152",
consumer_id="user:5",
module="auth",
target_type="users",
target_id="3",
target_desc="User05",
action="update",
payload={
"username"="User05",
"email"="user05@gmail.com",
"fullname"="User 05 Test",
"superuser"=True,
"roles"=[]
}
),
ActionLogs(
datetime="2019-05-09T11:50:00-02:00",
source_ip="192.168.47.130",
consumer_id="user:3",
module="firewall",
target_type="rules",
target_id="9",
target_desc="Firewall Rule 09",
action="delete",
payload={}
)
]
[
{
datetime: "2019-01-09T11:50:00-02:00",
sourceIp: "214.188.12.152",
consumerId: "user:1",
module: "auth",
targetType: "users",
targetId: "3",
targetDesc: "User03",
action: "create",
payload: {
username: "User03",
email: "user03@gmail.com",
fullname: "User 03 Test",
superuser: false,
roles: []
}
},
{
datetime: "2020-01-09T11:50:00-02:00",
sourceIp: "200.100.12.152",
consumerId: "user:5",
module: "auth",
targetType: "users",
targetId: "3",
targetDesc: "User05",
action: "update",
payload: {
username: "User05",
email: "user05@gmail.com",
fullname: "User 05 Test",
superuser: true,
roles: []
}
},
{
datetime: "2019-05-09T11:50:00-02:00",
sourceIp: "192.168.47.130",
consumerId: "user:3",
module: "firewall",
targetType: "rules",
targetId: "9",
targetDesc: "Firewall Rule 09",
action: "delete",
payload: {}
}
];
API para buscar as ações/operações realizadas em um item
module
/target_type
/target_id
Serão listadas todas as operações que foram realizadas (por qualquer usuário) no item selecionado
Exemplo de requisição
GET /api/audit/logs/targets/auth/users/3 HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.audit.types import GetTargetActionLogsRequest
request = GetTargetActionLogsRequest(module="auth", target_type="users", target_id="3")
response = sdk.audit.get_target_action_logs(request)
print(response.payload)
const response = sdk.audit.GetTargetActionLogs({ module="auth", targetType="users", targetId: "3" });
console.log(response.payload);
Exemplo de resposta
HTTP/1.1 200 OK
Content-Type: application/json
{
"action_logs": [
{
"datetime": "2019-01-09T11:50:00-02:00",
"source_ip": "214.188.12.152",
"consumer_id": "user:1",
"module": "auth",
"target_type": "users",
"target_id": "3",
"target_desc": "User03",
"action": "create",
"payload": {
"username": "User03",
"email": "user03@gmail.com",
"fullname": "User 03 Test",
"superuser": true,
"roles": []
}
},
{
"datetime": "2020-01-09T11:50:00-02:00",
"source_ip": "200.100.12.152",
"consumer_id": "user:5",
"module": "auth",
"target_type": "users",
"target_id": "3",
"target_desc": "User05",
"action": "update",
"payload": {
"username": "User05",
"email": "user05@gmail.com",
"fullname": "User 05 Test",
"superuser": false,
"roles": []
}
}
]
}
[
ActionLogs(
datetime="2019-01-09T11:50:00-02:00",
source_ip="214.188.12.152",
consumer_id="user:1",
module="auth",
target_type="users",
target_id="3",
target_desc="User03",
action="create",
payload={
"username"="User03",
"email"="user03@gmail.com",
"fullname"="User 03 Test",
"superuser"=False,
"roles"=[]
}
),
ActionLogs(
datetime="2020-01-09T11:50:00-02:00",
source_ip="200.100.12.152",
consumer_id="user:5",
module="auth",
target_type="users",
target_id="3",
target_desc="User05",
action="update",
payload={
"username"="User05",
"email"="user05@gmail.com",
"fullname"="User 05 Test",
"superuser"=True,
"roles"=[]
}
)
]
[
{
datetime: "2019-01-09T11:50:00-02:00",
sourceIp: "214.188.12.152",
consumerId: "user:1",
module: "auth",
targetType: "users",
targetId: "3",
targetDesc: "User03",
action: "create",
payload: {
username: "User03",
email: "user03@gmail.com",
fullname: "User 03 Test",
superuser: false,
roles: []
}
},
{
datetime: "2020-01-09T11:50:00-02:00",
sourceIp: "200.100.12.152",
consumerId: "user:5",
module: "auth",
targetType: "users",
targetId: "3",
targetDesc: "User05",
action: "update",
payload: {
username: "User05",
email: "user05@gmail.com",
fullname: "User 05 Test",
superuser: true,
roles: []
}
}
];
API para buscar as opções de filtros para module
, `target_type
econsumer
Serão listadas as opções de filtros
Exemplo de requisição
GET /api/audit/params HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
response = sdk.audit.get_params()
print(response.payload)
const response = sdk.audit.GetParams();
console.log(response.payload);
Exemplo de resposta
HTTP/1.1 200 OK
Content-Type: application/json
{
"modules": [
"name": "ipsec",
"target_types": [
"connection"
],
"actions": [
"create",
"update",
"delete",
]
],
"consumers": [{"id": "user:1", "name: "user1"}],
"source_ips": ["192.168.0.20"]
}
ActionLogParams(
modules=Module(
name="ipsec",
target_types=["connection"],
actions=["create", "update", "delete"],
),
consumers=[
Consumer(
id="user:1",
name="user1",
)
],
source_ips=["192.168.0.20"]
)
{
modules: [
{
name: "ipsec",
targetTypes: ["connection",],
actions: ["create", "update", "delete"],
}
],
consumers: [
{
id: "user:1", name: "user1",
}
],
sourceIps=["192.168.0.20"],
};
É possível passar alguns filtros para a API, permitindo visualizar as ações realizadas de forma mais específica de acordo com o objetivo. Todos os filtros possíveis de serem utilizados, podem ser visualizados abaixo:
datetime
source_ip
consumer
module
target_type
action
Podem ser utilizamos todos os filtros em conjunto, como também é possível utilizar apenas alguns deles.
source_ip
=“214.188.12.152”&consumer
=“user:1”&module
=“auth”&target_type
=“users”&action
=“create”
Exemplo de requisição
GET /api/audit/logs?source_ip="214.188.12.152"&consumer="user:1"&module="auth"&target_type="users"&action="create" HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.audit.types import GetActionLogsPagesRequest
request = GetActionLogsPagesRequest(
source_ip="214.188.12.152",
consumer="user:1",
module="auth",
target_type="users",
action="create"
)
pages = sdk.audit.get_action_logs_pages(request)
print(response.payload)
const response = sdk.audit.getActionLogs({
sourceIp: "214.188.12.152",
consumer: "user:1",
module: "auth",
targetType: "users",
action: "create"
});
const response = pages.next();
console.log(response.payload);
Parâmetros da url
Campo | Descrição |
---|---|
module | string Produto/módulo ao qual pertence o item que foi alvo da ação/operação realizada |
target_type | string Tipo do item que foi alvo da ação/operação realizada |
target_id | string Idendificador do item que foi alvo da ação/operação realizada |
Resposta
Campo | Descrição |
---|---|
datetime | string Data e hora da ação/operação |
source_ip | string IP de origem da ação/operação |
consumer_id | string Identificador do usuário que realizou a ação/operação |
module | string Produto/módulo no qual a ação/operação foi realizada |
target_type | string Tipo do item que sofreu a ação/operação |
target_id | int Identificador do elemento no qual foi realizada a ação/operação |
target_desc | string Descrição/informação do elemento no qual foi realizada a ação/operação |
action | string Ação realizada |
payload | string Dados/informações do item que sofreu a ação/operação |