Partilhar via


Como vincular e gerenciar hubs IoT

O Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure pode provisionar dispositivos em um ou mais hubs IoT. Antes que o DPS possa provisionar dispositivos para um hub IoT, ele deve estar vinculado à sua instância do DPS. Uma vez vinculado, um hub IoT pode ser usado em uma política de alocação. As políticas de alocação determinam como os dispositivos são atribuídos aos hubs IoT pelo DPS. Este artigo fornece instruções sobre como vincular hubs IoT e gerenciá-los em sua instância DPS.

Hubs IoT vinculados e políticas de alocação

O DPS só pode provisionar dispositivos para hubs IoT que tenham sido vinculados a ele. Vincular um hub IoT a uma instância DPS dá ao serviço permissões de leitura/gravação para o registro de dispositivo do hub IoT. Com essas permissões, o DPS pode registrar um ID de dispositivo e definir a configuração inicial no gêmeo do dispositivo. Os hubs IoT vinculados podem estar em qualquer região do Azure. Você pode vincular hubs em outras assinaturas à sua instância do DPS.

Depois que um hub IoT é vinculado ao DPS, ele é elegível para participar da alocação. Se e como ele participará da alocação depende das configurações no registro que um dispositivo provisiona e das configurações no próprio hub IoT vinculado.

As configurações a seguir controlam como o DPS usa hubs IoT vinculados:

  • Cadeia de conexão: define a cadeia de conexão do Hub IoT que o DPS usa para se conectar ao hub IoT vinculado. A cadeia de conexão é baseada em uma das políticas de acesso compartilhado do hub IoT. O DPS precisa das seguintes permissões no hub IoT: RegistryWrite e ServiceConnect. A cadeia de conexão deve ser para uma política de acesso compartilhado que tenha essas permissões. Para saber mais sobre as políticas de acesso compartilhado do Hub IoT, consulte Controle de acesso e permissões do Hub IoT.

  • Peso de alocação: determina a probabilidade de um hub IoT ser selecionado quando o DPS hashes a atribuição de dispositivo em um conjunto de hubs IoT. O valor pode estar entre um e 1000. O padrão é um (ou null). Valores mais altos aumentam a probabilidade de o hub IoT ser selecionado.

  • Aplicar política de alocação: define se o hub IoT participa da política de alocação. O padrão é Sim (true). Se definido como Não (false), os dispositivos não serão atribuídos ao hub IoT. O hub IoT ainda pode ser selecionado em uma inscrição, mas não participará da alocação. Você pode usar essa configuração para remover temporária ou permanentemente um hub IoT da participação na alocação; por exemplo, se estiver se aproximando do número permitido de dispositivos.

Para saber mais sobre as políticas de alocação do DPS e como os hubs IoT vinculados participam delas, consulte Gerenciar políticas de alocação.

Adicionar um hub IoT vinculado

Quando você vincula um hub IoT à sua instância DPS, ele fica disponível para participar da alocação. Você pode adicionar hubs IoT que estão dentro ou fora da sua assinatura. Quando você vincula um hub IoT, ele pode ou não estar disponível para alocações em inscrições existentes:

  • Para inscrições que não definem explicitamente os hubs IoT aos quais aplicar a política de alocação, um hub IoT recém-vinculado começa imediatamente a participar da alocação.

  • Para inscrições que definem explicitamente os hubs IoT aos quais aplicar a política de alocação, você precisará adicionar manual ou programaticamente o novo hub IoT às configurações de registro para que ele participe da alocação.

Limitações

  • Há algumas limitações ao trabalhar com hubs IoT vinculados e pontos de extremidade privados. Para obter mais informações, consulte Limitações de ponto de extremidade privado.

  • O Hub IoT vinculado deve ter Conectar usando políticas de acesso compartilhado definidas como Permitir.

No portal do Azure, você pode vincular um hub IoT no menu esquerdo da sua instância do DPS ou no registro ao criar ou atualizar um registro. Em ambos os casos, o hub IoT tem como escopo a instância do DPS (não apenas o registro).

Para vincular um hub IoT à sua instância do DPS no portal do Azure:

  1. No menu esquerdo da instância do DPS, selecione Hubs IoT vinculados.

  2. Na parte superior da página, selecione + Adicionar.

  3. Na página Adicionar link ao hub IoT, selecione a assinatura que contém o hub IoT e escolha o nome do hub IoT na lista Hub IoT.

  4. Depois de selecionar o hub IoT, escolha uma política de acesso que o DPS usará para se conectar ao hub IoT. A lista Política de Acesso mostra todas as políticas de acesso compartilhado definidas no Hub IoT selecionado que têm as permissões RegistryWrite e ServiceConnect definidas. O padrão é a política iothubowner . Selecione a política que deseja usar.

  5. Selecione Guardar.

Ao criar ou atualizar um registro, você pode usar o botão Vincular um novo hub IoT no registro. Ser-lhe-á apresentada a mesma página e opções acima. Depois de salvar o hub vinculado, ele estará disponível em sua instância DPS e poderá ser selecionado em seu registro.

Nota

No portal do Azure, você não pode definir as configurações Peso de alocação e Aplicar política de alocação ao adicionar um hub IoT vinculado. Em vez disso, você pode atualizar essas configurações depois que o hub IoT estiver vinculado. Para saber mais, consulte Atualizar um hub IoT vinculado.

Use o comando az iot dps linked-hub create Azure CLI para vincular um hub IoT à sua instância do DPS.

Por exemplo, o comando a seguir vincula um hub IoT chamado MyExampleHub usando uma cadeia de conexão para sua política de acesso compartilhado iothubowner . Este comando deixa as configurações de política de alocação de peso e Aplicar alocação em seus padrões, mas você pode especificar valores para essas configurações se desejar.

az iot dps linked-hub create --dps-name MyExampleDps --resource-group MyResourceGroup --connection-string "HostName=MyExampleHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=XNBhoasdfhqRlgGnasdfhivtshcwh4bJwe7c0RIGuWsirW0=" --location westus

O DPS também oferece suporte à vinculação de Hubs IoT usando a API REST de recursos do DPS Criar ou Atualizar, os modelos do Gerenciador de Recursos e os SDKs de Gerenciamento do DPS.

Atualizar um hub IoT vinculado

Você pode atualizar as configurações em um hub IoT vinculado para alterar seu peso de alocação, se ele pode ter políticas de alocação aplicadas a ele e a cadeia de conexão que o DPS usa para se conectar a ele. Quando você atualiza as configurações de um hub IoT, as alterações entram em vigor imediatamente, independentemente de o hub IoT ser especificado em um registro ou usado por padrão.

Usar o portal do Azure para atualizar um hub IoT vinculado

No portal do Azure, você pode atualizar as configurações de política de Peso de alocação e Aplicar alocação.

Para atualizar as configurações de um hub IoT vinculado usando o portal do Azure:

  1. No menu esquerdo da instância do DPS, selecione Hubs IoT vinculados e, em seguida, selecione o hub IoT na lista.

  2. Na página Detalhes do hub IoT vinculado:

    Screenshot that shows the linked IoT hub details page. .

    • Use o controle deslizante Peso de alocação ou a caixa de texto para escolher um peso entre um e 1000. O padrão é um.

    • Defina a opção Aplicar política de alocação para especificar se o hub IoT vinculado deve ser incluído na alocação.

  3. Guarde as definições.

Nota

Não é possível atualizar a cadeia de conexão que o DPS usa para se conectar ao hub IoT a partir do portal do Azure. Em vez disso, você pode usar a CLI do Azure para atualizar a cadeia de conexão ou pode excluir o hub IoT vinculado de sua instância DPS e vinculá-lo novamente. Para saber mais, consulte Atualizar chaves para hubs IoT vinculados.

Usar a CLI do Azure para atualizar um hub IoT vinculado

Com a CLI do Azure, você pode atualizar as configurações de Peso de alocação, Aplicar política de alocação e Cadeia de conexão.

Use o comando az iot dps linked-hub update para atualizar o peso da alocação ou aplicar as configurações de políticas de alocação. Por exemplo, o comando a seguir define o peso de alocação e aplica a política de alocação para um hub IoT vinculado:

az iot dps linked-hub update --dps-name MyExampleDps --resource-group MyResourceGroup --linked-hub MyExampleHub --allocation-weight 2 --apply-allocation-policy true

Use o comando az iot dps update para atualizar a cadeia de conexão de um hub IoT vinculado. Você pode usar o --set parâmetro junto com a cadeia de conexão para a política de acesso compartilhado do hub IoT que deseja usar. Para obter detalhes, consulte Atualizar chaves para hubs IoT vinculados.

O DPS também oferece suporte à atualização de Hubs IoT vinculados usando a API REST de recursos do DPS Criar ou Atualizar, os modelos do Gerenciador de Recursos e os SDKs de Gerenciamento do DPS.

Excluir um hub IoT vinculado

Quando você exclui um hub IoT vinculado da sua instância DPS, ele não estará mais disponível para ser definido em inscrições futuras. No entanto, ele pode ou não ser removido de alocações em inscrições existentes:

  • Para inscrições que não definem explicitamente os hubs IoT aos quais aplicar a política de alocação, um hub IoT vinculado excluído não está mais disponível para alocação.

  • Para inscrições que definem explicitamente os hubs IoT aos quais aplicar a política de alocação, você precisará remover manual ou programaticamente o hub IoT das configurações de registro para que ele seja removido da participação na alocação. A falha em fazê-lo pode resultar em um erro quando um dispositivo tenta provisionar através do registro.

Usar o portal do Azure para excluir um hub IoT vinculado

Para excluir um hub IoT vinculado de sua instância DPS no portal do Azure:

  1. No menu esquerdo da instância do DPS, selecione Hubs IoT vinculados.

  2. Na lista de hubs IoT, marque a caixa de seleção ao lado do hub IoT ou hubs IoT que você deseja excluir. Em seguida, selecione Excluir na parte superior da página e confirme sua escolha quando solicitado.

Usar a CLI do Azure para excluir um hub IoT vinculado

Use o comando az iot dps linked-hub delete para remover um hub IoT vinculado da instância do DPS. Por exemplo, o comando a seguir remove o hub IoT chamado MyExampleHub:

az iot dps linked-hub delete --dps-name MyExampleDps --resource-group MyResourceGroup --linked-hub MyExampleHub

O DPS também oferece suporte à exclusão de Hubs IoT vinculados da instância do DPS usando a API REST de recursos do DPS Criar ou Atualizar, os modelos do Gerenciador de Recursos e os SDKs de Gerenciamento do DPS.

Chaves de atualização para hubs IoT vinculados

Pode ser necessário girar ou atualizar as chaves simétricas de um hub IoT que tenha sido vinculado ao DPS. Nesse caso, você também precisará atualizar a configuração da cadeia de conexão no DPS para o hub IoT vinculado. Observe que o provisionamento para um hub IoT falhará durante o período entre a atualização de uma chave no hub IoT e a atualização da instância do DPS com a nova cadeia de conexões baseada nessa chave. Por esse motivo, recomendamos usar a CLI do Azuer para atualizar suas chaves , pois você pode atualizar a cadeia de caracteres de conexão no hub vinculado diretamente. Com o portal do Azure, você precisa excluir o hub IoT da sua instância DPS e, em seguida, vinculá-lo novamente para atualizar a cadeia de conexão.

Usar o portal do Azure para atualizar chaves

Não é possível atualizar a configuração da cadeia de conexão para um Hub IoT vinculado ao usar o portal do Azure. Em vez disso, você precisa excluir o hub IoT vinculado da sua instância DPS e, em seguida, adicioná-lo novamente.

Para atualizar chaves simétricas para um hub IoT vinculado no portal do Azure:

  1. No menu esquerdo da sua instância do DPS no portal do Azure, selecione o hub IoT para o qual você deseja atualizar a(s) chave(s).

  2. Na página Detalhes do hub IoT vinculado, anote os valores para Peso de alocação e Aplicar política de alocação, você precisará desses valores quando revincular o hub IoT à sua instância DPS mais tarde. Em seguida, selecione Gerenciar recurso para ir para o hub IoT.

  3. No menu esquerdo do hub IoT, em Configurações de segurança, selecione Políticas de acesso compartilhado.

  4. Em Políticas de acesso compartilhado, em Gerenciar políticas de acesso compartilhado, selecione a política que sua instância do DPS usa para se conectar ao hub IoT vinculado.

  5. Na parte superior da página, selecione Regenerar chave primária, Regenerar chave secundária ou Trocar chaves e confirme a sua escolha quando solicitado.

  6. Navegue de volta para sua instância do DPS.

  7. Siga as etapas em Excluir um hub IoT para excluir o hub IoT da sua instância DPS.

  8. Siga as etapas em Vincular um hub IoT para revincular o hub IoT à sua instância DPS com a nova cadeia de conexão para a política.

  9. Se você precisar restaurar o peso da alocação e aplicar as configurações da política de alocação, siga as etapas em Atualizar um hub IoT vinculado usando os valores salvos na etapa 2.

Usar a CLI do Azure para atualizar chaves

Para atualizar chaves simétricas para um hub IoT vinculado com o Azure CLS:

  1. Use o comando az iot hub policy renew-key para trocar ou regenerar as chaves simétricas para a política de acesso compartilhado no hub IoT. Por exemplo, o comando a seguir renova a chave primária para a política de acesso compartilhado iothubowner em um hub IoT:

    az iot hub policy renew-key --hub-name MyExampleHub --name owner --rk primary
    
  2. Use o comando az iot hub connection-string show para obter a nova cadeia de conexão para a política de acesso compartilhado. Por exemplo, o comando a seguir obtém a cadeia de conexão primária para a política de acesso compartilhado iothubowner para a qual a chave primária foi regenerada no comando anterior:

    az iot hub connection-string show --hub-name MyExampleHub --policy-name owner --key-type primary
    
  3. Use o comando az iot dps linked-hub list para encontrar a posição do hub IoT na coleção de hubs IoT vinculados para sua instância DPS. Por exemplo, o comando a seguir obtém a cadeia de conexão primária para a política de acesso compartilhado do proprietário para a qual a chave primária foi regenerada no comando anterior:

    az iot dps linked-hub list --dos-name MyExampleDps
    

    A saída mostrará a posição do hub IoT vinculado para o qual você deseja atualizar a cadeia de conexão na tabela de hubs IoT vinculados mantidos pela sua instância DPS. Neste caso, é o primeiro hub IoT da lista, MyExampleHub.

    [
    {
        "allocationWeight": null,
        "applyAllocationPolicy": null,
        "connectionString": "HostName=MyExampleHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=****",
        "location": "centralus",
        "name": "MyExampleHub.azure-devices.net"
    },
    {
        "allocationWeight": null,
        "applyAllocationPolicy": null,
        "connectionString": "HostName=MyExampleHub-2.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=****",
        "location": "centralus",
        "name": "NyExampleHub-2.azure-devices.net"
    }
    ]
    
  4. Use o comando az iot dps update para atualizar a cadeia de conexão para o hub IoT vinculado. Use o parâmetro e a posição do hub IoT vinculado na properties.iotHubs[] tabela para direcionar o --set hub IoT. Por exemplo, o comando a seguir atualiza a cadeia de conexão para MyExampleHub retornada primeiro no comando anterior:

    az iot dps update --name MyExampleDps --set properties.iotHubs[0].connectionString="HostName=MyExampleHub-2.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=NewTokenValue"
    

Próximos passos