A criação de log de auditoria fornece uma interface da linha de comandos para gerenciar a criação de log de auditoria e visualizar logs de auditoria. Os logs de auditoria fornecem um histórico das mudanças feitas em objetos no sistema. Eles são armazenados em um índice de texto total.
Se a criação de log de auditoria for usada, então para os objetos que ela rastrear, seu log substituirá o sistema de mensagens que, do contrário, estaria visível em .
Importante: A criação de log de auditoria funciona apenas em operações executadas diretamente em um sistema em execução. Ela não funciona em dados importados para o sistema. O recurso bfimport atualiza o banco de dados diretamente e não interage com o recurso de log de auditoria.
Gerenciando Política de Auditoria
Uma política de auditoria controla a porcentagem da auditoria concluída. Ela é determinada pela configuração da definição de configuração do sistema Política de Auditoria.
- NENHUMA
- Nenhuma informação de auditoria é gravada.
- SEGURANÇA
- Somente as informações relacionadas à segurança são gravadas. Exemplos: criação de grupo de acesso e atividade da sessão do usuário.
- BÁSICA
- Esta é a configuração padrão. Ela também será usada se houver um valor inválido de Política de Auditoria. Somente informações mínimas são gravadas, como usuário, tipo de objeto, uuid e ação.
- DETALHADA
- Grava informações detalhadas sobre quais propriedades foram alteradas, incluindo o valor antigo e o novo valor. Nem todos os objetos podem fornecer essas informações. Para aqueles que não podem, não há diferença entre a política BREVE e DETALHADA. A definição de configuração do sistema Tamanho Máximo da Sequência de Auditoria pode ser usada para limitar a quantidade de dados armazenados.
A definição de configuração do sistema Tamanho Máximo da Sequência de Auditoria controla a quantidade de informações que podem ser gravadas para uma mudança DETALHADA limitando o tamanho dos campos de dados da sequência. Se o item de auditoria exceder esse número de caracteres, um trecho da mensagem SHA será armazenado, em vez do valor de sequência. Para campos que contenham informações confidenciais, como senhas, o trecho da mensagem será usado independentemente do tamanho da sequência.
Exibindo Informações de Auditoria
Uma interface da linha de comandos permite especificar quais informações exibir e como formatá-las.
A permissão Visualizar Todos os Logs de Auditoria é necessária.
Ela é designada por padrão aos grupos de acesso Segurança e Engenheiro de Construção.
Uso: bfauditlog [connection-options][command-options][query]
O executável literal é:
- Sistemas Windows: bfauditlog.bat
- Sistemas UNIX e Linux: bfauditlog.sh
Opções de conexão
- -H hostname | --hostname=hostname
- O nome do host remoto para a conexão. O padrão é localhost.
- -P port | --port=port
- A porta de comunicação para a conexão. O padrão é 3966.
- -d domain | --domain=domain
- O domínio ou a região para autenticação. Padrão: none.
- -u login | --user=login
- O nome de usuário a ser usado para autenticação. O padrão é root.
- -p password | --password=password
- A senha do usuário de autenticação. O padrão é root.
- -E encoding | --encoding=encoding
- A codificação do conjunto de caracteres de saída a ser usada. Se uma codificação inválida
for especificada, todas as codificações disponíveis serão listadas e o programa
será fechado. Observe que a habilidade para exibir texto na codificação solicitada
depende da capacidade do software do terminal usado no
cliente. O padrão depende de seu sistema operacional e suporte JVM.
Opções de Comando
- -h
- Exibe a ajuda.
- -b | --bare
- Exibe menos informações na saída (bare). O efeito exato depende do formato de saída (veja -t). Por exemplo, na saída XML, as tags de abertura, as tags de encerramento e a contagem de linha são omitidos. No CSV, a contagem de linha e os nomes de coluna são omitidos.
- -c auditClass[,auditClass ...] | --audit.class=class-list
- Especifica uma lista de classes de auditoria a serem usadas na consulta. Separe diversos nomes de classe com vírgulas. Se especificada diversas vezes, então a união de todas as classes de auditoria especificadas será usada. Se a opção não for
especificada, então todas as classes de auditoria que o usuário pode especificar serão
usadas. Use a opção -L para listar as classes de auditoria disponíveis.
O padrão é todas as classes de auditoria que o usuário está autorizado a visualizar.
- -f field[,field ...] | --field=field-list
- Especifica os campos a serem incluídos na saída. Separe diversos nomes de campo com vírgulas. Use a opção -L para listar
os campos disponíveis.
- -s field[+|-][,field[+|-] ...] | --field=field-list
- Lista os campos a serem usados para classificar a saída. Por padrão, a saída é classificada em ordem decrescente de audit.stamp. O marcador + especifica a ordem crescente. O marcador - especifica a ordem decrescente.
Separe diversos nomes de campo com vírgulas. O padrão é -audit.stamp.
- -l [offset,]count | --limit=[offset,]count
- Usada para paginar os resultados. O deslocamento e a contagem são expressos em números de entradas. Por exemplo, as médias "-l 100,50" mostram 50 entradas, após a 100ª entrada. Os formatos de saída diferentes de bare incluirão o número total de entradas correspondentes na saída.
- -a user[,user ...] | --audit.user=user-list
- Limita a saída a entradas associadas a um ou mais usuários especificados. Separe diversos nomes de usuário com vírgulas. Se você usar diversas opções -a, o comando usará a união de todos os usuários especificados nas opções.
Os usuários podem ser especificados por UUIDs ou IDs de login. Se -–audit-user for
especificado sem um argumento de usuário, então o usuário que é usado
para autenticação será utilizado.
- -t format | --format=format
- O formato a ser usado para saída, um de CSV, XML, JSON ou TEXTO.
O padrão é TEXTO.
- -L | --list
- Lista classes de auditoria disponíveis para o usuário. As classes de auditoria
marcadas com um asterisco (*) estão disponíveis para acesso ao usuário.
Se usado com -c (lista de classes de auditoria), em vez disso, então uma lista
de campos disponíveis para cada classe será exibida. Outras opções de comando
não tem efeito quando esta opção é especificada. Usuários com permissão ViewAllAudits
podem visualizar logs de auditoria a partir de qualquer classe. Outros usuários podem usar a opção -a
para visualizar somente seus próprios logs de auditoria.
Consulta
A consulta é uma sequência que usa o formato comumente utilizado por mecanismos de procura da Web: uma lista de especificações separada por espaço. As especificações estão no formato 'campo:valor' para procurar valor no campo especificado. Se nenhuma consulta for
especificada mas pelo menos uma opção for especificada, então todos os logs
de auditoria correspondentes serão exibidos. O usuário e a classe de auditoria não
podem ser especificados na consulta. Use as opções de comando para especificá-los.
Nota: Use aspas duplas em sistemas Windows e aspas simples em sistemas UNIX e Linux.
Exemplos
- Este exemplo lista todos os campos de consulta conhecidos para as
classes de auditoria Projeto e Etapa.
- Windows
$ bfauditlog.bat -c Project,Step -L
- UNIX e Linux
$ bfauditlog.sh -c Project,Step -L
- Este exemplo mostra os 10 logs de auditoria mais recentes para criações de projeto
usando um formato de saída de variáveis separadas por vírgulas e sem os títulos da
coluna ou contagem de linhas total. Somente o nome e o identificador exclusivo
do projeto serão fornecidos para cada registro.
- Windows
$ bfauditlog.bat -c Project -t CSV -f audit.target,
sxProjectName --bare -l 10 "audit.type:Create"
- UNIX e Linux
$ bfauditlog.sh -c Project -t CSV -f audit.target,
sxProjectName --bare -l 10 'audit.type:Create'
- Este exemplo recupera os 100 logs de auditoria mais recentes da
instalação na máquina 'buildforge.example.com' após efetuar login
com o domínio, nome de usuário e senha fornecidos.
- Este exemplo recupera os logs de auditoria que foram registrados a partir
do início de 23 de Maio de 2011 até o final de 27 de Maio de 2011, de acordo
com as configurações de fuso horário do usuário que autenticou a conexão.
- Este exemplo recupera os logs de auditoria para projetos cujos níveis
do grupo de acesso foram alterados a partir do valor antigo de 4, 5 ou 6 para
o novo valor 3. Observe que colchetes retos são usados para indicar um intervalo
inclusivo, de forma que '[4 TO 6]' significa que os valores 4 e 6 corresponderão. Além disso,
observe que os valores de nível antigo e novo estão disponíveis para procura
somente se a política de auditoria tiver sido configurada como 'DETAILED'.
- Este exemplo recupera os logs de auditoria para projetos cujos níveis
de grupo de acesso foram alterados a partir do valor antigo de 4 ou 5 para o
novo valor 2 ou 3. Observe que chaves são usadas para indicar um intervalo
exclusivo, de forma que '{3 TO 6}' significa que os valores 3 e 6 não corresponderão.
Além disso, observe que os valores de nível antigo e novo estão disponíveis para procura
somente se a política de auditoria tiver sido configurada como 'DETAILED'.
- Este exemplo restringe a consulta a resultados para usuários de auditoria root e sv e produz saída em um arquivo CSV. Ele retorna dados para as classes Projeto e Etapa e inclui informações para class, type, target,
user e timestamp:
- Windows
$ bfauditlog.bat -c Project,Step -f audit.class,
audit.type,audit.target,audit.user,audit.stamp
-a root,sv -l 10,5 -t CSV
- UNIX e Linux
$ bfauditlog.sh -c Project,Step -f audit.class,
audit.type,audit.target,audit.user,audit.stamp
-a root,sv -l 10,5 -t CSV
Classes
Classes são rótulos para entradas do log de auditoria.
Use a opção -L para listar as classes disponíveis para você.
Campos
Os campos representam as informações designadas a cada registro de log de auditoria.
- audit.class: Projeto (sequência)
- audit.stamp: Um registro de data e hora (número inteiro)
- audit.stamp.localized: Uma sequência localizada que representa o valor de número inteiro audit.stamp
- audit.type: Atualização (sequência)
- audit.target: UUID do projeto (sequência)
- audit.user: UUID do usuário que executou a atualização
Alguns campos em um registro de log de auditoria refletirão seu estado (o para antigo, n para novo, x para estendido) e seu tipo de dados (s para sequência, i para número inteiro). Exemplo:
soDescription: Descrição de projeto antigo (sequência)
snDescription: Descrição de novo projeto (sequência)
soSelectorUuid: UUID do seletor antigo (sequência)
snSelectorUuid: UUID do novo seletor (sequência)
ioRunLimit: Limite de execução antigo (número inteiro)
inRunLimit: Novo limite de execução (número inteiro)