- Introdução
- Segurança de dados e conformidade
- Organizações
- Autenticação e segurança
- Compreensão dos modelos de autenticação
- Configuração da integração do Microsoft Entrada ID
- Requisitos de complexidade de senha de usuários locais
- Licenciamento
- Sobre as licenças
- Preço unificado: estrutura do plano de licenciamento
- Flex: estrutura do plano de licenciamento
- Ativar sua licença Enterprise
- Fazendo o upgrade e downgrade de licenças
- Solicitando uma Avaliação de Serviço
- 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
- Testes em sua organização
- AI Trust Layer
- Aplicativos Externos
- Notificações
- Geração de logs
- Sobre logs
- Exportação de logs
- Solução de problemas
- Migraçlão para o Automation Cloud

Guia de administração do Automation Cloud
Essa funcionalidade só estará disponível se você estiver no plano de licenciamento Enterprise.
- 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 registro em log unificada quanto a clássica permitem que você configure as exportações de log do 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 por hora e podem serão processados usando suas próprias soluções de BI ou monitoramento.
Se você estiver usando a experiência de log unificada, 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)
-
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
.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 oferecemos suporte ao preenchimento de logs de 30 dias.
Azure
- 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
AWS S3
aws:SourceIp conforme descrito na página Políticas de bucket para o Amazon S3 do Guia do usuário do AWS S3. Confira a página Configurando o firewall no guia de administração do Automation Cloud para ver a lista completa de IPs.
Google Cloud Storage
- 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.