- Démarrage
- Sécurité et conformité des données
- Organisations
- Authentification et sécurité
- Licences
- À propos des licences
- Tarification unifiée : infrastructure du plan de licence
- Activation de votre licence Enterprise
- Migrer de Test Suite vers Test Cloud
- Migration de licence
- Attribuer des licences aux locataires
- Attribuer des licences utilisateur
- Révocation des licences utilisateur
- Surveillance de l’attribution des licences
- Surallocation de licences
- Notifications d'attribution de licence
- Gestion des licences utilisateur
- Locataires et services
- Comptes et rôles
- AI Trust Layer
- Applications externes
- Notifications
- Journalisation
- À propos des journaux
- Exportation des journaux
- Test dans votre organisation
- Résolution des problèmes
- Migrer vers Test Cloud

Guide de l'administrateur de Test Cloud
Exportation des journaux
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.
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
- Copiez le script suivant dans un fichier
.shde 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" - 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 - 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 - Créez une application externe confidentielle dans votre locataire et attribuez l'étendue d'API suivante :
PM.Audit.Read(application). - Collectez les informations d’identification de l’application suivantes :
- ID d'application (
client_id) - Clé secrète de l'application (
client_secret)
- ID d'application (
Étapes
- 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' - 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
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.
-
Connectez-vous à votre compte UiPath.
-
Accédez à Admin et sélectionnez le locataire dans le panneau de gauche.
-
Sélectionnez Services .
-
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.
-
Activez la bascule Envoyer les journaux des évènements du robot vers un stockage personnalisé (Send robot logs to custom storage).
-
Selon votre plate-forme cloud, procédez aux étapes suivantes :
- Test Cloud:
- 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.
- Après avoir effectué les étapes spécifiques au fournisseur, le
.csvest généré. Télécharger l'exemple .csv - Les journaux seront livrés sur une base horaire. Cet intervalle de temps n'est pas configurable.
- 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 :
- Test Cloud pour le secteur public et Test Cloud dédiés :
- Continuez à utiliser la procédure décrite dans la section Azure .
- Test Cloud:
Azure
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.
-
Dans la liste déroulante Type de stockage (Storage type), sélectionnez Compte de stockage Azure (Azure Storage Account).
-
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.
-
Dans le champ Nom du conteneur, saisissez le nom du conteneur utilisé pour stocker le fichier .
csvdans Azure. Par défaut, il est défini suruipathrobotlogs. Si un nom de conteneur personnalisé est fourni et qu'il n'existe pas encore, le conteneur sera créé pour vous. -
Sélectionnez Save (Enregistrer). Une notification s'affiche pour vous informer que vous avez configuré avec succès l'exportation des journaux du robot.
-
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.
-
En moins d'une heure, un fichier de journal
.csvest généré dans le stockage blob. Le fichier.csvest généré dans le conteneuruipathrobotlogs, 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
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.
-
Dans la liste déroulante Type de stockage (Storage type), sélectionnez AWS S3.
-
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.
-
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. -
Assurez-vous d'accorder à l'utilisateur IAM fourni l'accès à votre compartiment via l'invite s3:PutObject et s3:DeleteObject.
Stockage Google Cloud
-
Dans la liste déroulante Type de stockage (Storage type), sélectionnez Stockage Google Cloud (Google Cloud Storage).
-
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.
-
Accordez l’accès approprié au compte de service UiPath®, comme spécifié dans l’invite suivante :
- Dans Google Cloud Platform, accédez à Stockage (Storage) > Navigateur (Browser).
- Recherchez le bucket pour lequel vous souhaitez modifier les autorisations.
- Sélectionnez l'ellipse verticale et sélectionnez Modifier les autorisations du compartiment.
- Sélectionnez Ajouter des membres et saisissez le compte de service que vous utilisez pour accéder au compartiment.
- 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
- Développez le locataire pour lequel vous souhaitez supprimer les paramètres d'exportation de journaux.
- 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.
- Désactivez la bascule Envoyer les journaux des évènements du robot vers un stockage personnalisé (Send robot logs to custom storage).
- Dans la fenêtre Delete Configuration , sélectionnez Delete pour confirmer. La configuration est supprimée avec succès.