Proteger os Gêmeos Digitais do Azure

Este artigo explica as práticas recomendadas de segurança do Azure Digital Twins. Ele abrange funções e permissões, identidade gerenciada, acesso à rede privada com o Azure Private Link, tags de serviço, criptografia de dados em repouso e CORS (Cross-Origin Resource Sharing).

Por segurança, os Gêmeos Digitais do Azure permitem o controle de acesso preciso sobre dados, recursos e ações específicos em sua implantação. Ele faz isso por meio de uma estratégia granular de gerenciamento de permissões e funções chamada controle de acesso baseado em função do Azure (Azure RBAC).

Os Gêmeos Digitais do Azure também dão suporte à criptografia de dados em repouso.

Funções e permissões com o Azure RBAC

O RBAC do Azure é fornecido aos Gêmeos Digitais do Azure por meio da integração com o Microsoft Entra ID.

Você pode usar o RBAC do Azure para conceder permissões a uma entidade de segurança, que pode ser um usuário, um grupo ou uma entidade de serviço de aplicativo. A entidade de segurança é autenticada pelo Microsoft Entra ID e recebe um token OAuth 2.0 em troca. Esse token pode ser usado para autorizar uma solicitação de acesso a uma instância do Azure Digital Twins.

Autenticação e autorização

Com o Microsoft Entra ID, o acesso é um processo de duas etapas. Quando uma entidade de segurança (um usuário, grupo ou aplicativo) tenta acessar os Gêmeos Digitais do Azure, a solicitação deve ser autenticada e autorizada.

  1. Primeiro, a identidade da entidade de segurança é autenticada e um token OAuth 2.0 é retornado.
  2. Em seguida, o token é passado como parte de uma solicitação para o serviço Gêmeos Digitais do Azure, para autorizar o acesso ao recurso especificado.

A etapa de autenticação requer que qualquer solicitação de aplicativo contenha um token de acesso OAuth 2.0 em tempo de execução. Se um aplicativo estiver sendo executado em uma entidade do Azure, como um aplicativo do Azure Functions , ele poderá usar uma identidade gerenciada para acessar os recursos. Leia mais sobre identidades gerenciadas na próxima seção.

A etapa de autorização requer que uma função do Azure seja atribuída à entidade de segurança. As funções atribuídas a uma entidade de segurança determinam as permissões que a entidade de segurança terá. O Azure Digital Twins fornece funções do Azure que englobam conjuntos de permissões para recursos do Azure Digital Twins. Essas funções são descritas mais adiante neste artigo.

Para saber mais sobre funções e atribuições de função suportadas no Azure, consulte Compreender as diferentes funções na documentação do RBAC do Azure.

Autenticação com identidades geridas

Identidades gerenciadas para recursos do Azure é um recurso entre Azure que permite criar uma identidade segura associada à implantação em que o código do aplicativo é executado. Em seguida, você pode associar essa identidade a funções de controle de acesso para conceder permissões personalizadas para acessar recursos específicos do Azure de que seu aplicativo precisa.

Com identidades gerenciadas, a plataforma Azure gerencia essa identidade de tempo de execução. Você não precisa armazenar e proteger chaves de acesso no código ou na configuração do aplicativo, seja para a identidade em si ou para os recursos que você precisa acessar. Um aplicativo cliente do Azure Digital Twins em execução dentro de um aplicativo do Serviço de Aplicativo do Azure não precisa lidar com regras e chaves SAS ou quaisquer outros tokens de acesso. O aplicativo cliente só precisa do endereço de ponto de extremidade do namespace Gêmeos Digitais do Azure. Quando o aplicativo se conecta, o Azure Digital Twins vincula o contexto da entidade gerenciada ao cliente. Depois de associado a uma identidade gerenciada, seu cliente do Azure Digital Twins pode fazer todas as operações autorizadas. A autorização será concedida associando uma entidade gerenciada a uma função do Azure Digital Twins Azure (descrita abaixo).

Autorização: funções do Azure para Gêmeos Digitais do Azure

O Azure fornece duas funções internas do Azure para autorizar o acesso às APIs do plano de dados do Azure Digital Twins. Você pode se referir às funções pelo nome ou pela ID:

Função incorporada Description ID
Proprietário de dados do Azure Digital Twins Dá acesso total aos recursos do Azure Digital Twins bcd981a7-7f74-457b-83e1-cceb9e632ffe
Azure Digital Twins Data Reader Dá acesso somente leitura aos recursos do Azure Digital Twins d57506d4-4c8d-48b1-8587-93c323f6a5a3

Você pode atribuir funções de duas maneiras:

  • Por meio do painel de controle de acesso (IAM) para Gêmeos Digitais do Azure no portal do Azure (consulte Atribuir funções do Azure usando o portal do Azure)
  • Através de comandos da CLI para adicionar ou remover uma função

Para obter etapas detalhadas sobre como atribuir funções a uma instância do Azure Digital Twins, consulte Configurar uma instância e autenticação. Para obter mais informações sobre como as funções internas são definidas, consulte Compreender as definições de função na documentação do RBAC do Azure.

Você também pode criar funções personalizadas do Azure para sua instância. Isso permite que você conceda permissão para ações específicas em áreas de dados individuais, incluindo gêmeos, comandos, relacionamentos, rotas de eventos, trabalhos, modelos e consultas. Para obter mais informações sobre funções personalizadas no Azure, consulte Funções personalizadas do Azure.

Automatização de funções

Ao se referir a funções em cenários automatizados, é recomendável fazer referência a elas por seus IDs em vez de seus nomes. Os nomes podem mudar entre versões, mas os IDs não, tornando-os uma referência mais estável na automação.

Gorjeta

Se você estiver atribuindo funções com um cmdlet, como New-AzRoleAssignment (referência), poderá usar o -RoleDefinitionId parâmetro em vez de passar uma ID em vez de -RoleDefinitionName um nome para a função.

Âmbitos de permissões

Antes de atribuir uma função do Azure a uma entidade de segurança, determine o escopo de acesso que a entidade de segurança deve ter. As melhores práticas ditam que é melhor conceder apenas o âmbito mais restrito possível.

A lista a seguir descreve os níveis nos quais você pode definir o escopo de acesso aos recursos do Azure Digital Twins.

  • Modelos: as ações para este recurso ditam o controle sobre os modelos carregados nos Gêmeos Digitais do Azure.
  • Gráfico de Gêmeos Digitais de Consulta: as ações para este recurso determinam a capacidade de executar operações de consulta em gêmeos digitais no gráfico de Gêmeos Digitais do Azure.
  • Digital Twin: As ações para este recurso fornecem controle sobre as operações CRUD em gêmeos digitais no gráfico de gêmeos .
  • Relacionamento de gêmeos digitais: As ações para este recurso definem o controle sobre as operações CRUD nas relações entre gêmeos digitais no gráfico de gêmeos.
  • Rota de eventos: as ações para este recurso determinam permissões para rotear eventos dos Gêmeos Digitais do Azure para um serviço de ponto de extremidade, como Hubs de Eventos, Grade de Eventos ou Barramento de Serviço.

Resolver problemas de permissões

Se um usuário tentar executar uma ação não permitida por sua função, ele pode receber um erro da leitura 403 (Forbidden)da solicitação de serviço . Para obter mais informações e etapas de solução de problemas, consulte Solucionar problemas de solicitação de serviço com falha do Azure Digital Twins: Erro 403 (Proibido).

Identidade gerenciada para acessar outros recursos

Configurar uma identidade gerenciada do Microsoft Entra IDpara uma instância do Azure Digital Twins pode permitir que a instância acesse facilmente outros recursos protegidos pelo Microsoft Entra, como o Azure Key Vault. A identidade é gerenciada pela plataforma Azure e não exige que você provisione ou alterne nenhum segredo. Para obter mais informações sobre identidades gerenciadas no Microsoft Entra ID, consulte Identidades gerenciadas para recursos do Azure.

O Azure Digital Twins suporta ambos os tipos de identidades geridas, atribuídas pelo sistema e atribuídas pelo utilizador.

Você pode usar qualquer um desses tipos de identidade gerenciada para autenticar em um ponto de extremidade personalizado. O Azure Digital Twins dá suporte à autenticação baseada em identidade para pontos de extremidade para destinos de Hubs de Eventos e Barramento de Serviço e para um ponto de extremidade de Contêiner de Armazenamento do Azure para eventos deletra morta. Atualmente, não há suporte para pontos de extremidade de Grade de Eventos para identidades gerenciadas.

Para obter instruções sobre como habilitar uma identidade gerenciada para um ponto de extremidade do Azure Digital Twins que pode ser usado para rotear eventos, consulte Opções de ponto de extremidade: autenticação baseada em identidade.

Usando o serviço confiável da Microsoft para rotear eventos para Hubs de Eventos e pontos de extremidade do Service Bus

Os Gêmeos Digitais do Azure podem se conectar a Hubs de Eventos e pontos de extremidade do Service Bus para enviar dados de eventos, usando os pontos de extremidade públicos desses recursos. No entanto, se esses recursos estiverem vinculados a uma rede virtual, a conectividade com os recursos será bloqueada por padrão. Como resultado, essa configuração impede que os Gêmeos Digitais do Azure enviem dados de eventos para seus recursos.

Para resolver isso, habilite a conectividade de sua instância do Azure Digital Twins para seus Hubs de Eventos ou recursos do Service Bus por meio da opção de serviço confiável da Microsoft (consulte Serviços confiáveis da Microsoft para Hubs de Eventos e Serviços confiáveis da Microsoft para Service Bus).

Você precisará concluir as etapas a seguir para habilitar a conexão de serviço confiável da Microsoft.

  1. Sua instância do Azure Digital Twins deve usar uma identidade gerenciada atribuída ao sistema. Isso permite que outros serviços encontrem sua instância como um serviço confiável da Microsoft. Para obter instruções sobre como configurar uma identidade gerenciada pelo sistema na instância, consulte Habilitar identidade gerenciada para a instância.
  2. Depois que uma identidade gerenciada atribuída ao sistema for provisionada, conceda permissão para a identidade gerenciada da sua instância acessar seus Hubs de Eventos ou ponto de extremidade do Service Bus (esse recurso não é suportado na Grade de Eventos). Para obter instruções sobre como atribuir as funções adequadas, consulte Atribuir funções do Azure à identidade.
  3. Para Hubs de Eventos e pontos de extremidade do Service Bus com configurações de firewall em vigor, certifique-se de habilitar a configuração Permitir que serviços confiáveis da Microsoft ignorem esse firewall .

O Azure Private Link é um serviço que permite acessar recursos do Azure (como Hubs de Eventos do Azure, Armazenamento do Azure e Azure Cosmos DB) e serviços de clientes e parceiros hospedados pelo Azure em um ponto de extremidade privado em sua Rede Virtual do Azure (VNet).

Da mesma forma, você pode usar pontos de extremidade de acesso privado para sua instância do Azure Digital Twins para permitir que os clientes localizados em sua rede virtual tenham acesso seguro à API REST à instância por Link Privado. Configurar um ponto de extremidade de acesso privado para sua instância do Azure Digital Twins permite que você proteja sua instância do Azure Digital Twins e elimine a exposição pública. Além disso, ajuda a evitar a exfiltração de dados da sua Rede Virtual do Azure (VNet).

O ponto de extremidade de acesso privado usa um endereço IP do seu espaço de endereço VNet do Azure. O tráfego de rede entre um cliente na sua rede privada e a instância dos Gêmeos Digitais do Azure atravessa a VNet e um Link Privado na rede de backbone da Microsoft, eliminando a exposição à Internet pública. Aqui está uma representação visual deste sistema:

Diagram showing a network that is a protected VNET with no public cloud access, connecting through Private Link to an Azure Digital Twins instance.

Configurar um ponto de extremidade de acesso privado para sua instância do Azure Digital Twins permite que você proteja sua instância do Azure Digital Twins e elimine a exposição pública, além de evitar a exfiltração de dados de sua rede virtual.

Para obter instruções sobre como configurar o Private Link para Gêmeos Digitais do Azure, consulte Habilitar acesso privado com Link Privado.

Nota

O acesso à rede privada com o Azure Private Link aplica-se ao acesso aos Gêmeos Digitais do Azure por meio de suas APIs restantes. Esse recurso não se aplica a cenários de saída usando o recurso de roteamento de eventos do Azure Digital Twins.

Considerações de design

Ao trabalhar com o Private Link para Gêmeos Digitais do Azure, aqui estão alguns fatores que você pode querer considerar:

  • Preços: para obter detalhes de preços, consulte Preços do Link Privado do Azure.
  • Disponibilidade regional: o Link Privado para Gêmeos Digitais do Azure está disponível em todas as regiões do Azure onde os Gêmeos Digitais do Azure estão disponíveis.
  • Azure Digital Twins Explorer: O Azure Digital Twins Explorer não pode acessar instâncias do Azure Digital Twins que têm o acesso público desabilitado. No entanto, você pode usar as funções do Azure para implantar a base de código do Azure Digital Twins Explorer de forma privada na nuvem. Para obter instruções sobre como fazer isso, consulte Azure Digital Twins Explorer: Running in the cloud.
  • Número máximo de pontos de extremidade privados por instância do Azure Digital Twins: 10
  • Outros limites: Para obter mais informações sobre os limites do Link Privado, consulte a documentação do Link Privado do Azure: Limitações.

Etiquetas de serviço

Uma marca de serviço representa um grupo de prefixos de endereço IP de um determinado serviço do Azure. A Microsoft gerencia os prefixos de endereço incluídos pela etiqueta de serviço e atualiza automaticamente a etiqueta de serviço à medida que os endereços mudam, minimizando a complexidade das atualizações frequentes das regras de segurança de rede. Para obter mais informações sobre tags de serviço, consulte Marcas de rede virtual.

Você pode usar marcas de serviço para definir controles de acesso à rede em grupos de segurança de rede ou no Firewall do Azure, usando marcas de serviço no lugar de endereços IP específicos ao criar regras de segurança. Ao especificar o nome da marca de serviço (neste caso, AzureDigitalTwins) no campo de origem ou destino apropriado de uma regra, você pode permitir ou negar o tráfego para o serviço correspondente.

Abaixo estão os detalhes da marca de serviço AzureDigitalTwins.

Etiqueta Objetivo Pode usar inbound ou outbound? Pode ser regional? Pode usar com o Firewall do Azure?
AzureDigitalTwins Azure Digital Twins
Nota: Esta tag ou os endereços IP cobertos por ela podem ser usados para restringir o acesso a pontos de extremidade configurados para rotas de eventos.
Interna Não Sim

Usando tags de serviço para acessar pontos de extremidade de rota de eventos

Aqui estão as etapas para acessar pontos de extremidade de rota de evento usando marcas de serviço com o Azure Digital Twins.

  1. Primeiro, baixe esta referência de arquivo JSON mostrando intervalos de IP do Azure e tags de serviço: Intervalos de IP do Azure e Tags de Serviço.

  2. Procure intervalos de IP "AzureDigitalTwins" no arquivo JSON.

  3. Consulte a documentação do recurso externo conectado ao ponto de extremidade (por exemplo, a Grade de Eventos, Hubs de Eventos, Barramento de Serviço ou Armazenamento do Azure para eventos de letra morta) para ver como definir filtros IP para esse recurso.

  4. Defina filtros IP no(s) recurso(s) externo(s) usando os intervalos de IP da Etapa 2.

  5. Atualize os intervalos de IP periodicamente, conforme necessário. Os intervalos podem mudar ao longo do tempo, por isso é uma boa ideia verificá-los regularmente e atualizá-los quando necessário. A frequência dessas atualizações pode variar, mas é uma boa ideia verificá-las uma vez por semana.

Encriptação de dados inativos

Os Gêmeos Digitais do Azure fornecem criptografia de dados em repouso e em trânsito conforme são escritos em nossos data centers e os descriptografam para você ao acessá-los. Essa criptografia ocorre usando uma chave de criptografia gerenciada pela Microsoft.

Partilha de Recursos Transversais à Origem (CORS)

Atualmente, o Azure Digital Twins não suporta CORS (Cross-Origin Resource Sharing). Como resultado, se você estiver chamando uma API REST de um aplicativo de navegador, uma interface de Gerenciamento de API (APIM) ou um conector do Power Apps, poderá ver um erro de política.

Para resolver esse erro, você pode executar uma das seguintes ações:

  • Remova o cabeçalho Access-Control-Allow-Origin CORS da mensagem. Esse cabeçalho indica se a resposta pode ser compartilhada.
  • Como alternativa, crie um proxy CORS e faça a solicitação da API REST do Azure Digital Twins por meio dele.

Próximos passos