UiPath Documentation
test-cloud
latest
false
Important :
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 de l'administrateur de Test Cloud

Dernière mise à jour 7 avr. 2026

Exportation des journaux

Remarque :

La disponibilité des fonctionnalités dépend de la plate-forme cloud que vous utilisez. Pour de plus amples informations, consultez la page Disponibilité des fonctionnalités.

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

L’expérience des journaux unifiés vous permet d’exporter les journaux au format CSV à l’aide de 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 des journaux unifiés et classiques vous permet de configurer les exportations de journaux de robots 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 des journaux unifiés, 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 jq
    sudo 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>.sh
    dos2unix <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 v
    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 v
    

Configuration de l'exportation des journaux du robot

Remarque :

La disponibilité des fonctionnalités dépend de la plate-forme cloud que vous utilisez. Pour de plus amples informations, consultez la page Disponibilité des fonctionnalités.

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 de journaux, nous ne prenons pas en charge le renvoi de 30 jours de journaux.

  1. Connectez-vous à votre compte UiPath.

  2. Accédez à Admin et sélectionnez le locataire dans le panneau de gauche.

  3. Sélectionnez Services .

  4. Sur la carte d'Orchestrator, sélectionnez l'icône Plus et sélectionnez Configuration de l'exportation des journaux.

    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. Selon votre plate-forme cloud, procédez aux étapes suivantes :

    • Test Cloud:
      1. 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.

      2. Après avoir effectué les étapes spécifiques au fournisseur, le .csv est généré. Télécharger l'exemple .csv
      3. Les journaux seront livrés sur une base horaire. Cet intervalle de temps n'est pas configurable.
    • Test Cloud pour le secteur public et Test Cloud dédiés :
      • Continuez à utiliser la procédure décrite dans la section Azure .

Azure

Astuce :

Vous pouvez configurer des adresses IP statiques sur la liste d'autorisation et ne pas ouvrir votre réseau sur des adresses IP externes. Accédez à Paramètres > Mise en réseau > Accès public > Pare-feu > Plage d'adresses 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 de la documentation officielle d’Azure.

  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 est défini sur 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 Save (Enregistrer). 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 sous Paramètres 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 adresses IP statiques sur la liste d'autorisation et ne pas ouvrir votre réseau sur des adresses IP externes. Utilisez des stratégies d'accès dans AWS S3 pour ajouter refuser toutes les requêtes, sauf si elles proviennent de la liste aws:SourceIp , comme décrit sur 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.
    4. Sélectionnez Ajouter des membres 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 , sélectionnez Administrateur d'objets de stockage. Pour plus d'informations, consultez la section Gestion des identités et des accès 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 du journal d’évènements. 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 Delete Configuration , sélectionnez Delete pour confirmer. La configuration est supprimée avec succès.

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

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour