- Introdução
- Segurança de dados e conformidade
- Organizações
- Autenticação e segurança
- Licenciamento
- Sobre as licenças
- Preço unificado: estrutura do plano de licenciamento
- Ativar sua licença Enterprise
- Migre do Test Suite para o Test Cloud
- Migração de licença
- Atribuição de Licenças a Tenants
- Atribuição de licenças aos usuários
- Desalocando licenças de usuário
- Monitoring license allocation
- Atribuição excessiva de licenças
- Notificações de licenciamento
- Gerenciamento de Licenças de Usuário
- Tenants e serviços
- Contas e funções
- AI Trust Layer
- Aplicativos Externos
- Notificações
- Geração de logs
- Sobre logs
- Exportação de logs
- Testes em sua organização
- Solução de problemas
- Migração para o Test Cloud

Guia do administrador do Test Cloud
Exportação de logs
A disponibilidade de funcionalidades depende da plataforma de nuvem que você usa. Para obter detalhes, consulte a página Disponibilidade de recursos.
Essa funcionalidade só estará disponível se você estiver no plano de licenciamento Enterprise.
A experiência de logs Unificados permite que você exporte logs em formato CSV usando um dos seguintes métodos:
- Opção Exportar na interface do usuário: na seção Logs de auditoria de sua organização ou tenant, selecione Exportar.
- APIs de logs de auditoria: use as APIs de logs de auditoria.
- Script personalizado da UiPath: execute um script desenvolvido pela UiPath para exportar logs do armazenamento de logs de auditoria de longo prazo da UiPath.
Para fins de retenção de longo prazo ou de conformidade, tanto a experiência de logs unificada quanto clássica permitem que você configure as exportações de logs do UiPath Robot para enviar automaticamente dados do Orchestrator para o Azure Blob Storage, AWS S3 ou Google Cloud Storage, onde os arquivos de log são gerados a cada hora e podem serão processados usando suas próprias soluções de BI ou monitoramento.
Exportando logs usando script
Se você estiver usando a experiência de logs unificados, você pode usar um script dedicado para exportar logs de auditoria que não estão mais disponíveis por meio da interface de Logs de auditoria. O script suporta a recuperação de logs de até 2 anos atrás.
Este script é útil quando:
- Você precisa acessar logs de auditoria mais antigos para fins de conformidade ou investigação.
- Você deseja automatizar o arquivamento de logs a longo prazo.
Pré-requisitos
- Copie o seguinte script para um arquivo
.shpróprio:appId=$1 appSecret=$2 organizatioNameOrId=$3 fromDate=$4 toDate=$5 mode=${6:-s} cloud=${7:-cloud} if [[ $# -lt 5 ]]; then echo "Error: Not all required input parameters provided." echo "Usage: $0 <appId> <appSecret> <organizatioNameOrId> <fromDate> <toDate> <mode>(optional: v for verbose, s for silent)" exit 1 fi # Validate "fromDate" date format (MM/DD/YYYY) if ! date -d "$fromDate" &>/dev/null; then echo "Error: Invalid date format for 'fromDate'. Please use MM/DD/YYYY format." exit 1 fi # Validate "to" date format (MM/DD/YYYY) if ! date -d "$toDate" &>/dev/null; then echo "Error: Invalid date format for 'toDate'. Please use MM/DD/YYYY format." exit 1 fi echo $(date +"%Y-%m-%d %H:%M:%S.%3N") "Start Getting UiPath Token." response=$(curl --data-urlencode -X POST "https://${cloud}.uipath.com/${organizationNameOrId}/identity_/connect/token" -$mode \ -d "grant_type=client_credentials" \ -d "scope=PM.Audit.Read" \ -d "client_id=$appId" \ -d "client_secret=$appSecret" \ -H "Content-Type: application/x-www-form-urlencoded") access_token=$(echo "$response" | jq -r '.access_token') if [[ "$access_token" == null ]]; then echo "Error: Access token is null or empty in the response. Please verify the appId and appSecret." exit 1 fi base_dir=$(date +"%Y-%m-%d%H:%M:%S.%3N") echo $base_dir "Start Downloading UiPath Platform Audit logs." # Define the base URL base_url="https://${cloud}.uipath.com/${organizatioNameOrId}/orgaudit_/api/query/downloadeventsfromlongtermstore" mkdir -p $base_dir # Iterate through time intervals current_date=$(date -u -d "$fromDate" +"%Y-%m-%dT%H:%M:%SZ") seconds_in_a_day=$((24*60*60)) while [ "$(date -d "$current_date" +%s)" -le "$(date -d "$toDate" +%s)" ]; do next_date=$(date -u -d "$current_date + $(($seconds_in_a_day-1)) seconds" +"%Y-%m-%dT%H:%M:%SZ") # Construct the full URL with the current time interval formatted_current_date=$(date -u -d "$current_date" +"%Y-%m-%dT%H:%M:%SZ" | sed 's/\//%2F/g') formatted_current_date="${current_date}" formatted_next_date=$next_date | sed 's/\//%2F/g' formatted_next_date="${next_date}" full_url="$base_url?from=$formatted_current_date&to=$formatted_next_date" echo $full_url echo "Downloading UiPath Audit Log from $current_date to $next_date" curl -X GET "$full_url" -$mode \ -H "Authorization: Bearer $access_token" \ -o "${base_dir}/${current_date////-}_to_${next_date////-}.zip" # Save the response to a file # Move to the next time interval current_date=$next_date one=1 current_date=$(date -u -d "$current_date + $one seconds" +"%Y-%m-%dT%H:%M:%SZ") done for zip_file in "$base_dir"/*.zip; do zip_file_name="$(basename "$zip_file")" unzip -q "$zip_file" -d "$base_dir/auditlogs/" echo "Extracted ${zip_file_name%.*}" rm "$zip_file" done shopt -s nullglob for zip_file in "$base_dir/auditlogs"/*.zip; do zip_file_name="$(basename "$zip_file")" unzip -q "$zip_file" -d "$base_dir/auditlogs/${zip_file_name%.*}" for data_file in "$base_dir/auditlogs"/${zip_file_name%.*}/*.txt; do data_file_name="$(basename "$data_file")" mv "$data_file" "$base_dir/auditlogs/${data_file_name%.*}_${zip_file_name%.*}.txt" rm -r "$base_dir/auditlogs/${zip_file_name%.*}" done rm "$zip_file" done shopt -u nullglob echo $(date +"%Y-%m-%d %H:%M:%S.%3N") "Downloaded UiPath Platform Audit logs and saved them according to UTC date"appId=$1 appSecret=$2 organizatioNameOrId=$3 fromDate=$4 toDate=$5 mode=${6:-s} cloud=${7:-cloud} if [[ $# -lt 5 ]]; then echo "Error: Not all required input parameters provided." echo "Usage: $0 <appId> <appSecret> <organizatioNameOrId> <fromDate> <toDate> <mode>(optional: v for verbose, s for silent)" exit 1 fi # Validate "fromDate" date format (MM/DD/YYYY) if ! date -d "$fromDate" &>/dev/null; then echo "Error: Invalid date format for 'fromDate'. Please use MM/DD/YYYY format." exit 1 fi # Validate "to" date format (MM/DD/YYYY) if ! date -d "$toDate" &>/dev/null; then echo "Error: Invalid date format for 'toDate'. Please use MM/DD/YYYY format." exit 1 fi echo $(date +"%Y-%m-%d %H:%M:%S.%3N") "Start Getting UiPath Token." response=$(curl --data-urlencode -X POST "https://${cloud}.uipath.com/${organizationNameOrId}/identity_/connect/token" -$mode \ -d "grant_type=client_credentials" \ -d "scope=PM.Audit.Read" \ -d "client_id=$appId" \ -d "client_secret=$appSecret" \ -H "Content-Type: application/x-www-form-urlencoded") access_token=$(echo "$response" | jq -r '.access_token') if [[ "$access_token" == null ]]; then echo "Error: Access token is null or empty in the response. Please verify the appId and appSecret." exit 1 fi base_dir=$(date +"%Y-%m-%d%H:%M:%S.%3N") echo $base_dir "Start Downloading UiPath Platform Audit logs." # Define the base URL base_url="https://${cloud}.uipath.com/${organizatioNameOrId}/orgaudit_/api/query/downloadeventsfromlongtermstore" mkdir -p $base_dir # Iterate through time intervals current_date=$(date -u -d "$fromDate" +"%Y-%m-%dT%H:%M:%SZ") seconds_in_a_day=$((24*60*60)) while [ "$(date -d "$current_date" +%s)" -le "$(date -d "$toDate" +%s)" ]; do next_date=$(date -u -d "$current_date + $(($seconds_in_a_day-1)) seconds" +"%Y-%m-%dT%H:%M:%SZ") # Construct the full URL with the current time interval formatted_current_date=$(date -u -d "$current_date" +"%Y-%m-%dT%H:%M:%SZ" | sed 's/\//%2F/g') formatted_current_date="${current_date}" formatted_next_date=$next_date | sed 's/\//%2F/g' formatted_next_date="${next_date}" full_url="$base_url?from=$formatted_current_date&to=$formatted_next_date" echo $full_url echo "Downloading UiPath Audit Log from $current_date to $next_date" curl -X GET "$full_url" -$mode \ -H "Authorization: Bearer $access_token" \ -o "${base_dir}/${current_date////-}_to_${next_date////-}.zip" # Save the response to a file # Move to the next time interval current_date=$next_date one=1 current_date=$(date -u -d "$current_date + $one seconds" +"%Y-%m-%dT%H:%M:%SZ") done for zip_file in "$base_dir"/*.zip; do zip_file_name="$(basename "$zip_file")" unzip -q "$zip_file" -d "$base_dir/auditlogs/" echo "Extracted ${zip_file_name%.*}" rm "$zip_file" done shopt -s nullglob for zip_file in "$base_dir/auditlogs"/*.zip; do zip_file_name="$(basename "$zip_file")" unzip -q "$zip_file" -d "$base_dir/auditlogs/${zip_file_name%.*}" for data_file in "$base_dir/auditlogs"/${zip_file_name%.*}/*.txt; do data_file_name="$(basename "$data_file")" mv "$data_file" "$base_dir/auditlogs/${data_file_name%.*}_${zip_file_name%.*}.txt" rm -r "$base_dir/auditlogs/${zip_file_name%.*}" done rm "$zip_file" done shopt -u nullglob echo $(date +"%Y-%m-%d %H:%M:%S.%3N") "Downloaded UiPath Platform Audit logs and saved them according to UTC date" - Execute o script em um ambiente WSL (Windows Subsystem para Linux) e certifique-se de que as seguintes ferramentas estejam instaladas:
sudo apt install dos2unix unzip jqsudo apt install dos2unix unzip jq - Prepare o script para execução usando os seguintes comandos:
dos2unix <script-name>.sh chmod +x <script-name>.shdos2unix <script-name>.sh chmod +x <script-name>.sh - Crie um aplicativo externo confidencial em seu tenant e atribua o seguinte escopo de API:
PM.Audit.Read(aplicativo). - Colete as seguintes credenciais do aplicativo:
- ID do aplicativo (
client_id) - Segredo do aplicativo (
client_secret)
- ID do aplicativo (
Etapas
- Defina as variáveis necessárias no seu terminal:
client_id='<your-client-id>' client_secret='<your-client-secret>' org_name='<your-org-name>' start_date='MM/DD/YYYY' end_date='MM/DD/YYYY'client_id='<your-client-id>' client_secret='<your-client-secret>' org_name='<your-org-name>' start_date='MM/DD/YYYY' end_date='MM/DD/YYYY' - Execute o script usando o seguinte comando:
./<script-name>.sh $client_id $client_secret $org_name $start_date $end_date. Por exemplo:client_id='<clientId>' client_secret='<clientsecret>' org_name='test_org' start_date='09/01/2025' end_date='10/01/2025' ./<script-name>.sh $client_id $client_secret $org_name $start_date $end_date vclient_id='<clientId>' client_secret='<clientsecret>' org_name='test_org' start_date='09/01/2025' end_date='10/01/2025' ./<script-name>.sh $client_id $client_secret $org_name $start_date $end_date v
Como configurar a exportação de logs do robô
A disponibilidade de funcionalidades depende da plataforma de nuvem que você usa. Para obter detalhes, consulte a página Disponibilidade de recursos.
Para exportar logs de Robôs gerados em seus serviços do Orchestrator para o Azure, AWS S3 e o Armazenamento do Google Cloud, siga os procedimentos específicos descritos mais abaixo. Os logs são salvos em um arquivo .csv no contêiner uipathrobotlogs . A exportação é feita por tenant o que facilita o seguinte:
- Armazenamento de logs que devem ser mantidos para fins de conformidade e auditoria.
- Analisando e visualizando a saída de logs em sua própria ferramenta de relatórios ou BI.
Observação:
Ao configurar a página de exportação de logs, não suportamos o preenchimento de 30 dias de logs.
-
Faça login na sua conta da UiPath.
-
Acesse Admin e selecione o tenant no painel à esquerda.
-
Select Services.
-
No cartão do Orchestrator, selecione o ícone Mais e selecione Configuração de exportação de logs.
O painel Configuração será aberto à direita da janela
-
Habilite a alternância Enviar logs de robôs para o armazenamento personalizado.
-
Dependendo da sua plataforma de nuvem, continue com as seguintes etapas:
- Test Cloud:
- No menu suspenso Tipo de armazenamento, selecione o provedor de armazenamento para o qual deseja exportar os logs. As seguintes opções estão disponíveis:
- Azure
- AWS S3
- Google Cloud Storage
Observação:A funcionalidade de exportação de log não suporta AWS KMS.
- Após executar as etapas específicas do provedor, o
.csvserá gerado. Baixe o arquivo .csv de exemplo - Os logs serão entregues de hora em hora. Esse intervalo de tempo não é configurável.
- No menu suspenso Tipo de armazenamento, selecione o provedor de armazenamento para o qual deseja exportar os logs. As seguintes opções estão disponíveis:
- Test Cloud Public Sector e Test Cloud Dedicado:
- Continue usando o procedimento descrito na seção Azure .
- Test Cloud:
Azure
Você pode configurar IPs estáticos para a lista de permissões e não abrir sua rede para todos os IPs externos. Vá para Configurações > Rede > Acesso público > Firewall > Intervalo de endereços no Azure Blob Storage para adicionar os IPs estáticos. Verifique a página Configurando o firewall para a lista completa de IPs.
As seguintes opções de armazenamento são suportadas:
- Armazenamento padrão localmente redundante (LRS)
- Armazenamento com redundância geográfica padrão (GRS)
- Armazenamento padrão com redundância geográfica com acesso de leitura (RA-GRS)
- Armazenamento padrão com redundância de zona (ZRS)
- LRS Premium
Para obter mais informações sobre tipos de armazenamento, consulte a página Visão geral da conta de armazenamento na documentação oficial do Azure.
-
No menu suspenso Tipo de Armazenamento, selecione Conta de Armazenamento do Azure.
-
No campo Azure Blob Connection String, digite a string de conexão do blob conforme recuperado do Azure Portal.
-
No campo Nome do contêiner, digite o nome do contêiner usado para armazenar o .
csvno Azure. Por padrão, éuipathrobotlogs. Se um nome de contêiner personalizado for fornecido e ainda não existir, o contêiner será criado para você. -
Selecione Salvar. Uma notificação é exibida avisando que você que configurou a exportação dos logs de robô com sucesso.
-
Na sua Conta de Armazenamento de Blobs no Azure Portal:
- Selecione Rede sob Configurações no painel esquerdo.
- Selecione Permitir acesso de > Todas as redes.
- Selecione Salvar para guardar as alterações.
-
Dentro de uma hora, um arquivo de log
.csvé gerado no armazenamento de blobs. O.csvé gerado no contêineruipathrobotlogs, sob a seguinte hierarquia de pastas[tenant_key]/[year]/[month]/[day]/[hour]/output. É recomendável mapear um tenant para um contêiner, pois a chave do tenant é a única maneira de distinguir entre os tenants se vários forem encaminhados para um contêiner.
AWS S3
Você pode configurar IPs estáticos para a lista de permissões e não abrir sua rede para todos os IPs externos. Use políticas de acesso no AWS S3 para adicionar negar todas as solicitações, a menos que seja da lista aws:SourceIp conforme descrito na página Políticas de bucket para o Amazon S3 do guia do usuário do AWS S3. Verifique a página Configurando o firewall do guia do administrador do Automation Cloud para a lista completa de IPs.
-
No menu suspenso Tipo de armazenamento, selecione o AWS S3.
-
No campo Bucket Name, digite o nome do bucket conforme configurado na AWS.
Observação:O mesmo nome do bucket não pode ser compartilhado por várias organizações.
-
No campo Nome da Região, digite o nome das regiões para onde os logs serão exportados. Por exemplo:
us-west-1 -
Certifique-se de conceder ao usuário do IAM fornecido por meio do comando s3:PutObjecet e s3:DeleteObject acesso ao seu bucket.
Google Cloud Storage
-
No menu suspenso Tipo de armazenamento, selecione Armazenamento do Google Cloud.
-
No campo Bucket Name, digite o nome do bucket conforme configurado na Plataforma do Google Cloud.
Observação:O mesmo nome do bucket não pode ser compartilhado por várias organizações.
-
Conceda o acesso adequado à conta de serviço da UiPath®, conforme especificado no seguinte comando:
- Na plataforma do Google Cloud, navegue para Armazenamento > Navegador.
- Encontre o bucket para o qual você deseja editar permissões.
- Selecione a elipse vertical e selecione Editar permissões do bucket.
- Selecione Adicionar membros e insira a conta de serviço que você usa para acessar o bucket.
- No menu suspenso Selecionar uma função , selecione Administrador de Objetos de Armazenamento. Para obter mais informações, consulte Gerenciamento de Identidades e Acessos na documentação do GCP.
Exclusão de configurações de exportação de logs
- Expanda o tenant para o qual deseja excluir as configurações de exportação de logs.
- Para o serviço do Orchestrator nesse tenant, selecione Configuração de Exportação de Logs. O painel direito da Configuração é exibido.
- Desabilite a alternância Enviar logs de robôs para o armazenamento personalizado.
- Na janela Excluir configuração , selecione Excluir para confirmar. A configuração é excluída com sucesso.