Página de registro de auditoria no Jitterbit Management Console
Introdução
A página Registro de auditoria do Management Console permite que os administradores da organização Harmony recuperem registros de atividades do usuário Harmony que ocorrem no Management Console, API Manager, e Integration Studio e usuários externos acessando o API Manager Portal página.
Para acessar a página, faça login no portal Harmony, então use o menu do portal Harmony no canto superior esquerdo e navegue até Management Console > Registro de auditoria:
Como alternativa à visualização de logs de auditoria nesta página, você pode recuperar logs de auditoria usando uma API REST. A API de serviço de log de auditoria é descrito mais adiante nesta página.
Nota
Os logs de auditoria são retidos por 30 dias após a atividade do usuário ocorrer.
Pré-requisitos
Para habilitar e visualizar logs de auditoria, você deve ser membro de uma papel com Admin permissão na organização.
Habilitar registro de auditoria
O controle para habilitar ou desabilitar o registro de auditoria é sincronizado entre estas duas páginas do Management Console:
-
Esta página: Selecione Registro de auditoria desabilitado para ativar ou Registro de auditoria habilitado para desativar o registro de auditoria para o currently active organization:
-
Organizations página: Selecione a organização apropriada na tabela. Na gaveta Organization Policies, selecione a aba API Management e, em seguida, selecione Enable audit logging para ativar ou desativar o log de auditoria para a organização.
Cabeçalho da página de registro de auditoria
O cabeçalho na parte superior da página inclui uma barra de pesquisa, filtros de data e hora e opções adicionais:
Barra de pesquisa
A barra de pesquisa permite que você filtre os logs pelos critérios de pesquisa fornecidos abaixo:
Critérios de pesquisa
As pesquisas são feitas no key=value
formato. Os cinco critérios que podem ser usados como chaves são mostrados com exemplos na tabela abaixo:
Nome da coluna | Chave | Pesquisa válida |
---|---|---|
Nome de usuário | username | username=example@jbexample.com |
Ação | action | action=query action=update |
ID do ambiente | environmentId | environmentId=123456 |
Nome do ambiente | environmentName | environmentName=production |
Descrição da atividade | activity | activity=two factor |
Combinar pesquisas
As pesquisas podem conter uma combinação de critérios. Os critérios de pesquisa combinados devem ser separados por ponto e vírgula (;
) entre cada critério. Estes são exemplos de pesquisas combinadas válidas:
action=update;environment=production
environmentid=123456;action=create
Filtros de data e hora
Por padrão, os dados do log de auditoria dos últimos dois dias são exibidos na tabela de log de auditoria.
Para alterar o período, clique em ícone de calendário na barra de intervalo de datas:
Um seletor de datas é aberto, onde você pode definir as datas de início e término para o período de exibição:
Para redefinir o período para o padrão, clique na barra de intervalo de datas ícone de reinicialização.
Opções adicionais
À direita dos filtros de data e hora estão os seguintes controles:
-
Atualizar: Atualiza os dados da tabela.
-
Configurações de colunas: Abra a gaveta de configurações de colunas:
Use isto para alterar a disposição e a visibilidade das colunas. A gaveta tem os seguintes controles:
- Mostrar tudo: Torna todas as colunas visíveis.
- Mover: Arraste e solte para alterar a posição da coluna em relação às outras.
- Ocultar: A coluna está visível. Clique para ocultá-la.
- Mostrar: A coluna está oculta. Clique para mostrá-la.
- Salvar: Salva as colunas.
- Cancelar: Fecha a gaveta de colunas sem salvar as alterações.
-
Download: Clique para baixar um arquivo ZIP contendo um arquivo CSV com os dados atuais do log de auditoria com base nos filtros aplicados e critérios de pesquisa.
Rodapé da página de registro de auditoria
Quando há mais de 100 operações, elas são divididas em páginas de 100 cada. Você pode navegar por elas usando estes botões de navegação na parte inferior da tabela:
-
Primeira página: Vá para a primeira página.
-
Página anterior: Ir para a página anterior.
-
Próxima página: Vá para a próxima página.
-
Última página: Vá para a última página.
Exibir logs de auditoria
Cada linha na tabela de logs de auditoria exibe dados de log de auditoria de atividades e logins que ocorrem no Management Console, no API Manager e Integration Studio:
-
Nome de usuário: O nome de usuário do usuário que executa a atividade.
-
Ação: A ação executada pelo usuário, uma das seguintes: Criar, Excluir, Atualizar ou Consultar:
-
Criar: Indica que o usuário criou novos dados no conteúdo de uma página no Management Console, uma API no API Manager ou um projeto no Integration Studio. Por exemplo, criar um novo agente no Management Console ou implantar um projeto em Integration Studio seriam ações Criar.
-
Excluir: Indica que o usuário excluiu dados do conteúdo de uma página no Management Console, uma API no API Manager ou um projeto no Integration Studio. Por exemplo, excluir um agente no Management Console ou excluir um projeto de Integration Studio seriam ações Excluir.
-
Atualização: Indica que o usuário atualizou o conteúdo de uma página no Management Console, uma API no API Manager ou um projeto no Integration Studio. Por exemplo, alterar o nome de um agente no Management Console seria uma ação de Atualização.
-
Consulta: Indica que o usuário visualizou o conteúdo de uma página no Management Console, uma API no API Manager ou um projeto no Integration Studio. Por exemplo, visualizar a lista de projetos em Integration Studio seria uma ação Consulta.
-
-
Informações da atividade: Quando uma ação de implantação ocorre, esta coluna exibe os nomes dos afetados Integration Studio projeto e operação. Quando um projeto é implantado, o nome do projeto é exibido. Quando uma única operação é implantada, o nome do projeto que contém a operação e o nome da operação são exibidos. Quando um perfil de segurança do API Manager é adicionado ou removido, a alteração é exibida. Quando uma papel de usuário é alterada, a alteração é exibida.
-
Time: O timestamp da atividade. Os horários são exibidos no fuso horário do seu navegador.
-
ID do ambiente: O ID do ambiente ou ambientes onde a atividade ocorre.
-
Nome do ambiente: O nome do ambiente onde a atividade ocorre.
-
Descrição da atividade: Uma descrição da atividade. Se nenhuma descrição estiver disponível, a URL do endpoint será exibida.
API de serviço de log de auditoria
Como alternativa à visualização de logs de auditoria na página Audit Logging do Management Console, você pode recuperar logs de auditoria usando uma REST API. Isso requer o uso de utilitários de linha de comando, como curl, ou aplicativos como Postman.
Para usar a API do Serviço de Log de Auditoria, após habilitar o log de auditoria para a organização (descrita anteriormente nesta página), siga estas etapas:
-
Recupere um token de autenticação usando a API do User Service Controller. Esse token é necessário para usar a API do Audit Log Service.
-
Se sua Harmony organização não tem autenticação de dois fatores (TFA) habilitada, recupere seu token de autenticação com uma solicitação de login padrão.
-
Se sua Harmony organização tem o TFA habilitado, recuperando o token de autenticação requer duas solicitações:
-
-
Recuperar logs usando a API do Serviço de Log de Auditoria.
Recuperar um token de autenticação
A recuperação de um token de autenticação requer o uso da API do Controlador de Serviço do Usuário.
Importante
Se sua Harmony organização tem TFA habilitado, esta solicitação falhará. A recuperação do token de autenticação requer duas solicitações diferentes.
Um exemplo de solicitação mostrando o login na região NA e a recuperação do token de autorização:
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "alice@jbexample.com",
"password": "Jitterbit4Ever!"
}'
URL base
O URL base depende da região em que a organização está localizada:
Região | URL base |
---|---|
NA | https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login |
EMEA | https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login |
Ásia-PACÍFICA | https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login |
Cabeçalhos
Estes cabeçalhos são obrigatórios:
Cabeçalho | Obrigatório | Exemplo | Descrição |
---|---|---|---|
Content-Type | Obrigatório | 'Content-Type: application/json' | Indica o formato que será enviado na solicitação. |
Parâmetros corporais
Esses parâmetros obrigatórios são passados no corpo da solicitação:
Parâmetro obrigatório | Obrigatório | Tipo | Exemplo | Descrição |
---|---|---|---|---|
email | Obrigatório | Cadeia de caracteres | alice@jbexample.com | Nome de usuário Harmony (endereço de email ) com uma papel com permissão Admin na organização |
password | Obrigatório | Cadeia de caracteres | Jitterbit4Ever! | Senha do usuário Harmony |
Corpo de resposta
O corpo da resposta retornada contém uma lista das organizações às quais o usuário está associado, além do token de autenticação ("authenticationToken"
). Este token é necessário para autorização subsequente com a API de registro de auditoria. Neste exemplo, o token de autenticação é "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4"
. O ID da organização é mostrado como "123456"
para a primeira organização à qual este usuário pertence. Um exemplo da resposta:
{
"status": true,
"operation": "User login",
"authenticationToken": "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4",
"serverUrl": "https://na-east.jitterbit.com",
"cloudAppsUrl": "https://na-east.jitterbit.com",
"orgAttrs": [
{
"orgId": "123456",
"orgName": "JB Example Company",
"orgZoneUrl": "https://na-east.jitterbit.com"
},
{
"orgId": "20970",
"orgName": "example@jbexample.com",
"orgZoneUrl": "https://na-east.jitterbit.com"
}
],
"defaultOrgId": "123456",
"sessionTimeoutInSeconds": 14400
}
Recuperar um token de autenticação com TFA habilitado
Se a Harmony organização de um usuário tem autenticação de dois fatores (TFA) habilitada, a recuperação do token de autenticação requer duas solicitações usando a API do Controlador de Serviço do Usuário:
Recuperar um código TFA
Um código TFA válido é necessário para recuperar um token de autenticação quando o TFA está habilitado. Um exemplo de solicitação mostrando o login na região NA e a solicitação de um código TFA:
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "alice@jbexample.com",
"password": "Jitterbit4Ever!",
"deviceId": "abcd"
}'
URL base
O URL base depende da região em que a organização está localizada:
Região | URL base |
---|---|
NA | https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login |
EMEA | https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login |
Ásia-PACÍFICA | https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login |
Cabeçalhos
Estes cabeçalhos são obrigatórios:
Cabeçalho | Obrigatório | Exemplo | Descrição |
---|---|---|---|
Content-Type | Obrigatório | 'Content-Type: application/json' | Indica o formato que será enviado na solicitação. |
Parâmetros corporais
Esses parâmetros obrigatórios são passados no corpo da solicitação:
Parâmetro obrigatório | Obrigatório | Tipo | Exemplo | Descrição |
---|---|---|---|---|
email | Obrigatório | Cadeia de caracteres | alice@jbexample.com | Nome de usuário Harmony (endereço de email ) com uma papel com permissão Admin na organização |
password | Obrigatório | Cadeia de caracteres | Jitterbit4Ever! | Senha do usuário Harmony |
deviceId | Obrigatório | Cadeia de caracteres | abcd | Identificador que será utilizado para confirmar o código TFA na próxima solicitação |
Corpo de resposta
O corpo da resposta retornada contém uma mensagem de erro indicando que um código TFA foi enviado para o endereço de email do usuário.
{
"status": false,
"operation": "User login",
"errorCode": "VALIDATE_TFA_LOGIN_EMAIL",
"errorMessage": "Validate your login with authentication code. An email from Jitterbit with the code was sent to you.",
"authenticationToken": null,
"serverUrl": "https://na-east.jitterbit.com",
"orgAttrs": [],
"defaultOrgId": null
}
Use o código TFA para recuperar um token de autenticação
O código TFA enviado ao endereço de email do usuário agora pode ser usado na segunda solicitação para recuperar o token de autenticação. Um exemplo de solicitação mostrando o login na região NA com um código TFA e a recuperação do token de autorização:
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login/code' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "alice@jbexample.com",
"password": "Jitterbit4Ever!",
"code": "112233"
"deviceId": "abcd"
}'
URL base
O URL base depende da região em que a organização está localizada:
Região | URL base |
---|---|
NA | https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login/code |
EMEA | https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login/code |
Ásia-PACÍFICA | https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login/code |
Cabeçalhos
Estes cabeçalhos são obrigatórios:
Cabeçalho | Obrigatório | Exemplo | Descrição |
---|---|---|---|
Content-Type | Obrigatório | 'Content-Type: application/json' | Indica o formato que será enviado na solicitação. |
Parâmetros corporais
Esses parâmetros obrigatórios são passados no corpo da solicitação:
Parâmetro obrigatório | Obrigatório | Tipo | Exemplo | Descrição |
---|---|---|---|---|
email | Obrigatório | Cadeia de caracteres | alice@jbexample.com | Nome de usuário Harmony (endereço de email ) com uma papel com permissão Admin na organização |
password | Obrigatório | Cadeia de caracteres | Jitterbit4Ever! | Senha do usuário Harmony |
code | Obrigatório | Cadeia de caracteres | 112233 | Código TFA enviado para o email do usuário Harmony |
deviceId | Obrigatório | Cadeia de caracteres | abcd | Identificador enviado para gerar o código TFA na solicitação anterior |
Corpo de resposta
O corpo da resposta retornado contém uma lista das organizações às quais o usuário está associado, além do token de autenticação ("authenticationToken"
). Este token é necessário para autorização subsequente com a API de registro de auditoria. Neste exemplo, o token de autenticação é "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4"
. O ID da organização é mostrado como "123456"
para a primeira organização à qual este usuário pertence. Um exemplo da resposta:
{
"status": true,
"operation": "User login",
"authenticationToken": "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4",
"serverUrl": "https://na-east.jitterbit.com",
"cloudAppsUrl": "https://na-east.jitterbit.com",
"orgAttrs": [
{
"orgId": "123456",
"orgName": "JB Example Company",
"orgZoneUrl": "https://na-east.jitterbit.com"
},
{
"orgId": "654321",
"orgName": "example@jbexample.com",
"orgZoneUrl": "https://na-east.jitterbit.com"
}
],
"defaultOrgId": "123456",
"sessionTimeoutInSeconds": 14400
}
Recuperar logs de auditoria
Depois de ter o token de autenticação, o ID da organização e um período de tempo de seu interesse, você pode recuperar logs de auditoria. Um exemplo mostrando a recuperação de todos os registros começando em 1º de janeiro de 2021 e incluindo a versão detalhada dos registros:
curl --request POST 'https://api.na.jitterbit.com/v1/auditlog?detail=true' \
--header 'accept: application/json' \
--header 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' \
--header 'Content-Type: application/json' \
--data-raw '{
"queryParams": {
"organization_id": "123456"
},
"range": {
"fromTimestamp": "2021-01-01T00:00:00.000Z",
"toTimeStamp": "9999-01-01T00:00:00.000Z"
}
}'
Nota
Se presentes na saída do log, senhas, frases de senha e tokens de autenticação são substituídos por asteriscos para mascará-los.
URL base
O URL base depende da região em que a organização está localizada:
Região | URL base |
---|---|
NA | https://api.na.jitterbit.com/v1/auditlog |
EMEA | https://api.emea.jitterbit.com/v1/auditlog |
Ásia-PACÍFICA | https://api.apac.jitterbit.com/v1/auditlog |
Endpoints
O Serviço de Log de Auditoria tem estes endpoints (APIs) disponíveis:
Endpoint | Opcional accept Cabeçalho | Descrição |
---|---|---|
auditlog | 'accept: application/json' | Retorna logs de auditoria no formato JSON |
auditlog/download | 'accept: application/zip' | Retorna logs de auditoria em um formato CSV compactado (ZIP) com formato de nome de arquivo audit-log_YYYY_MM_DD_HH_MM_SS.zip |
Parâmetros de URL
Esses parâmetros podem ser passados na URL:
Parâmetro | Obrigatório | Tipo | Exemplo | Descrição |
---|---|---|---|---|
detail | Opcional | Booleano | detail=true | Indica se o user_id do usuário que está realizando a ação deve ser retornado nos dados. Por padrão, isso é false . |
Cabeçalhos
Esses cabeçalhos podem ser usados na solicitação:
Cabeçalho | Obrigatório | Exemplo | Descrição |
---|---|---|---|
accept | Opcional | 'accept: application/json' 'accept: application/zip' | Indica o formato que será aceito na resposta: um dos json ou zip . Se usado, deve corresponder ao endpoint conforme mostrado acima. |
authToken | Obrigatório | 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' | Passa o token de autorização (authenticationToken ) retornado pela API do Controlador de Serviço do Usuário. |
Content-Type | Obrigatório | 'Content-Type: application/json' | Indica o formato que será enviado na solicitação. |
Parâmetros corporais
Esses parâmetros podem ser passados no corpo da solicitação:
Parâmetro | Chave | Obrigatório | Tipo | Exemplo | Descrição |
---|---|---|---|---|---|
queryParams | Não aplicável | Obrigatório | Mapa | "queryParams": { "organization_id": "123456" } | Os parâmetros de consultar usados ao pesquisar o banco de dados do log de auditoria; os termos da consultar são combinados com um AND operador. |
queryParams | organization_id | Obrigatório | Cadeia de caracteres | 123456 | ID da organização Harmony. A organização deve estar localizada na região que corresponde à URL base. |
queryParams | organization_name | Opcional | Cadeia de caracteres | JB Example Company | Nome da organização. |
queryParams | operation_name | Opcional | Cadeia de caracteres | /jitterbit-cloud-restful-service/... | O nome (URL) da operação (a chamada de API para Harmony) que foi registrada. |
queryParams | action | Opcional | Cadeia de caracteres | QUERY | A ação executada pela operação. |
queryParams | action_timestamp | Opcional | Cadeia de caracteres | 2021-01-01T00:00:00.000Z | A partir do carimbo de data e hora, no formato aaaa-MM-ddTHH:mm:ss.sssZ. |
queryParams | environment_ids | Opcional | Cadeia de caracteres | 132510, 132520, 132530 | Lista separada por vírgulas de IDs de ambiente para usar na consultar. |
queryParams | environment_names | Opcional | Cadeia de caracteres | Development, QA | Lista separada por vírgulas de nomes de ambiente para usar na consultar. |
range | Não aplicável | Obrigatório | Mapa | "range": { "fromTimestamp": "2021-01-01T00:00:00.000Z", "toTimeStamp": "9999-01-01T00:00:00.000Z" } | O intervalo de tempo dos logs de auditoria que devem ser retornados. Especifique um horário no futuro para retornar todos os logs. Os logs são retidos por trinta dias. Embora você possa especificar uma data no passado e no futuro, apenas os logs dos últimos trinta dias de atividade estão disponíveis. |
range | fromTimestamp | Obrigatório | Cadeia de caracteres | 2021-01-01T00:00:00.000Z | Carimbo de data e hora "De", no formato aaaa-MM-ddTHH:mm:ss.sssZ. |
range | toTimestamp | Obrigatório | Cadeia de caracteres | 2022-01-01T00:00:00.000Z | Carimbo de data e hora "Para", no formato aaaa-MM-ddTHH:mm:ss.sssZ. |
Exemplo
Este exemplo usa o auditlog/download
endpoint para recuperar todos os registros da organização 123456, com uma ação de QUERY
, começando em 1º de janeiro de 2023, incluindo a versão detalhada dos registros, e baixado como CSV em um formato de arquivo compactado (ZIP) para um arquivo de saída:
curl --request POST 'https://api.na.jitterbit.com/v1/auditlog/download?detail=true' \
--output 'download.zip' \
--header 'accept: application/zip' \
--header 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' \
--header 'Content-Type: application/json' \
--data-raw '{
"queryParams": {
"organization_id": "123456",
"action": "QUERY"
},
"range": {
"fromTimestamp": "2023-01-01T00:00:00.000Z",
"toTimeStamp": "9999-01-01T00:00:00.000Z"
}
}'
Exemplo de saída de log
Este é um fragmento de exemplo da saída JSON retornada pelo auditlog
endpoint:
{
"records": [
{
"username": "alice@jbexample.com",
"organization_id": "123456",
"organization_name": "JB Example Company",
"operation_name": "/jitterbit-cloud-restful-service/user/login",
"action": "UPDATE",
"action_timestamp": "2023-03-23T09:59:59.999Z",
"environment_ids": null,
"environment_names": null,
"sort_values": [
1680083968484
],
"user_id": null,
"acitivity_info": null,
"request_body": "null",
"response_body": "null"
},
{
"username": "bob@jbexample.com",
"organization_id": "123456",
"organization_name": "JB Example Company",
"operation_name": "/jitterbit-cloud-restful-service/subscription/list/647330",
"action": "QUERY",
"action_timestamp": "2023-03-23T08:59:59.999Z",
"environment_ids": null,
"environment_names": null,
"sort_values": [
1680081692921
],
"user_id": null,
"acitivity_info": null,
"request_body": "null",
"response_body": "{\"subscriptions\":[{\"organizationId\":\"123321\",\"lastUpdatedBy\":\"alice@jbexample.com\",\"offeringName\":\"Jitterbit Harmony Enterprise\",\"activatedOn\":1658343482577,\"createdBy\":\"alice@jbexample.com\",\"displayExpiresOn\":1660934256000,\"lastUpdatedOn\":1658343482660,\"expiresOn\":2607705456000,\"id\":\"125521\",\"createdOn\":1658343482577,\"offeringEnumId\":\"5\"}],\"operation\":\"List Subscription by Organization\",\"status\":true}"
},
{
"username": "bob@jbexample.com",
"organization_id": "123456",
"organization_name": "JB Example Company",
"operation_name": "/jitterbit-cloud-restful-service/project/env/detail/654321",
"action": "CREATE",
"action_timestamp": "2023-03-23T07:59:59.999Z",
"environment_ids": [
"654321"
],
"environment_names": [
"Default Environment"
],
"sort_values": [
1679393229672
],
"user_id": null,
"acitivity_info": "Project: Salesforce to NetSuite Operation: Get Customers",
"request_body": "null",
"response_body": "{\"projEnvDetails\":{\"noOfConnections\":0,\"lastUpdatedBy\":\"alice@jbexample.com\",\"agentClusterId\":1,\"noOfHostedEndPoints\":0,\"appRuntime\":\"sandbox\",\"agentGroupId\":\"99999\",\"urlPrefix\":\"defaultUrlPrefix\",\"permission\":7,\"envId\":\"654321\",\"agentGroupName\":\"Production Cloud Agent Group\",\"lowestAgentVersion\":\"11.0.0.0\",\"createdOn\":1515425638817,\"orgId\":\"123456\",\"noOfScripts\":0,\"noOfProjects\":0,\"createdBy\":\"bob@jbexample.com\",\"envName\":\"Default Environment\",\"envType\":2,\"noOfFileFormats\":0,\"envDesc\":\"Default environment created by Harmony\",\"lastUpdatedOn\":1661335689017,\"noOfOperations\":0},\"operation\":\"Get detail of a Project Env\",\"status\":true}"
},
. . .
]
}
Nota
Para a saída retornada de environment_ids
e environment_names
, uma resposta com um null
value indica que a operação não tem impacto no ambiente. Uma resposta com um único valor indica que a operação estava no nível do ambiente e impacta somente aquele ambiente. Uma resposta com múltiplos valores indica que a operação estava no nível da organização e impacta múltiplos ambientes.