Escenario: conexión de datos de IoT a Oracle REST Data Services (ORDS)

Si desea utilizar Oracle REST Data Services (ORDS) para ver los datos de Internet of Things, siga estos pasos para configurar el acceso para utilizar ORDS.

El esquema de base de datos de dominio IoT contiene los metadatos y datos de los recursos de gemelo digital asociados a un dominio IoT.

Existen dos formas de utilizar ORDS:

  • Utilice la API de datos de Internet of Things para ver los datos de IoT. Para obtener más información, consulte la IoT documentación de API de datos.
  • Utilice ORDS para crear y publicar API de REST personalizadas con sus propios datos de Internet of Things. Cree lógica dentro de la base de datos y exponga las operaciones y los objetos de la base de datos mediante CRUD como puntos finales de REST para crear microservicios RESTful personalizados conectados a consultas PL/SQL o SQL.

Acceso a datos IoT a ORDS.

Después de crear un grupo de dominios IoT y crear un dominio IoT, puede realizar los siguientes pasos para configurar la autenticación para ver los datos IoT en ORDS.

Paso 1: Crear una aplicación confidencial para su dominio de identidad

En el servicio de gestión de identidad y acceso (IAM), debe crear una aplicación confidencial con credenciales de cliente en el dominio de identidad de destino con permisos de administrador.

  1. En su arrendamiento IoT, conéctese como administrador a la consola de Oracle Cloud Infrastructure.
  2. Abra el menú de navegación y seleccione Identidad y seguridad. En Identidad, seleccione Dominios.
  3. Seleccione el nombre del dominio de identidad con el que desea trabajar. Puede que tenga que cambiar el compartimento para buscar el dominio de identidad que desea utilizar. O bien, puede que necesite crear un dominio de identidad adicional. Al crear la aplicación confidencial, debe utilizar un dominio de identidad que no sea el dominio por defecto. Puede crear dominios de identidad adicionales para gestionar diferentes grupos de usuarios, requisitos de seguridad y entornos, dentro de un único arrendamiento. Para obtener más información, consulte Uso de varios dominios de identidad y Gestión de dominios de identidad.

    El compartimento debe estar en la misma región que la base de datos IoT.

    Si utiliza un dominio existente o crea un nuevo dominio, utilice los siguientes valores:
    • Tipo de dominio: libre
    • En Administrador de dominio, desactive Usar esta dirección de correo electrónico como nombre de usuario.
    • En la página detalles de dominio, vaya al separador Configuración, en Configuración de dominio - Configuración regional, seleccione Editar configuración de dominio.
    • Para configurar el acceso del cliente al certificado de firma para el dominio de identidad sin que el cliente se conecte al dominio de identidad:

      En Acceder a certificado de firma, active la opción Configurar acceso de cliente y seleccione Guardar cambios.

      Ahora, en Configuración de dominio: certificado de firma de acceso, verá que Configurar acceso de cliente está activado.

  4. En la página de detalles de dominio, seleccione el separador Aplicaciones integradas.
  5. Seleccione Agregar aplicación, Aplicación confidencial y, a continuación, Iniciar flujo de trabajo.
  6. En la página de detalles Agregar aplicación, introduzca un nombre de aplicación y una descripción. Seleccione Enviar.

    Para obtener una lista completa de las opciones, consulte Adición de una aplicación confidencial.

  7. Se abre la página Detalles de aplicación integrada, en el menú Acciones, seleccione Activar. Seleccione Activar aplicación.
  8. Seleccione el separador Configuración de OAuth y seleccione Editar configuración de OAuth.
  9. En Configuración del servidor de recursos, seleccione Configurar esta aplicación como un servidor de recursos Ahora.
  10. Introduzca el Público principal como /<domain-group-short-id>. Seleccione Enviar.

    El host de datos proviene del grupo de dominios IoT y contiene el ID corto de grupo de dominios.

    Para buscar el host de datos para el grupo de dominios IoT, utilice el comando oci iot domain-group get y sustituya <iot-domain-group-OCID> por el OCID para el grupo de dominios IoT para obtener los detalles del grupo de dominios IoT, incluido el host de datos del grupo de dominios con el ID corto del grupo de dominios:

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

    En la respuesta, puede encontrar el identificador corto de grupo de dominios que debe introducir como público principal.

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

    Para obtener más información, consulte Get an IoT Domain Group's Details.

    Nota

    /<domain-group-short-id> debe estar en minúscula.
  11. Para activar el ámbito, seleccione Agregar ámbitos.
  12. En la página Agregar ámbito, introduzca el Ámbito con este formato:/iot/<domain-short-id>. Haga clic en Agregar.

    El host de dispositivo proviene del dominio IoT y contiene el domain short id.

    Para buscar el host de dispositivo para el dominio IoT, utilice este comando y sustituya <iot-domain-OCID> por el OCID para el dominio IoT para obtener los detalles del dominio IoT, incluido el host de dispositivo del dominio con el ID corto de dominio:

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

    En la respuesta, puede encontrar el domain short id que debe introducir como ámbito.

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

    Para obtener más información, consulte Get an IoT Domain's Details.

  13. En Configuración del cliente, seleccione Configurar la aplicación como un cliente ahora.
  14. En Autorización, seleccione las siguientes casillas de control:
    • Propietario de recurso
    • Credenciales de cliente
    • Afirmación JWT
    • Token de refrescamiento
  15. En Operaciones permitidas, seleccione Introspección para permitir el acceso a un punto final de introspección de token para la aplicación.
  16. En Póliza de seguro de token, seleccione Todo y, a continuación, seleccione Enviar.
  17. En la página Configuración de OAuth, ahora, en Configurar API de aplicación que deben estar protegidas por OAuth, verá el destino principal con /domaingroupshortid y, en Ámbitos, se muestra /iot/domainshortid.
  18. En Información general, se muestra el ID de cliente.
  19. En Secreto de cliente, se muestra Mostrar secreto con el valor oculto.
  20. En la parte superior de la página, seleccione el separador Usuarios y seleccione Asignar usuarios.
  21. Seleccione la casilla de control situada junto al nombre de usuario que desea asignar a esta aplicación integrada. Seleccione Asignar.
  22. Seleccione Aplicaciones integradas para volver a la página de detalles del dominio.
  23. En la página de detalles del dominio, seleccione el separador Gestión de usuarios.
  24. Seleccione Crear grupo.
  25. En la página Crear grupo, introduzca un nombre como descripción opcional. Evite introducir información confidencial.
  26. Active la casilla de control situada junto al usuario que desea agregar al grupo. Seleccione Crear.
  27. Seleccione Grupos para volver a la página Detalles del dominio, seleccione el separador Aplicaciones integradas.
  28. Seleccione la aplicación integrada creada en el paso anterior.
  29. Seleccione el separador Grupos. Seleccione Asignar grupos.
  30. Seleccione la casilla de control situada junto a los grupos a los que desea asignar acceso a esta aplicación integrada. Seleccione Asignar.
  31. En la página Detalles de dominio, copie la URL de dominio.
  32. Utilice el comando oci iot domain configure-ords-data-access y los parámetros necesarios para configurar el acceso de un dominio IoT a Oracle REST Data Services (ORDS).

    Sustituya <idcs-<unique-id>.identity.oraclecloud.com> por la URL de dominio de la página de detalles del dominio, sin el número de puerto o https://:

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

    Para obtener más información, consulte Configuring an IoT Domain's Data Access.

  33. Opcional. Si desea comprobar el progreso de la operación, utilice el comando de solicitud de trabajo:

    Utilice el comando oci iot work-request get y el parámetro necesario para obtener los detalles de la solicitud de trabajo:

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

    Para obtener más información, consulte Obtención de detalles de una solicitud de trabajo.

  34. Opcional. Si desea comprobar los detalles de un dominio IoT, utilice el comando oci iot domain get y el parámetro necesario para obtener los detalles de un dominio IoT:

    oci iot domain get --iot-domain-id <iot-domain-OCID>
    En esta respuesta de ejemplo, puede confirmar que los detalles de acceso a datos para el dominio IoT utilizan el formato URL de dominio de identidad:

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

    Para obtener más información, consulte Getting an IoT Domain's Details.
    {
      "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>"

Paso 2: Obtener el token de acceso oAuth

Obtenga un token de acceso oAuth con una contraseña para otorgar acceso mediante el ID de cliente y el secreto de la aplicación integrada con las credenciales y el ámbito del usuario definidos como:

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

Utilice este comando CURL para generar un token de acceso oAuth. Sustituya <secret-from-integrated-application> por el secreto de la aplicación integrada creada en el paso anterior.

Para obtener más información, consulte Uso de cURL.

Por ejemplo:
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 es un usuario administrador y necesita restablecer la contraseña de un usuario:
  1. En su arrendamiento IoT, conéctese como administrador a la consola de Oracle Cloud Infrastructure.
  2. Abra el menú de navegación y seleccione Identity & Security. En Identidad, seleccione Dominios.
  3. Busque el dominio con el que desea trabajar y seleccione el nombre del dominio.
  4. En la página Detalles de dominio, seleccione el separador Gestión de usuarios. Busque el usuario para el que desea restablecer la contraseña. Al final de la fila, seleccione el menú Acciones y seleccione Restablecer contraseña.

Para obtener más información, consulte Resetting a User's Password.

Ahora, puede utilizar la API de datos de ORDS IoT para obtener datos IoT de la base de datos y puede utilizar ORDS para crear API de REST con sus datos IoT.

Paso 3: Llamar a la API de datos de ORDS de Internet of Things

Si desea obtener los datos de Internet of Things de la base de datos, utilice esta solicitud para llamar a la API de datos de Internet of Things.

En este ejemplo se muestra cómo obtener los datos 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>\"}]}"