Scénario : Connexion des données IoT à Oracle REST Data Services (ORDS)

Si vous souhaitez utiliser Oracle REST Data Services (ORDS) pour voir vos données Internet of Things, suivez ces étapes pour configurer l'accès afin d'utiliser ORDS.

Le schéma de base de données de domaine IoT contient les métadonnées et les données des ressources du jumeau numérique associées à un domaine IoT.

Vous pouvez utiliser ORDS de deux manières :

  • Utilisez l'API de données Internet of Things pour voir vos données IoT. Pour plus d'informations, consultez la documentation relative à l'API de données IoT.
  • Utilisez ORDS pour créer et publier des API REST personnalisées avec vos propres données Internet of Things. Créez une logique dans votre base de données et exposez les opérations et les objets de base de données à l'aide de la fonction de création, de mise à jour et de suppression en tant que points d'extrémité REST afin de créer des microservices RESTful personnalisés connectés à des interrogations PL/SQL ou SQL.

Accès aux données IoT à ORDS.

Après avoir créé un groupe de domaines IoT et créé un domaine IoT, vous pouvez effectuer les étapes suivantes pour configurer l'authentification afin de voir vos données IoT dans ORDS.

Étape 1 : Créer une application confidentielle pour votre domaine d'identité

Dans le service de gestion des identités et des accès (IAM), vous devez créer une application confidentielle avec des données d'identification de client dans le domaine d'identité cible avec des autorisations d'administrateur.

  1. Dans votre location IoT, connectez-vous en tant qu'administrateur à la console Oracle Cloud Infrastructure.
  2. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
  3. Sélectionnez le nom du domaine d'identité avec lequel vous voulez travailler. Vous devrez peut-être modifier le compartiment pour trouver le domaine d'identité à utiliser. Ou vous devrez peut-être créer un domaine d'identité supplémentaire. Lorsque vous créez l'application confidentielle, vous devez utiliser un domaine d'identité qui n'est pas le domaine par défaut. Vous pouvez créer des domaines d'identité supplémentaires pour gérer différents groupes d'utilisateurs, exigences de sécurité et environnements, au sein d'une même location. Pour plus d'informations, voir Utilisation de plusieurs domaines d'identité et Gestion des domaines d'identité.

    Le compartiment doit se trouver dans la même région que la base de données IoT.

    Si vous utilisez un domaine existant ou créez un nouveau domaine, utilisez les paramètres suivants :
    • Type de domaine : gratuit
    • Sous Administrateur de domaine, désactivez Utiliser cette adresse de courriel comme nom d'utilisateur.
    • Dans la page Détails du domaine, allez à l'onglet Paramètres, sous Paramètres du domaine - Paramètres régionaux, sélectionnez Modifier les paramètres du domaine.
    • Pour configurer l'accès du client au certificat de signature pour le domaine d'identité sans que le client ne se connecte au domaine d'identité :

      Sous Accéder au certificat de signature, activez l'option Configurer l'accès client et sélectionnez Enregistrer les modifications.

      Maintenant, sous Paramètres de domaine - Accéder au certificat de signature, vous voyez que l'option Configurer l'accès client est activée.

  4. Dans la page des détails du domaine, sélectionnez l'onglet Applications intégrées.
  5. Sélectionnez Ajouter une application, sélectionnez Application confidentielle, puis Lancer le flux de travail.
  6. Dans la page Ajouter une application des détails, entrez un nom d'application et une description. Sélectionnez Soumettre.

    Pour obtenir la liste complète des options, voir Ajout d'une application confidentielle.

  7. La page Détails de l'application intégrée s'ouvre, dans le menu Actions, sélectionnez Activer. Sélectionnez Activer l'application.
  8. Sélectionnez l'onglet Configuration OAuth, sélectionnez Modifier la configuration OAuth.
  9. Sous Configuration du serveur de ressources, sélectionnez Configurer cette application comme serveur de ressources maintenant.
  10. Entrez /<domain-group-short-id> pour le public principal. Sélectionnez Soumettre.

    L'hôte de données provient du groupe de domaines IoT et contient l'ID abrégé du groupe de domaines.

    Pour trouver l'hôte de données pour le groupe de domaines IoT, utilisez la commande oci iot domain-group get et remplacez <iot-domain-group-OCID> par l'OCID de votre groupe de domaines IoT pour obtenir les détails du groupe de domaines IoT, notamment l'hôte de données du groupe de domaines par l'ID abrégé du groupe de domaines :

    oci iot domain-group get --iot-domain-group-id <iot-domain-group-OCID>

    Dans la réponse, vous pouvez trouver l'ID abrégé du groupe de domaines que vous devez entrer comme public principal.

    data-host:<domain-group-short-id>.data.iot.<region>.oci.oraclecloud.com

    Pour plus d'informations, voir Obtenir les détails d'un groupe de domaines IoT.

    Note

    /<domain-group-short-id> doit être en minuscules.
  11. Pour activer la portée, sélectionnez Ajouter des portées.
  12. Dans la page Ajouter une portée, entrez la portée dans le format :/iot/<domain-short-id>. Sélectionnez Ajouter.

    L'hôte de l'appareil provient du domaine IoT et contient l'ID court de domaine.

    Pour trouver l'hôte de l'appareil pour le domaine IoT, utilisez cette commande et remplacez <iot-domain-OCID> par l'OCID de votre domaine IoT pour obtenir les détails du domaine IoT, notamment l'hôte de l'appareil du domaine par l'ID court du domaine :

    oci iot domain get --iot-domain-id <iot-domain-OCID>

    Dans la réponse, vous pouvez trouver l'ID court de domaine que vous devez entrer comme étendue.

    device-host:<domain-short-id>.device.iot.<region>.oci.oraclecloud.com

    Pour plus d'informations, voir Obtenir les détails d'un domaine IoT.

  13. Sous Configuration du client, sélectionnez Configurer l'application comme client maintenant.
  14. Sous Autorisation, cochez les cases suivantes :
    • Responsable de la ressource
    • Données d'identification du client
    • Assertion JWT
    • Actualiser le marqueur
  15. Sous Opérations autorisées, sélectionnez Introspection pour autoriser l'accès à un point d'extrémité d'introspection de jeton pour votre application.
  16. Sous Politique d'assurance avec jeton, sélectionnez Tout, puis Soumettre.
  17. Dans la page OAuth Configuration, maintenant sous Configurer les API d'application qui doivent être protégées par OAuth, vous voyez l'audience principale avec /domaingroupshortid et sous Étendues, /iot/domainshortid s'affiche.
  18. Sous Informations générales, l'ID client s'affiche.
  19. Sous Clé secrète client, l'option Afficher la clé secrète client s'affiche avec la valeur masquée.
  20. En haut de la page, sélectionnez l'onglet Utilisateurs, puis Affecter des utilisateurs.
  21. Cochez la case à côté du nom d'utilisateur à affecter à l'application intégrée. Sélectionnez Affecter.
  22. Sélectionnez Applications intégrées pour retourner à la page des détails du domaine.
  23. Dans la page des détails du domaine, sélectionnez l'onglet Gestion des utilisateurs.
  24. Sélectionnez Créer un groupe.
  25. Dans la page Créer un groupe, entrez un nom facultatif dans une description. Évitez d'entrer des informations confidentielles.
  26. Cochez la case à côté de l'utilisateur à ajouter au groupe. Sélectionnez Créer.
  27. Sélectionnez Groupes pour retourner à la page détails du domaine, sélectionnez l'onglet Applications intégrées.
  28. Sélectionnez l'application intégrée créée à l'étape précédente.
  29. Sélectionnez l'onglet Groupes. Sélectionnez Affecter des groupes.
  30. Cochez la case à côté des groupes auxquels vous voulez affecter l'accès à cette application intégrée. Sélectionnez Affecter.
  31. Dans la page Détails du domaine, copiez l'URL du domaine.
  32. Utilisez la commande oci iot domain configure-ords-data-access et les paramètres requis pour configurer l'accès d'un domaine IoT à Oracle REST Data Services (ORDS).

    Remplacez <idcs-<unique-id>.identity.oraclecloud.com> par l'URL de domaine dans la page des détails de votre domaine, sans https :// ni le numéro de port :

    oci iot domain configure-ords-data-access --iot-domain-id <iot-domain-OCID> --db-allowed-identity-domain-host <idcs-<unique-id>.identity.oraclecloud.com>

    Pour plus d'informations, voir Configuration de l'accès aux données d'un domaine IoT.

  33. Facultative. Pour vérifier la progression de l'opération, utilisez la commande de demande de travail :

    Utilisez la commande oci iot work-request get et le paramètre requis pour obtenir les détails de la demande de travail :

    oci iot work-request get --work-request-id <work-request-id>

    Pour plus d'informations, voir Obtention des détails d'une demande de travail.

  34. Facultative. Si vous voulez vérifier les détails d'un domaine IoT, utilisez la commande oci iot domain get et le paramètre requis pour obtenir les détails d'un domaine IoT :

    oci iot domain get --iot-domain-id <iot-domain-OCID>
    Dans cet exemple de réponse, vous pouvez confirmer les détails d'accès aux données pour le domaine IoT au format URL du domaine d'identité :

    <idcs-<unique-id>.identity.oraclecloud.com>

    Pour plus d'informations, voir Obtention des détails d'un domaine IoT.
    {
      "compartment-id": "<compartment-OCID>",
      "data-retention-periods-in-days": {
        "historized-data": 30,
        "raw-command-data": 16,
        "raw-data": 16,
        "rejected-data": 16
      },
      "db-allow-listed-identity-group-names": ["<tenancy-OCID>:<identity-domain-name>/<identity-group-name>"],
      "db-allowed-identity-domain-host": "<idcs-<unique-id>.identity.oraclecloud.com>",
      "defined-tags": {
        "Oracle-Tags": {
          "CreatedBy": "default/user",
          "CreatedOn": "2025-08-05T18:02:51.633Z"
        }
      },
      "description": <your-description>,
      "device-host": "<domain-short-id>.device.iot.<region>.oci.oraclecloud.com",
      "display-name": "iot-domain-sample",
      "freeform-tags": {},
      "id": "<iot-domain-OCID>",
      "iot-domain-group-id": "<iot-domain-group-OCID>",
      "lifecycle-state": "ACTIVE",
      "system-tags": {},
      "time-created": "2025-08-05T18:02:53.418000+00:00",
      "time-updated": "2025-08-05T18:04:42.585000+00:00"
    },
    "etag": "<unique-id>"

Étape 2 : Obtenir le jeton d'accès oAuth

Obtenez un jeton d'accès oAuth avec un mot de passe pour accorder l'accès à l'aide de l'ID client et de la clé secrète de l'application intégrée avec les données d'identification et la portée de l'utilisateur définies comme suit :

'scope=/<domain-group-short-id>/iot/<domain-short-id>'

Utilisez cette commande CURL pour générer un jeton d'accès oAuth. Remplacez <secret-from-integrated-application> par la clé secrète de l'application intégrée créée à l'étape précédente.

Pour plus d'informations, voir Utilisation de cURL.

Exemple :
curl --request POST 
    --url 'https://idcs-<identity-hostname>.identity.oraclecloud.com:443/oauth2/v1/token' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --header 'Authorization: Basic <secret-from-integrated-application>' \
    --data 'scope=/<domain-group-short-id>/iot/<domain-short-id>' \
    --data 'grant_type=password' \
    --data 'password=<your-password>' \
    --data username=user@oracle.com
Si vous êtes un administrateur et que vous devez réinitialiser le mot de passe d'un utilisateur :
  1. Dans votre location IoT, connectez-vous en tant qu'administrateur à la console Oracle Cloud Infrastructure.
  2. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
  3. Recherchez le domaine avec lequel vous voulez travailler, sélectionnez le nom du domaine.
  4. Dans la page Détails du domaine, sélectionnez l'onglet Gestion des utilisateurs. Recherchez l'utilisateur pour lequel vous voulez réinitialiser le mot de passe, à la fin de la rangée, sélectionnez le menu Actions et sélectionnez Réinitialiser le mot de passe.

Pour plus d'informations, voir Réinitialisation du mot de passe d'un utilisateur.

Maintenant, vous pouvez utiliser l'API de données ORDS IoT pour obtenir les données IoT de la base de données et vous pouvez utiliser ORDS pour créer des API REST avec vos données IoT.

Étape 3 : Appeler l'API de données ORDS d'Internet of Things

Si vous voulez obtenir vos données Internet of Things à partir de la base de données, utilisez cette demande pour appeler l'API de données Internet of Things.

Cet exemple montre comment obtenir vos données RAW :
curl -H "Authorization: Bearer <token>" \
     -X GET "https://<domain-group-short-id>.data.iot.<region>.oci.oraclecloud.com/ords/<domain-short-id>/20250531/rawData?q={\"$and\":[{\"digital_twin_instance_id\":\"<iot-digital-twin-OCID>\"}]}"