Configuration de la collecte de journaux d'API REST

Oracle Logging Analytics permet de configurer une collecte continue de journaux basée sur une API REST à partir d'URL d'adresse qui répondent avec des messages de journal. La source de journal d'API REST doit être configurée avec une API qui répond avec les messages de journal générés dans la période spécifiée dans la demande.

Il s'agit d'une méthode recommandée lorsque vous voulez automatiser la collecte de journaux continue à partir d'environnements, de plates-formes ou d'applications telles que les services OCI, Fusion Apps, les applications ERP ou toute autre application émettant des journaux via une API. Des macros peuvent être utilisées dans la définition de source pour indiquer une heure de journal à partir de laquelle démarrer la collecte de journaux, indiquer un décalage pour itérer et collecter des données sur les résultats de page d'une adresse de journal et collecter des journaux sur une fenêtre de collecte ou une période.

Flux global de collecte des journaux à l'aide d'une source basée sur l'API REST

Voici les tâches générales de collecte des informations de journal via la source basée sur l'API REST :

Pour obtenir un flux de bout en bout d'assimilation des journaux d'audit Fusion Applications, reportez-vous à Assimilation des journaux d'audit Fusion Applications.

Créer une source d'API REST

Oracle Logging Analytics fournit déjà une source de journal définie par Oracle pour la collecte de journal d'API REST. Vérifiez si vous pouvez utiliser la source d'API REST définie par Oracle ou tout analyseur défini par Oracle. Sinon, procédez comme suit pour créer une source de journal :

Avant de commencer, si vous devez créer un analyseur adapté à vos journaux, terminez-le. Reportez-vous à Création d'un analyseur.

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Logging Analytics, cliquez sur Administration. La page Présentation de l'administration apparaît.

    Les ressources d'administration sont répertoriées dans le panneau de navigation de gauche sous Ressources. Cliquez sur Sources.

  2. La page Sources apparaît. Cliquez sur Créer une source.

    La boîte de dialogue Créer une source apparaît.

  3. Dans le champ Nom, saisissez le nom de la source de journal.

  4. Dans la liste Type de source, sélectionnez API REST.

  5. Cliquez sur Type d'entité et sélectionnez le type qui identifie le mieux votre application.

  6. Cliquez sur Analyseur et sélectionnez un analyseur approprié pour le type de journal à collecter.

  7. Dans l'onglet Adresses, cliquez sur Ajouter une adresse de journal ou sur Ajouter une adresse de liste pour plusieurs journaux, selon vos besoins :

    • Pour fournir une URL d'adresse de journal unique à l'aide de laquelle les journaux peuvent être collectés en continu, cliquez sur Ajouter une adresse de journal. La boîte de dialogue Ajouter une adresse de journal s'ouvre.

      Entrez les informations suivantes :

      1. Entrez le nom de l'adresse de journal.

      2. Créez l'URL de journal pour collecter les journaux régulièrement. Reportez-vous à URL d'adresse de journal dans Types d'URL d'adresse.

      3. Sélectionnez la méthode d'API GET ou POST.

        Si vous avez sélectionné POST, entrez la charge utile POST de la méthode et sélectionnez le type de contenu de la demande dans JSON, Text, Javascript, HTML et XML.

      4. Vous pouvez éventuellement spécifier l'URL du serveur proxy de journal.

      5. Vous pouvez également cliquer sur Afficher les en-têtes de demande pour développer la section, puis sur Ajouter pour fournir des en-têtes de demande sous forme de paires Nom-Valeur.

      6. Vous pouvez également cliquer sur Afficher les paramètres de requête pour développer la section, puis sur Ajouter pour fournir les paramètres de requête sous forme de paires Nom-Valeur.

      7. Dans la section Informations d'identification, sélectionnez le type d'informations d'identification de journal. Reportez-vous à Sélection du type d'informations d'identification pour la collecte de journaux d'API REST.

      8. Pour valider les informations de configuration que vous avez saisies, cliquez sur Valider. S'il y a des erreurs, corrigez-les.

        Cliquez sur Enregistrer les modifications.

    • Pour fournir une URL renvoyant une réponse JSON avec les informations pouvant être utilisées pour générer la liste des URL d'adresse de journal afin de collecter plusieurs journaux, cliquez sur Ajouter une adresse de liste pour plusieurs journaux. La boîte de dialogue Ajouter une adresse de liste pour plusieurs journaux s'ouvre.

      1. Onglet Configurer l'adresse de liste :

        • Entrez le nom de l'adresse de liste de journaux.

        • Créez l'URL de la liste des journaux pour obtenir les informations sur les fichiers journaux. Reportez-vous à URL d'adresse de liste de journaux dans Types d'URL d'adresse. Par exemple :

          https://example.org/fetchlogfiles_data
        • Vous pouvez éventuellement spécifier l'URL du serveur proxy de journal.

        • Sélectionnez la méthode d'API GET ou POST.

          Si vous avez sélectionné POST, entrez la charge utile POST de la méthode et sélectionnez le type de contenu de la demande dans JSON, Text, Javascript, HTML et XML.

        • Vous pouvez également cliquer sur Afficher les en-têtes de demande pour développer la section, puis sur Ajouter pour fournir des en-têtes de demande sous forme de paires Nom-Valeur.

        • Vous pouvez également cliquer sur Afficher les paramètres de requête pour développer la section, puis sur Ajouter pour fournir les paramètres de requête sous forme de paires Nom-Valeur.

        • Dans la section Informations d'identification, sélectionnez le type d'informations d'identification de journal. Reportez-vous à Sélection du type d'informations d'identification pour la collecte de journaux d'API REST.

        • Cliquez sur Suivant.

      2. Onglet Configurer l'adresse de journal :

        • Fournissez l'exemple de réponse de l'adresse de liste de journaux. Voici l'exemple de la réponse que vous obtiendriez pour l'adresse de liste de journaux que vous avez fournie dans l'onglet précédent. Par exemple :

          { "totalSize": 4, "records": [ {"id": "firstId", "type": "firstType"}, {"id": "secondId", "type": "secondType"} ] }

          Dans l'exemple ci-dessus, le chemin JSON records[*].id peut être utilisé dans l'URL d'adresse. Pour plus de détails sur les variables de chemin JSON, reportez-vous à Variables pour la collecte de journal d'API REST.

        • Entrez le nom de l'adresse de journal.

        • Construisez l'URL de journal pour collecter les journaux périodiquement en intégrant les clés de chemin JSON identifiées dans l'exemple de réponse à l'adresse de liste de journaux. Reportez-vous à URL d'adresse de journal dans Types d'URL d'adresse. Par exemple :

          https://example.org/fetchLogs?time={START_TIME}&id={testLogListEP:$.records[*].id}
        • Vous pouvez éventuellement spécifier l'URL du serveur proxy de journal.

        • Sélectionnez la méthode d'API GET ou POST.

          Si vous avez sélectionné POST, entrez la charge utile POST de la méthode et sélectionnez le type de contenu de la demande dans JSON, Text, Javascript, HTML et XML.

        • Vous pouvez éventuellement spécifier l'URL du serveur proxy de journal.

        • Vous pouvez également cliquer sur Afficher les en-têtes de demande pour développer la section, puis sur Ajouter pour fournir des en-têtes de demande sous forme de paires Nom-Valeur.

        • Vous pouvez également cliquer sur Afficher les paramètres de requête pour développer la section, puis sur Ajouter pour fournir les paramètres de requête sous forme de paires Nom-Valeur.

        • Dans la section Informations d'identification, sélectionnez le type d'informations d'identification de journal. Reportez-vous à Sélection du type d'informations d'identification pour la collecte de journaux d'API REST.

        • Cliquez sur Suivant.

      3. Onglet Vérifier et ajouter : les informations de configuration fournies dans les onglets précédents sont validées. Vérifiez la liste des URL à partir desquelles les journaux seront collectés.

        S'il y a des erreurs, corrigez-les.

        Cliquez sur Enregistrer.

  8. Cliquez sur Créer une source.

Types d'URL d'adresse

URL d'adresse de liste de journaux : l'URL d'adresse de liste de journaux doit renvoyer une réponse JSON avec les informations qui peuvent être utilisées pour construire la liste des URL d'adresse de journal afin de collecter les journaux. Indiquez les variables de chemin JSON requises pour créer la liste des adresses de journal à partir de la réponse JSON. En outre, vous pouvez utiliser les macros {START_TIME} et {CURR_TIME} pour insérer dynamiquement les valeurs temporelles correspondantes dans l'URL.

URL d'adresse de journal : l'URL d'adresse de journal est utilisée pour collecter des journaux à partir d'une adresse d'API REST spécifique à intervalles réguliers. Vous pouvez utiliser les macros {START_TIME}, {CURR_TIME} et {TIME_WINDOW} pour insérer dynamiquement les valeurs temporelles correspondantes dans l'URL. La macro {OFFSET} peut être utilisée pour prendre en charge la pagination. Vous pouvez également utiliser des variables de chemin JSON provenant de la réponse de l'appel d'adresse de liste de journaux pour remplacer des propriétés spécifiques.

  • {START_TIME} : permet d'indiquer l'heure à partir de laquelle les journaux doivent être collectés.
  • {OFFSET} : permet de gérer la collecte de journaux paginée
  • {CURR_TIME} : pour indiquer l'heure en cours
  • {TIME_WINDOW} : pour indiquer un intervalle ou une durée de collecte

Pour plus d'informations sur l'utilisation des macros, reportez-vous aux sections START_TIME Macro, CURR_TIME Macro, OFFSET Macro et TIME_WINDOW Macro.

Pour plus d'informations sur l'utilisation des variables de la réponse d'adresse de liste de journaux pouvant être indiquée dans l'URL d'adresse de journal, des exemples de chemin JSON et l'utilisation de filtres de variable, reportez-vous à Variables pour la collecte de journaux d'API REST.

START_TIME Macro

Utilisez la macro START_TIME pour indiquer l'heure à partir de laquelle les journaux doivent être collectés. La macro START_TIME peut être utilisée dans une URL d'adresse, des paramètres de formulaire ou une charge utile POST.

L'exemple suivant montre l'URL d'adresse qui collecte les journaux supérieurs à un horodatage spécifié par la macro START_TIME :

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&filter=timestamp+gt+{START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}

Syntaxe :

{START_TIME<+nX>:<epoch | timestamp format supported by SimpleDateFormat java class>.TZ=<timezone name>}
  • n est la valeur d'heure de la plage de dates. X est exprimé en jours (D), heures (h), minutes (m), mois (M), année (Y).

  • +nX représente le nombre de jours, d'heures, de minutes, de mois ou d'années à ajouter à l'heure de début. C'est facultatif. Exemple : +3D.

  • Les formats d'heure pris en charge sont identiques à ceux de la classe java SimpleDateFormat. Le format d'heure par défaut est yyyy-MM-dd'T'HH:mm:ss.SSSZ. Par exemple, 2001-07-04T12 :08 :56.235-0700.

    La spécification du format epoch ou de l'heure est facultative. Si epoch est fourni, la macro est remplacée par la valeur epoch millisecond.

    Pour connaître les formats d'horodatage pris en charge par SimpleDateFormat, reportez-vous à Java Platform Standard Ed. 8 : classe SimpleDateFormat.

  • TZ permet de fournir le fuseau horaire de l'horodatage. Elle n'est pas applicable si epoch est déjà fourni. Le format pris en charge est le même que les ID à 3 lettres dans la classe java TimeZone, par exemple UTC.

  • Vous pouvez inclure plusieurs instances de cette macro dans l'URL.

  • Exemples :

    1. {START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSS.TZ=UTC}
    2. {START_TIME:epoch}

CURR_TIME Macro

Utilisez la macro CURR_TIME pour insérer l'heure en cours dans l'URL d'adresse d'API REST, les paramètres de formulaire et la charge utile POST.

L'exemple suivant montre l'URL endpoint qui utilise la macro CURR_TIME dans le paramètre de requête :

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&time={CURR_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}
  • Le format d'utilisation de la macro est identique à celui de la macro START_TIME.

  • Vous pouvez inclure plusieurs instances de cette macro dans l'URL.

OFFSET Macro

Utilisez la macro OFFSET pour les adresses qui fournissent des réponses paginées ou pour gérer le comportement de décalage dans une réponse d'API. La macro OFFSET peut être utilisée dans l'URL d'adresse d'API REST, les paramètres de formulaire et la charge utile POST pour extraire plusieurs pages ou blocs dans un cycle de collecte de journal unique.

Format : {OFFSET(<start value>, <increment>)}

  • La macro OFFSET est utilisée pour appeler et collecter des données de manière itérative sur les résultats paginés d'une adresse de journal spécifique afin d'obtenir tous les enregistrements disponibles. L'appel initial de la demande d'API REST commence par la valeur de début et est incrémenté à chaque appel suivant par la valeur de l'incrémentation. Ces appels récursifs basés sur un index sont arrêtés lorsqu'aucune autre entrée de journal n'est trouvée. Le décalage n'est pas reporté au cycle de collecte suivant. Elle commence à partir de la valeur par défaut ou initiale de chaque cycle de collecte.

  • Dans le format ci-dessus, la valeur de début est la valeur initiale de l'index et la valeur par défaut est 0. Il est facultatif de spécifier une valeur de début.

    Valeurs possibles : nombre entier positif incluant 0

  • Dans le format ci-dessus, incrément spécifie la valeur à ajouter à la valeur de début dans les appels suivants. La valeur par défaut est 1. Il est facultatif de spécifier la valeur d'incrémentation.

    Valeurs possibles : Entier positif uniquement. Exclure 0.

  • Vous ne pouvez inclure qu'une seule instance de cette macro dans l'URL.

Les exemples suivants montrent différentes façons d'utiliser la macro OFFSET :

  • {OFFSET}

    Utilise les valeurs par défaut valeur de début = 0, incrément = 1.

  • {OFFSET(5)}

    valeur de début = 5, increment = 1 (par défaut)

  • {OFFSET(5,2)}

    Valeur de début = 5, incrément = 2

L'exemple suivant montre l'URL endpoint vers laquelle utilise la macro OFFSET :

https://example.org/fetchLogs?startIndex={OFFSET(0,1000)}&count=1000

Dans l'exemple ci-dessus, OFFSET(0,1000) indique que la valeur de début est égale à 0 dans le premier appel, puis dans les appels suivants, incrémentée de 1000. Par conséquent, lorsque la macro OFFSET est interprétée, l'URL endpoint pour plusieurs appels est la suivante :

Premier appel : https://example.org/fetchLogs?startIndex=0&count=1000

Deuxième appel : https://example.org/fetchLogs?startIndex=1000&count=1000

TIME_WINDOW Macro

Utilisez la macro TIME_WINDOW pour indiquer l'intervalle de collecte au cours duquel les journaux doivent être collectés. Il peut être utilisé dans l'URL d'adresse d'API REST pour extraire les journaux en minutes, heures ou jours, quel que soit l'intervalle de collecte d'agent. Par exemple, si la fenêtre de temps est 1d (un jour) et que l'intervalle de l'agent est de 10 minutes, la collecte de journal suivante n'a lieu qu'après une journée.

L'exemple suivant définit l'intervalle de collecte de journal pendant 6 heures en indiquant TIME_WINDOW comme 6h dans l'URL endpoint :

https://example.org/fetchLogs?timewindow={TIME_WINDOW(6h)}

Format : {TIME_WINDOW(<number><timeunit>)}

Au format ci-dessus :

  • nombre : nombre de chiffres supérieur à zéro.

  • timeunit : h pour les heures, d pour les jours, m pour les minutes. La valeur par défaut est d (jours).

Assurez-vous que l'intervalle de collecte de l'agent est inférieur à la fenêtre de temps fournie. Vous ne pouvez utiliser la macro TIME_WINDOW qu'une seule fois dans l'adresse.

Variables pour la collecte de journaux d'API REST

Utilisez les variables pour remplacer dynamiquement les attributs fournis dans le cadre de la réponse par l'adresse de liste de journaux dans la demande de l'adresse de journal lors de l'exécution. Les variables peuvent être utilisées dans l'URL, les paramètres de formulaire, la charge utile POST ou les valeurs d'en-tête de demande HTTP de l'adresse de journal.

Si l'appel de l'adresse de liste de journaux échoue, les messages de journal de l'adresse de journal ne sont pas collectés en raison de la dépendance.

Format de la variable dans l'adresse de journal :

{<log_list_endpoint_name>:<json path(<filter_field_name>='<value>')>}
  • Au format ci-dessus, log_list_endpoint_name est le nom de l'adresse de liste de journaux.

    Le filtre (<filter_field_name>=<value>) est facultatif. Seul l'attribut correspondant à filter_field_name est sélectionné à partir de la réponse JSON de l'adresse de liste de journaux et utilisé dans l'adresse de journal. Par exemple :

    https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}

    Pour obtenir un exemple détaillé du filtre, reportez-vous à Exemple de filtre.

  • Seul le type de contenu JSON est pris en charge pour extraire les valeurs de propriété.

  • La même variable peut être indiquée plusieurs fois.

  • Les variables peuvent uniquement faire référence à des adresses de liste valides et non à des adresses de journal.

  • Les formats de chemin JSON suivants sont pris en charge : Chemin JSON simple, Chemin JSON de tableau et Chemin JSON de plusieurs tableaux.

Chemin JSON simple

Si la réponse JSON comporte plusieurs niveaux d'éléments imbriqués, vous pouvez indiquer le chemin JSON en tant que notation spéciale des noeuds et de leurs connexions aux noeuds enfants suivants.

Pour l'exemple suivant, utilisez le chemin JSON $.foo.abc pour obtenir result comme sortie :

{
    "foo" : 
    {
        "abc" : "result"
    }
}

Dans l'exemple suivant, utilisez le chemin JSON $.*.id pour obtenir la sortie ["id1", "id3"] ou $.*.* pour obtenir la sortie ["id1", "id2", "id3"] :

{
    "foo" : {
        "id" : "id1"
    },
    "foo2" : {
        "ID" : "id2",
        "id" : "id3"
    }
}

Pour l'exemple suivant, utilisez le chemin JSON $.foo.* pour obtenir la sortie ["id1", "value1"] :

{
    "foo" : {
        "id" : "id1",
        "abcd" : "value1"
    },
    "foo2" : {
        "id" : "id2"
    }
}

Chemin JSON du tableau

Si la réponse JSON comporte un tableau d'objets à partir duquel les données doivent être extraites, indiquez le nom de l'objet de tableau et utilisez [] pour extraire les éléments appropriés au sein de cet objet de tableau. Par exemple, la réponse JSON suivante comporte deux tableaux d'objets records et item :

{
     "records": [
         {"id": "firstId", "type":"firstType"},
         {"id":"secondId", "type":"secondType"}
     ],
     "items": [
         {"name":"firstName", "field":"value"},
         {"name":"secondName", "field":"value"},
         {"name":"thirdName", "field":"value"}
     ]
}
  • Indiquez le chemin JSON $.records[0].id pour extraire firstId en tant que sortie, $.records[1].id pour extraire secondId en tant que sortie ou $.records[*].id pour extraire id de tous les objets JSON. Dans le dernier cas, la sortie est une liste de chaînes ["firstId", "secondId"].

  • Vous pouvez également indiquer des conditions dans le chemin JSON à l'aide de (). Dans l'exemple ci-dessus, pour extraire id uniquement des records dont la valeur type est firstType, utilisez le chemin JSON $.records[*].id(type='firstType').

Chemin JSON de plusieurs tableaux

Prenons l'exemple suivant :

Pour l'URL d'adresse de liste de journaux getlist :

https://www.example.com/url_list

Réponse JSON à l'adresse de liste de journaux :

{
  "records": [ { "id": "firstId", "type": "firstType" }, { "id": "secondId", "type": "secondType" } ],
  "items": [ { "name": "firstName", "field": "value" }, { "name": "secondName", "field": "value" }, { "name": "thirdName", "field": "value" } ]
}

URL de l'adresse de journal (en référence aux variables de getlist) :

https://www.example.com/{getlist:$.records[*].id}/{getlist:$.items[*].name}

Avec les variables {getlist:$.records[*].id} et {getlist:$.items[*].name}, l'agent génère les adresses de journal ci-dessous avec toutes les combinaisons des deux champs de tableau ["firstId", "secondId"] et ["firstName", "secondName", "thirdName"] :

  • https://www.example.com/firstId/firstName

  • https://www.example.com/secondId/firstName

  • https://www.example.com/firstId/secondName

  • https://www.example.com/secondId/secondName

  • https://www.example.com/firstId/thirdName

  • https://www.example.com/secondId/thirdName

Exemple de filtre

Prenez en compte la réponse JSON suivante de l'adresse de liste de journaux foo :

{
    "items": [
        {
            "BusinessEventCode": "JournalBatchApproved",
            "CreationDate": "2019-07-27T17:19:19.261+00:00",
            "links": [
                {
                    "rel": "self",
                    "href": "/erpBusinessEvents/self/100100120766717"
                },
                {
                    "rel": "canonical",
                    "href": "/erpBusinessEvents/rel/100100120766717"
                }
            ]
        }
    ]
}

Prenons maintenant l'exemple d'adresse de journal suivant :

https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}

Dans l'exemple ci-dessus, le paramètre de chemin est remplacé par l'élément de tableau $.items[*].links[*].href à partir de la réponse JSON de l'adresse de liste de journaux foo et une condition supplémentaire est indiquée pour sélectionner uniquement rel='self'.

Pour la réponse JSON ci-dessus, l'agent génère l'adresse de journal suivante :

https://www.example.com/log/erpBusinessEvents/self/100100120766717

Sélectionner le type d'informations d'identification pour la collecte de journal d'API REST

Pour autoriser une connexion entre l'agent et la source d'API REST, configurez d'abord les informations d'identification d'API dans la banque d'informations d'identification de l'agent. Après avoir configuré les informations d'identification source dans le service Management Agent côté agent, vous pouvez utiliser ces informations lors de la création de la source de journal d'API REST.

Pour configurer les informations d'identification source dans le service d'agent de gestion afin qu'il puisse collecter des données à partir de l'hôte émetteur de journal, reportez-vous à Informations d'identification de source d'agent de gestion.

Lors de l'ajout de l'adresse de journal ou de l'adresse de liste de journaux, fournissez les informations d'identification dans le workflow en sélectionnant le type d'informations d'identification de journal. Sélectionnez l'une des options suivantes :

  • Aucun
  • Authentification de base : indiquez le nom des informations d'identification de journal des informations d'identification créées dans le service d'agent de gestion.
  • Jeton statique : indiquez le nom des informations d'identification de journal des informations d'identification créées dans le service d'agent de gestion.
  • Jeton dynamique (OAuth 2.0):

    Indiquez le nom des informations d'identification de jeton du jeton créé dans le service d'agent de gestion. En outre, fournissez les informations de jeton telles que Nom d'adresse de jeton, URL d'adresse de jeton, Type d'octroi et, éventuellement, Portée.

    Si le proxy de jeton est identique à celui de l'adresse de journal, conservez la case à cocher Proxy identique à l'adresse de journal activée. Dans le cas contraire, désactivez la case à cocher et indiquez l'URL du serveur proxy de jeton.

Mise en correspondance des types d'informations d'identification avec le type d'authentification :

Type d'authentification Type d'informations d'identification à l'agent de gestion Propriétés des informations d'identification
Authentification de base HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, propriétés du truststore SSL
Jeton statique HTTPSTokenCreds HTTPSToken, HTTPSTokenType, propriétés du truststore SSL (facultatif)
Jeton dynamique HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, propriétés du truststore SSL

Les informations suivantes sont incluses dans les propriétés du truststore SSH :

  • "ssl_trustStoreType" : type de stockage, par exemple, JKS.

  • "ssl_trustStoreLocation" : chemin du truststore

  • "ssl_trustStorePassword" : mot de passe du truststore (facultatif)

Notez les aspects suivants concernant les attributs dans le fichier JSON d'informations d'identification :

  • source : la valeur doit être lacollector.la_rest_api

  • name : nom approprié pour les informations d'identification

  • type : il doit s'agir de l'une des valeurs indiquées dans la colonne Type d'informations d'identification à l'agent de gestion de la table des types d'informations d'identification ci-dessus.

Reportez-vous à Exemples d'informations d'identification JSON.

Exemples d'informations d'identification JSON

Exemple d'authentification de base avec un nom utilisateur et un mot de passe via HTTPS avec un hôte sécurisé :

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSBasicAuthCreds",
  "description":"These are HTTPS (BasicAuth) credentials.",
  "properties":
  [
    { "name":"HTTPSUserName", "value":"CLEAR[admin]" },
    { "name":"HTTPSPassword", "value":"CLEAR[myHTTPSPassword]" }
  ]
}

Exemple d'authentification de base avec des certificats SSL, un nom d'utilisateur et un mot de passe via HTTPS en fournissant explicitement des certificats :

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSCreds",
  "description":"These are HTTPS (BasicAuth) credentials.",
  "properties":
  [
    { "name":"HTTPSUserName", "value":"CLEAR[admin]" },
    { "name":"HTTPSPassword", "value":"CLEAR[myHTTPSPassword]" },
    { "name":"ssl_trustStoreType", "value":"JKS" },
    { "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
    { "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
  ]
}

Exemple de jeton via HTTPS avec un hôte sécurisé :

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSTokenCreds",
  "description":"These are HTTPS (Token) credentials.",
  "properties":
  [
    { "name": "HTTPSToken", "value": "CLEAR[token value]" },
    {"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" }
  ]
}

Exemple de jeton via HTTPS avec des certificats fournis explicitement :

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSTokenCreds",
  "description":"These are HTTPS (Token) credentials.",
  "properties":
  [
    { "name": "HTTPSToken", "value": "CLEAR[token value]" },
    {"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" },
    { "name":"ssl_trustStoreType", "value":"JKS" },
    { "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
    { "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
  ]
}

Inclusion de journaux d'audit Fusion Applications

Suivez ces étapes pour collecter les journaux d'audit Fusion Applications. Pour obtenir la liste des sources définies par Oracle disponibles pour Fusion Applications, reportez-vous à Sources définies par Oracle.

Rubriques :

Conditions préalables

  • Comprendre les API des journaux d'audit Fusion Applications : pour plus de détails sur l'utilisation et les fonctionnalités de l'API des journaux d'audit, reportez-vous à la documentation de l'API REST Fusion Applications.

  • Accès à Fusion Applications : vous devez disposer d'informations d'identification et de privilèges valides pour accéder à l'instance Fusion Applications.

  • Identifiez les adresses et le proxy suivants (facultatif) :

    • login_url : URL de base de l'instance Fusion Applications
    • pod_url : URL de base de l'instance Fusion Applications
    • proxy_url : (facultatif) URL qui envoie une demande au serveur proxy.

    Pour plus d'informations sur les URL, reportez-vous à ID de document 2661308.1 dans Oracle My Support.

  • Accès à l'API REST Fusion Applications : assurez-vous que l'accès à l'API est activé et que les rôles/privilèges requis sont affectés.

Configurer la collecte de journaux d'audit à partir de Fusion Applications

  1. Valider l'URL de base Fusion Applications :

    • Validez les informations d'identification Fusion Applications en vous connectant à l'interface utilisateur.
    • Vous pouvez éventuellement analyser les appels de trace réseau pour valider l'URL de base.
    • Assurez-vous que l'accès à l'API Audit est activé.
  2. Création des stratégies IAM requises : autorisation de la collecte de journaux continue à l'aide d'agents de gestion

  3. Installez l'agent de gestion sur un hôte disposant d'un accès http ou https à votre instance/serveur Fusion Applications. Assurez-vous que le module d'extension Logging Analytics est déployé pendant l'installation. Reportez-vous à Installation des agents de gestion.

  4. Configurez les informations d'identification d'API dans la banque d'informations d'identification de l'agent :

    Accédez au dossier /bin de l'agent de gestion et créez le fichier JSON d'informations d'identification. L'exemple suivant présente les valeurs fournies dans le fichier fapps.json :

    {
          "source": "lacollector.la_rest_api",
          "name": "FA-CREDS",
          "type": "HTTPSBasicAuthCreds",
          "description": "These are HTTPS (BasicAuth) credentials.",
          "properties": [
              {
                  "name": "HTTPSUserName",
                  "value": "USER"
              },
              {
                  "name": "HTTPSPassword",
                  "value": "PASS"
              }
          ]
      }

    Ajoutez les informations d'identification FA-CREDS à la banque d'informations d'identification de l'agent :

    cat fapps.json | ./credential_mgmt.sh -s logan -o upsertCredentials

    Pour plus de détails sur la configuration des informations d'identification d'API dans la banque d'informations d'identification de l'agent, reportez-vous à Informations d'identification de source de l'agent de gestion.

  5. Vérifiez si l'adresse d'API Fusion Applications peut être atteinte à partir de l'instance sur laquelle l'agent est installé. Vous pouvez utiliser des outils tels que curl pour effectuer la vérification.

  6. Créer une entité : créez une entité de type Oracle Fusion Applications et ajoutez des valeurs de propriétés pour login_url et pod_url. Si nécessaire, ajoutez également la valeur pour proxy_url. Reportez-vous à Création d'une entité pour représenter la ressource émettrice de journal.

  7. Configurer la source : identifiez une source définie par Oracle pour les journaux d'audit Fusion Applications appropriée que vous pouvez utiliser. Si nécessaire, vous pouvez créer un doublon de la source existante et la modifier. Reportez-vous à Modification de la source.

    • Assurez-vous que les informations d'identification sont correctement référencées dans l'adresse de journal de la source.
    • Ajoutez un proxy aux adresses de journal, si nécessaire.
  8. Programmer la collecte de données côté agent : associez la source à l'entité pour programmer la collecte de données. Utilisez l'agent de gestion pour appeler périodiquement les API d'audit Fusion Applications et transmettre les données à Logging Analytics. Reportez-vous à Configuration d'une nouvelle association source-entité.

  9. Vérifier et valider dans l'explorateur de journaux : vérifiez que les journaux sont collectés et analysés correctement dans l'explorateur de journaux. Reportez-vous à Visualisation des données à l'aide de graphiques et de contrôles.