automation-cloud
latest
false
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.
UiPath logo, featuring letters U and I in white

Guide d'administration d'Automation Cloud

Dernière mise à jour 18 déc. 2025

Exportation des journaux

Image « Libellé Enterprise » Cette fonctionnalité n'est disponible que si vous êtes sur le plan de licence Enterprise.

L’expérience de journalisation unifiée vous permet d’exporter les journaux du Automation CloudTM au format CSV en utilisant l’une des méthodes suivantes :
  • Option Exporter dans l'interface utilisateur : dans la section Journaux d'audit de votre organisation ou de votre locataire, sélectionnez Exporter.
  • API des journaux d'audit: utilisez les API des journaux d'audit.
  • Script personnalisé UiPath : exécutez un script développé par UiPath pour exporter les journaux du magasin de journaux d'audit de longue durée d'UiPath.

À des fins de rétention ou de conformité à long terme, l'expérience de journalisation unifiée et classique vous permet de configurer les exportations de journaux de robot pour envoyer automatiquement des données depuis Orchestrator vers Azure Blob Storage, AWS S3 ou Google Cloud Storage, où les fichiers journaux sont générés toutes les heures et peuvent être traité à l’aide de vos propres solutions BI ou de surveillance.

Exportation des journaux à l'aide de script

Si vous utilisez l'expérience de journalisation unifiée, vous pouvez utiliser un script dédié pour exporter les journaux d'audit qui ne sont plus disponibles via l'interface Journaux d'audit. Le script prend en charge la récupération des journaux jusqu’à 2 ans dans le passé.

Ce script est utile lorsque :

  • Vous devez accéder aux anciens journaux d’audit à des fins de conformité ou d’enquête.

  • Vous souhaitez automatiser l’archivage des journaux à long terme.

Prérequis

  1. Copiez le script suivant dans un fichier .sh de votre propre fichier :
    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"
  2. Exécutez le script dans un environnement WSL (Windows Subsystem for Linux) et assurez-vous que les outils suivants sont installés :
    sudo apt install dos2unix unzip jqsudo apt install dos2unix unzip jq
  3. Préparez le script pour l'exécution à l'aide des commandes suivantes :
    dos2unix <script-name>.sh
    chmod +x <script-name>.shdos2unix <script-name>.sh
    chmod +x <script-name>.sh
  4. Créez une application externe confidentielle dans votre locataire et attribuez l'étendue d'API suivante : PM.Audit.Read (application).
  5. Collectez les informations d’identification de l’application suivantes :

    • ID d'application (client_id)
    • Clé secrète de l'application (client_secret)

Étapes

  1. Définissez les variables requises dans votre 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'
  2. Exécutez le script à l'aide de la commande suivante : ./<script-name>.sh $client_id $client_secret $org_name $start_date $end_date.

    Par exemple :

    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

Configuration de l'exportation des journaux du robot

Pour exporter les journaux Robot générés dans vos services Orchestrator vers Azure, AWS S3 et Google Cloud Storage, suivez les procédures spécifiques décrites plus loin. Les journaux sont enregistrés dans un fichier .csv dans le conteneur uipathrobotlogs . L'exportation se fait sur une base par locataire, ce qui facilite les opérations suivantes :
  • Stockage des journaux qui doivent être conservés à des fins de conformité et d’audit.
  • Analyse et visualisation de la sortie du journal dans vos propres outils de rapport ou BI.

    Remarque : lors de la configuration de la page d'exportation des journaux, nous ne prenons pas en charge le renvoi de 30 jours de journaux.
  1. Connectez-vous à votre compte Automation Cloud™.
  2. Accédez à Admin et sélectionnez le locataire dans le panneau de gauche.
  3. Sélectionner les services
  4. Sur la carte d'Orchestrator, sélectionnez l'icône Plus (More) et sélectionnez Configuration de l'exportation des journaux (Log Export Configuration).

    Le panneau Configuration s'affiche en partie droite de la fenêtre.

  5. Activez la bascule Envoyer les journaux des évènements du robot vers un stockage personnalisé (Send robot logs to custom storage).
  6. Dans la liste déroulante Type de stockage (Storage Type), sélectionnez le fournisseur de stockage vers lequel vous souhaitez exporter les journaux. Les options suivantes sont disponibles :
    • Azure
    • AWS S3
    • Stockage Google Cloud
    Remarque :

    La fonctionnalité d'exportation de journaux ne prend pas en charge AWS KMS.

  7. Après avoir effectué les étapes spécifiques au fournisseur, le fichier .csv est généré.
  8. Les journaux seront livrés sur une base horaire. Cet intervalle de temps n'est pas configurable.

Azure

Astuce : Vous pouvez configurer des IP statiques vers la liste d'autorisation et ne pas ouvrir votre réseau sur toutes les adresses IP externes. Accédez à Paramètres (Settings) > Mise en réseau (Networking) > Accès public (Public access) > Pare- feu (Firewall) > Plage d'adresses (Address range) dans Azure Blob Storage pour ajouter les adresses IP statiques. Consultez la page Configuration du pare-feu pour obtenir la liste complète des adresses IP.


Les options de stockage suivantes sont prises en charge :
  • Stockage standard redondant local (LRS)
  • Stockage géo-redondant standard (RGS)
  • Stockage géo-redondant avec accès en lecture standard (RA-GRAS)
  • Stockage redondant de zone standard (ZRS)
  • LRS Premium
Pour plus d'informations sur les types de stockage, consultez la page Vue d'ensemble du compte de stockage (Storage account overview) de la documentation Azure officielle.
  1. Dans la liste déroulante Type de stockage (Storage type), sélectionnez Compte de stockage Azure (Azure Storage Account).


  2. Dans le champ Chaîne de connexion blob Azure (Azure Blob Connection String), entrez la chaîne de connexion blob telle qu'elle a été récupérée à partir du portail Azure.


  3. Dans le champ Nom du conteneur, saisissez le nom du conteneur utilisé pour stocker le fichier csv dans Azure. Par défaut, il s'agit de uipathrobotlogs. Si un nom de conteneur personnalisé est fourni et qu'il n'existe pas encore, le conteneur sera créé pour vous.
  4. Sélectionnez Enregistrer (Save). Une notification s'affiche pour vous informer que vous avez configuré avec succès l'exportation des journaux du robot.
  5. Dans votre compte de stockage Blob dans le portail Azure :
    • Sélectionnez Réseau (Network) sous Paramètres (Settings) dans le panneau de gauche.
    • Sélectionnez Autoriser l'accès depuis (Allow access from) > Tous les réseaux (All networks).
    • Sélectionnez Enregistrer (Save) pour enregistrer les modifications.



  6. En moins d'une heure, un fichier de journal .csv est généré dans le stockage blob. Le fichier .csv est généré dans le conteneur uipathrobotlogs, sous la hiérarchie de dossiers suivante [tenant_key]/[year]/[month]/[day]/[hour]/output. Il est recommandé de mapper un locataire à un conteneur, car la clé de locataire est le seul moyen de distinguer les locataires si plusieurs sont routés vers un conteneur.


AWS S3

Astuce : Vous pouvez configurer des IP statiques vers la liste d'autorisation et ne pas ouvrir votre réseau sur toutes les adresses IP externes. Utilisez les stratégies d’accès dans AWS S3 pour refuser toutes les demandes, sauf si elles proviennent de la liste aws:SourceIp comme décrit dans la page Politiques de compartiment pour Amazon S3 du Guide de l’utilisateur AWS S3. Consultez la page Configuration du pare-feu du guide d'administration d'Automation Cloud pour obtenir la liste complète des adresses IP.


  1. Dans la liste déroulante Type de stockage (Storage type), sélectionnez AWS S3.


  2. Dans le champ Nom du compartiment (Bucket Name), saisissez le nom du bucket tel que configuré dans AWS.
    Remarque : le même nom de compartiment ne peut pas être partagé par plusieurs organisations.
  3. Dans le champ Nom de la région (Region Name), saisissez le nom des régions où les journaux doivent être exportés. Par exemple, us-west-1 .
  4. Assurez-vous d'accorder à l'utilisateur IAM fourni l'accès à votre compartiment via l'invite s3:PutObject et s3:DeleteObject.

Stockage Google Cloud

  1. Dans la liste déroulante Type de stockage (Storage type), sélectionnez Stockage Google Cloud (Google Cloud Storage).


  2. Dans le champ Nom du compartiment (Bucket Name), saisissez le nom du compartiment tel qu'il est configuré dans Google Cloud Platform.
    Remarque : le même nom de compartiment ne peut pas être partagé par plusieurs organisations.
  3. Accordez l’accès approprié au compte de service UiPath®, comme spécifié dans l’invite suivante :
    1. Dans Google Cloud Platform, accédez à Stockage (Storage) > Navigateur (Browser).
    2. Recherchez le bucket pour lequel vous souhaitez modifier les autorisations.
    3. Sélectionnez l'ellipse verticale et sélectionnez Modifier les autorisations du compartiment (Edit Bucket Permissions).
    4. Sélectionnez Ajouter des membres (Add members) et saisissez le compte de service que vous utilisez pour accéder au compartiment.
    5. Dans la liste déroulante Sélectionner un rôle (Select a role) , sélectionnez Administrateur d'objets de stockage (Storage Object Admin). Pour plus d'informations, consultez Gestion des identités et des accès (Identity and Access Management) dans la documentation GCP.


Suppression des paramètres d'exportation de journaux

  1. Développez le locataire pour lequel vous souhaitez supprimer les paramètres d'exportation de journaux.
  2. Pour le service Orchestrator dans ce locataire, sélectionnez Configuration de l'exportation des journaux (Log Export Configuration). Le panneau de droite Configuration s'affiche.
  3. Désactivez la bascule Envoyer les journaux des évènements du robot vers un stockage personnalisé (Send robot logs to custom storage).
  4. Dans la fenêtre Supprimer la configuration (Delete configuration) , sélectionnez Supprimer (Delete) pour confirmer. La configuration est supprimée avec succès.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo
Confiance et sécurité
© 2005-2025 UiPath Tous droits réservés.