Cenário: Conectando Dados IoT ao ORDS (Oracle REST Data Services)

Se quiser usar o Oracle REST Data Services (ORDS) para exibir seus dados do Internet of Things, siga estas etapas para configurar o acesso para usar o ORDS.

O esquema do banco de dados do domínio IoT contém os metadados e os dados dos recursos gêmeos digitais associados a um domínio IoT.

Há duas maneiras de usar o ORDS:

  • Use a API de Dados do Internet of Things para exibir seus dados do IoT. Para obter mais informações, consulte a documentação da API de Dados IoT.
  • Use o ORDS para criar e publicar APIs REST personalizadas com seus próprios dados da Internet of Things. Crie lógica dentro do seu banco de dados e exponha operações e objetos de banco de dados usando CRUD como pontos finais REST para criar microsserviços RESTful personalizados conectados a consultas PL/SQL ou SQL.

IoT acesso de dados ao ORDS.

Depois de criar um grupo de domínios IoT e criar um domínio IoT, você pode concluir as etapas a seguir para configurar a autenticação para exibir seus dados IoT no ORDS.

Etapa 1: Criar um Aplicativo Confidencial para seu Domínio de Identidades

No serviço IAM (Identity and Access Management), você precisa criar um aplicativo confidencial com credenciais do cliente no domínio de identidades de destino com permissões de administrador.

  1. Na sua tenancy do IoT, acesse como administrador a Console do Oracle Cloud Infrastructure.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Domínios.
  3. Selecione o nome do domínio de identidades com o qual você deseja trabalhar. Talvez seja necessário alterar o compartimento para localizar o domínio de identidades que você deseja usar. Ou talvez você precise criar um domínio de identidades adicional. Ao criar o aplicativo confidencial, você deve usar um domínio de identidades que não seja o domínio padrão. Você pode criar domínios de identidades adicionais para gerenciar diferentes grupos de usuários, requisitos de segurança e ambientes, em uma única tenancy. Para obter mais informações, consulte Usando Vários Domínios de Identidade e Gerenciando Domínios de Identidade.

    O compartimento deve estar na mesma região que o banco de dados IoT.

    Se você usar um domínio existente ou criar um novo domínio, use as seguintes definições:
    • tipo de domínio: livre
    • Em Administrador de Domínio, desative Usar este endereço de e-mail como nome de usuário.
    • Na página detalhes do domínio, vá para a guia Configurações, em Configurações de domínio - Localidade, selecione Editar configurações de domínio.
    • Para configurar o acesso do cliente ao certificado de assinatura do domínio de identidades sem que o cliente faça log-in no domínio de identidades:

      Em Acessar certificado de assinatura, ative a opção Configurar acesso do cliente e selecione Salvar alterações.

      Agora, em Definições de domínio - Certificado de assinatura de acesso, você vê que Configurar acesso do cliente está ativado.

  4. Na página de detalhes domínio, selecione a guia Aplicativos integrados.
  5. Selecione Adicionar aplicativo, Aplicativo Confidencial e Iniciar workflow.
  6. Na página de detalhes Adicionar aplicativo, informe um nome de aplicativo e uma descrição. Selecione Enviar.

    Para obter uma lista completa de opções, consulte Adicionando um Aplicativo Confidencial.

  7. A página Detalhes do aplicativo integrado é aberta, no menu Ações, selecione Ativar. Selecione Ativar aplicativo.
  8. Selecione a guia configuração OAuth, selecione Editar configuração OAuth.
  9. Em Configuração do servidor de recursos, selecione Configurar este aplicativo como um servidor de recursos já.
  10. Informe o Público-alvo Principal como /<domain-group-short-id>. Selecione Enviar.

    O host de dados vem do grupo de domínios IoT e contém o id curto do grupo de domínios.

    Para localizar o host de dados do grupo de domínios IoT, use o comando oci iot domain-group get e substitua o <iot-domain-group-OCID> pelo OCID do grupo de domínios IoT para obter os detalhes do grupo de domínios IoT, incluindo o host de dados do grupo de domínios com o id curto do grupo de domínios:

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

    Na resposta, é possível encontrar o ID abreviado do grupo de domínios que você precisa informar como o público-alvo principal.

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

    Para obter mais informações, consulte Obter Detalhes de um Grupo de Domínios IoT.

    Observação

    /<domain-group-short-id> deve estar em letras minúsculas.
  11. Para ativar o escopo, selecione Adicionar escopos.
  12. Na página Adicionar escopo, digite o Escopo usando este formato:/iot/<domain-short-id>. Selecione Adicionar.

    O host do dispositivo vem do domínio IoT e contém o id curto do domínio.

    Para localizar o host do dispositivo do domínio IoT, use esse comando e substitua o <iot-domain-OCID> pelo OCID do seu domínio IoT para obter os detalhes do domínio IoT, incluindo o host do dispositivo do domínio com o id curto do domínio:

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

    Na resposta, é possível encontrar o id curto do domínio que você precisa informar como escopo.

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

    Para obter mais informações, consulte Obter Detalhes de um Domínio IoT.

  13. Em Configuração do cliente, selecione Configurar o aplicativo como um cliente agora.
  14. Em Autorização, marque as seguintes caixas de seleção:
    • Proprietário do recurso
    • Credenciais do cliente
    • Asserção JWT
    • Token de atualização
  15. Em Operações permitidas, selecione Introspect para permitir o acesso a um ponto final de introspecção de token para seu aplicativo.
  16. Em Token Insurance policy, selecione All e, em seguida, Submit.
  17. Na página Configuração OAuth, agora em Configurar APIs de aplicativos que precisam ser protegidas por OAuth, você vê o Público principal com o /domaingroupshortid e, em Escopos, o /iot/domainshortid é exibido.
  18. Em Informações Gerais, o ID do Cliente é exibido.
  19. Em Segredo do Cliente, a opção Mostrar segredo é exibida com o valor oculto.
  20. Na parte superior da página, selecione a guia Usuários e selecione Designar usuários.
  21. Marque a caixa de seleção ao lado do Nome do Usuário que você deseja designar a este aplicativo integrado. Selecione Atribuir.
  22. Selecione Aplicativos integrados para voltar à página de detalhes do domínio.
  23. Na página de detalhes do domínio, selecione a guia Gerenciamento de Usuários.
  24. Selecione Criar grupo.
  25. Na página Criar grupo, informe um nome como uma descrição opcional. Evite inserir qualquer informação confidencial.
  26. Marque a caixa de verificação ao lado do usuário que você deseja adicionar ao grupo. Selecione Criar.
  27. Selecione Grupos para voltar à página de detalhes do domínio, selecione a guia Aplicativos integrados.
  28. Selecione o Aplicativo integrado criado na etapa anterior.
  29. Selecione a guia Grupos. Selecione Atribuir grupos.
  30. Marque a caixa de seleção ao lado dos grupos aos quais você deseja atribuir acesso a este aplicativo integrado. Selecione Atribuir.
  31. Na página Detalhes do domínio, copie o URL do Domínio.
  32. Use o comando oci iot domain configure-ords-data-access e os parâmetros necessários para configurar o acesso de um domínio IoT ao ORDS (Oracle REST Data Services).

    Substitua <idcs-<unique-id>.identity.oraclecloud.com> pelo URL do Domínio da página de detalhes do seu domínio, sem o https:// ou o número da porta:

    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 obter mais informações, consulte Configurando o acesso aos dados de um domínio IoT.

  33. Opcional. Se quiser verificar o andamento da operação, use o comando de solicitação de serviço:

    Use o comando oci iot work-request get e o parâmetro necessário para obter os detalhes da solicitação de serviço:

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

    Para obter mais informações, consulte Obtendo Detalhes de uma Solicitação de Serviço.

  34. Opcional. Se quiser verificar os detalhes de um domínio IoT, use o comando oci iot domain get e o parâmetro necessário para obter os detalhes de um domínio IoT:

    oci iot domain get --iot-domain-id <iot-domain-OCID>
    Neste exemplo de resposta, você pode confirmar os detalhes de acesso aos dados para o domínio IoT usa o formato URL do Domínio de Identidades:

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

    Para obter mais informações, consulte Obtendo detalhes de um domínio 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>"

Etapa 2: Obter o Token de Acesso oAuth

Obtenha um token de acesso oAuth com uma senha para conceder acesso usando o id do cliente e o segredo do aplicativo integrado com as credenciais e o escopo do usuário definidos como:

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

Use este comando CURL para gerar um token de acesso oAuth. Substitua o <secret-from-integrated-application> pelo segredo do Aplicativo Integrado criado na etapa anterior.

Para obter mais informações, consulte Usando cURL.

Por exemplo:
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
Se você for um usuário administrador e precisar redefinir a senha de um usuário:
  1. Na sua tenancy do IoT, acesse como administrador a Console do Oracle Cloud Infrastructure.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Domínios.
  3. Localize o domínio com o qual deseja trabalhar e selecione o nome do domínio.
  4. Na página detalhes do domínio, selecione a guia Gerenciamento de Usuários. Localize o usuário para o qual deseja redefinir a senha, no final da linha, selecione o menu Ações e selecione Redefinir Senha.

Para obter mais informações, consulte Redefinindo a Senha de um Usuário.

Agora, você pode usar a API de Dados do ORDS IoT para obter dados IoT do banco de dados e pode usar o ORDS para criar APIs REST com seus dados IoT.

Etapa 3: Chamar a API de Dados do ORDS da Internet of Things

Se quiser obter seus dados da Internet of Things do banco de dados, use essa solicitação para chamar a API de Dados da Internet of Things.

Este exemplo mostra como obter seus dados do 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>\"}]}"