Scénario : connexion de données IoT à Oracle REST Data Services (ORDS)
Si vous souhaitez utiliser Oracle REST Data Services (ORDS) pour afficher vos données Internet of Things, procédez comme suit 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 de jumeau numérique associées à un domaine IoT.
Vous pouvez utiliser ORDS de deux façons :
- Utilisez l'API de données Internet of Things pour visualiser vos données IoT. Pour plus d'informations, reportez-vous à 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 CRUD en tant qu'adresses REST pour créer des microservices RESTful personnalisés connectés à des requêtes PL/SQL ou SQL.
Une fois que vous avez créé un groupe de domaines IoT et créé un domaine IoT, vous pouvez effectuer les étapes suivantes pour configurer l'authentification afin de visualiser vos données IoT dans ORDS.
Etape 1 : création d'une application confidentielle pour votre domaine d'identité
Dans le service Identity and Access Management (IAM), vous devez créer une application confidentielle avec des informations d'identification client sur le domaine d'identité cible avec des droits d'accès administrateur.
- Dans votre location IoT, connectez-vous en tant qu'administrateur à la console Oracle Cloud Infrastructure.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
- 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. Vous pouvez également avoir besoin de 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, reportez-vous à 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 domaine, utilisez les paramètres suivants :- type de domaine : gratuit
- Sous Administrateur de domaine, désactivez l'option Utiliser cette adresse électronique comme nom utilisateur.
- Sur la page Détails du domaine, accédez à l'onglet Paramètres, sous Paramètres de domaine - Paramètres régionaux, sélectionnez Modifier les paramètres de domaine.
- Pour configurer l'accès du client au certificat de signature pour le domaine d'identité sans que le client se connecte au domaine d'identité, procédez comme suit :
Sous Accès au certificat de signature, activez l'option Configurer l'accès client et sélectionnez Enregistrer les modifications.
Désormais, sous Paramètres de domaine - Certificat de signature d'accès, Configurer l'accès client est activé.
- Sur la page de détails du domaine, sélectionnez l'onglet Applications intégrées.
- Sélectionnez Ajouter une application, Application confidentielle, puis Lancer le workflow.
- Sur la page de détails Ajouter une application, entrez un nom d'application et une description. Sélectionnez Soumettre.
Pour obtenir la liste complète des options, reportez-vous à Ajout d'une application confidentielle.
- La page Détails de l'application intégrée s'ouvre. Dans le menu Actions, sélectionnez Activer. Sélectionnez Activer l'application.
- Sélectionnez l'onglet Configuration OAuth, puis Modifier la configuration OAuth.
- Sous Configuration du serveur de ressources, sélectionnez Configurer cette application comme serveur de ressources maintenant.
- Entrez
/<domain-group-short-id>
dans le champ 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.
Afin de 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 du groupe de domaines IoT afin d'obtenir les détails du groupe de domaines IoT, y compris l'hôte de données du groupe de domaines, avec 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 en tant que public principal.
data-host:<domain-group-short-id>.data.iot.<region>.oci.oraclecloud.com
Pour plus d'informations, reportez-vous à la section Get an IoT Domain Group's Details.
Remarque
/<domain-group-short-id>
doit être en minuscule. - Pour activer la portée, sélectionnez Ajouter des portées.
- Sur la page Ajouter une portée, entrez la portée au format suivant :
/iot/<domain-short-id>
. Choisissez Ajouter.L'hôte de périphérique provient du domaine IoT et contient l'ID abrégé de domaine.
Afin de rechercher l'hôte de périphérique pour le domaine IoT, utilisez cette commande et remplacez <iot-domain-OCID> par l'OCID de votre domaine IoT afin d'obtenir les détails du domaine IoT, y compris l'hôte de périphérique du domaine par l'ID abrégé de domaine :
oci iot domain get --iot-domain-id <iot-domain-OCID>
Dans la réponse, vous pouvez trouver l'ID abrégé de domaine que vous devez entrer en tant que portée.
device-host:<domain-short-id>.device.iot.<region>.oci.oraclecloud.com
Pour plus d'informations, reportez-vous à Obtention des détails d'un domaine IoT.
- Sous Configuration du client, sélectionnez Configurer l'application comme client maintenant.
- Sous Autorisation, cochez les cases suivantes :
- Propriétaire de ressource
- Informations d'identification client
- Assertion JWT
- Jeton d'actualisation
- Sous Opérations autorisées, sélectionnez Introspect pour autoriser l'accès à une adresse d'introspection de jeton pour votre application.
- Sous Police d'assurance de jetons, sélectionnez Tout, puis Soumettre.
- Sur la page Configuration OAuth, sous Configurer les API d'application devant être protégées par OAuth, l'audience principale est affichée avec
/domaingroupshortid
et sous Portées,/iot/domainshortid
s'affiche. - Sous Informations générales, l'ID client s'affiche.
- Sous Clé secrète client, l'option Afficher la clé secrète est affichée avec la valeur masquée.
- En haut de la page, sélectionnez l'onglet Utilisateurs, puis Affecter des utilisateurs.
- Cochez la case en regard du nom utilisateur à affecter à cette application intégrée. Sélectionnez Affecter.
- Sélectionnez Applications intégrées pour revenir à la page de détails du domaine.
- Sur la page de détails du domaine, sélectionnez l'onglet Gestion des utilisateurs.
- Sélectionnez Créer un groupe.
- Sur la page Créer un groupe, entrez un nom et une description facultative. Evitez de saisir des informations confidentielles.
- Cochez la case en regard de l'utilisateur que vous voulez ajouter au groupe. Choisissez Créer.
- Sélectionnez Groupes pour revenir à la page Détails du domaine, puis sélectionnez l'onglet Applications intégrées.
- Sélectionnez l'application intégrée créée à l'étape précédente.
- Sélectionnez l'onglet Groupes. Sélectionnez Affecter des groupes.
- Cochez la case en regard des groupes auxquels vous souhaitez affecter l'accès à cette application intégrée. Sélectionnez Affecter.
- Sur la page Détails du domaine, copiez l'URL du domaine.
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 de la page de détails du 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.
- Facultatif. 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.
Facultatif. Pour vérifier les détails d'un domaine IoT, utilisez la commande
oci iot domain get
et le paramètre requis afin d'obtenir les détails d'un domaine IoT :Dans cet exemple de réponse, vous pouvez vérifier que les détails d'accès aux données du domaine IoT utilisent le format URL de domaine d'identité :oci iot domain get --iot-domain-id <iot-domain-OCID>
<idcs-<unique-id>.identity.oraclecloud.com>
Pour plus d'informations, reportez-vous à 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>"
Etape 2 : Obtention du 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 informations 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, reportez-vous à Utilisation de cURL.
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
- Dans votre location IoT, connectez-vous en tant qu'administrateur à la console Oracle Cloud Infrastructure.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
- Recherchez le domaine avec lequel vous voulez travailler, sélectionnez le nom du domaine.
- Sur la page Détails du domaine, sélectionnez l'onglet Gestion des utilisateurs. Recherchez l'utilisateur pour lequel réinitialiser le mot de passe, à la fin de la ligne, sélectionnez le menu Actions et sélectionnez Réinitialiser le mot de passe.
Pour plus d'informations, reportez-vous à Réinitialisation d'un mot de passe utilisateur.
Vous pouvez désormais 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.
Etape 3 : Appeler l'API de données ORDS Internet of Things
Si vous souhaitez extraire vos données Internet of Things de la base de données, utilisez cette demande pour appeler l'API de données Internet of Things.
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>\"}]}"