Protección de Azure Digital Twins

En este artículo se explican los procedimientos recomendados de seguridad de Azure Digital Twins. Abarca roles y permisos, identidad administrada, acceso a la red privada con Azure Private Link, etiquetas de servicio, cifrado de datos en reposo y uso compartido de recursos entre orígenes (CORS).

Por seguridad, Azure Digital Twins permite el control de acceso preciso sobre datos, recursos y acciones específicos en su implementación. Para ello, se usa una estrategia pormenorizada de roles y permisos que se conoce como Control de acceso basado en roles de Azure (RBAC de Azure).

Azure Digital Twins también admite el cifrado de datos en reposo.

Roles y permisos con RBAC de Azure

Azure RBAC se proporciona a Azure Digital Twins mediante la integración con microsoft Entra ID.

Puede usar Azure RBAC para conceder permisos a una entidad de seguridad, que puede ser un usuario, un grupo o una entidad de servicio de aplicación. Microsoft Entra ID autentica la entidad de seguridad y recibe un token de OAuth 2.0 a cambio. Este token se puede usar para autorizar una solicitud de acceso a una instancia de Azure Digital Twins.

Autenticación y autorización

Con el identificador de Entra de Microsoft, el acceso es un proceso de dos pasos. Cuando una entidad de seguridad (un usuario, un grupo o una aplicación) intenta acceder a Azure Digital Twins, la solicitud se debe autenticar y autorizar.

  1. En primer lugar, se autentica la identidad de la entidad de seguridad y se devuelve un token de OAuth 2.0.
  2. Luego, el token se pasa como parte de una solicitud al servicio Azure Digital Twins para autorizar el acceso al recurso especificado.

El paso de autenticación exige que cualquier solicitud de aplicación contenga un token de acceso de OAuth 2.0 en tiempo de ejecución. Si una aplicación se ejecuta dentro de una entidad de Azure, como una aplicación de Azure Functions, puede usar una identidad administrada para acceder a los recursos. Para obtener más información sobre las identidades administradas, consulte la siguiente sección.

El paso de autorización requiere que se asigne un rol de Azure a la entidad de seguridad. Los roles que se asignan a una entidad de seguridad determinan los permisos que tiene esa entidad de seguridad. Azure Digital Twins proporciona roles de Azure que abarcan conjuntos de permisos para los recursos de Azure Digital Twins. Estos roles se describen más adelante en este artículo.

Para más información sobre los roles y las asignaciones de roles que se admiten en Azure, consulte la Descripción de los distintos roles en la documentación de RBAC de Azure.

Autenticación con identidades administradas

Identidades administradas para recursos de Azure es una característica de Azure que permite crear una identidad segura asociada con la implementación en la que se ejecuta el código de la aplicación. A continuación, puede asociar esa identidad con los roles de control de acceso para conceder permisos personalizados de acceso a recursos específicos de Azure que la aplicación necesita.

Con las identidades administradas, la plataforma Azure administra esta identidad en tiempo de ejecución. No es necesario almacenar y proteger las claves de acceso en la configuración o el código de la aplicación, ya sea para la propia identidad o para los recursos a los que necesita acceder. Una aplicación cliente de Azure Digital Twins que se ejecuta dentro de una aplicación de Azure App Service no necesita controlar las reglas ni las claves SAS, o cualquier otro token de acceso. La aplicación cliente solo necesita la dirección del punto de conexión del espacio de nombres de Azure Digital Twins. Cuando se conecta la aplicación, Azure Digital Twins enlaza el contexto de la entidad administrada con el cliente. Una vez creada la asociación con una identidad administrada, el cliente de Azure Digital Twins puede realizar todas las operaciones autorizadas. Para conceder la autorización, se asociará una entidad administrada con un rol de Azure Digital Twins (los roles se describen a continuación).

Autorización: roles de Azure para Azure Digital Twins

Azure proporciona dos roles integrados de Azure para autorizar el acceso a las API del plano de datos de Azure Digital Twins. Puede hacer referencia a los roles por nombre o por identificador:

Rol integrado Descripción ID
Propietario de datos de Azure Digital Twins Proporciona acceso completo a los recursos de Azure Digital Twins. bcd981a7-7f74-457b-83e1-cceb9e632ffe
Lector de datos de Azure Digital Twins Proporciona acceso de solo lectura a los recursos de Azure Digital Twins. d57506d4-4c8d-48b1-8587-93c323f6a5a3

Puede asignar roles de dos maneras:

Para obtener pasos detallados sobre cómo asignar roles a una instancia de Azure Digital Twins, consulte Configuración de una instancia y autenticación. Para más información sobre cómo se definen los roles integrados, consulte Descripción de definiciones de roles en la documentación de RBAC de Azure.

También puede crear roles de Azure personalizados para la instancia. Esto le permite conceder permiso para acciones específicas en áreas de datos individuales, incluidos gemelos, comandos, relaciones, rutas de eventos, trabajos, modelos y consultas. Para más información sobre los roles personalizados en Azure, consulte Roles personalizados de Azure.

Automatización de roles

Al hacer referencia a los roles en escenarios automatizados, se recomienda hacer referencia a ellos por sus identificadores en lugar de sus nombres. Los nombres pueden cambiar entre versiones, pero los Id. no, lo que los convierte en una referencia más estable en la automatización.

Sugerencia

Si se asignan roles con un cmdlet, como New-AzRoleAssignment (referencia), puede usar el parámetro -RoleDefinitionId en lugar de -RoleDefinitionName para pasar un identificador en lugar de un nombre para el rol.

Ámbitos de permiso

Antes de asignar un rol de Azure a una entidad de seguridad, determine el ámbito de acceso que debería tener la entidad de seguridad. Los procedimientos recomendados dictan que siempre es mejor conceder únicamente el ámbito más restringido posible.

En la lista siguiente se describen los niveles en los que puede definir el ámbito de acceso a recursos de Azure Digital Twins.

  • Modelos: las acciones de este recurso dictan el control sobre los modelos cargados en Azure Digital Twins.
  • Consulta de Digital Twins Graph: las acciones de este recurso determinan la capacidad de ejecutar operaciones de consulta en gemelos digitales dentro del grafo de Azure Digital Twins.
  • Digital Twin: las acciones de este recurso proporcionan control sobre las operaciones CRUD en gemelos digitales en el grafo de gemelos .
  • Relación de Gemelo digital: las acciones de este recurso definen el control sobre las operaciones CRUD en las relaciones entre gemelos digitales en el grafo de gemelos.
  • Ruta de eventos: las acciones de este recurso determinan los permisos para dirigir eventos de Azure Digital Twins a un servicio de punto de conexión como Event Hubs, Event Grid o Service Bus.

Solución de problemas de permisos

Si un usuario intenta realizar una acción no permitida por su rol, es posible que reciba el siguiente error de la solicitud de servicio: 403 (Forbidden). Para obtener más información y pasos de solución de problemas, consulte Solución de problemas de una solicitud de servicio que ha generado error en Azure Digital Twins: Error 403 (Prohibido).

Identidad administrada para acceder a otros recursos

La configuración de una identidad administrada de Microsoft Entra IDpara una instancia de Azure Digital Twins puede permitir que la instancia acceda fácilmente a otros recursos protegidos de Microsoft Entra, como Azure Key Vault. La plataforma Azure administra la identidad y no es necesario que lleve a cabo el aprovisionamiento ni la rotación de los secretos. Para más información sobre las identidades administradas en Microsoft Entra ID, consulte Identidades administradas para recursos de Azure.

Azure Digital Twins admite ambos tipos de identidades administradas, tanto las asignadas por el sistema como las asignadas por el usuario.

Puede usar cualquiera de estos tipos de identidad administrada para autenticarse en un punto de conexión definido de forma personalizada. Azure Digital Twins admite la autenticación basada en identidades en los puntos de conexión de destinos de Event Hubs y Service Bus, y en un punto de conexión de Azure Storage Container para los eventos fallidos. Actualmente, los puntos de conexión de Event Grid no se admiten para las identidades administradas.

Para obtener instrucciones sobre cómo habilitar una identidad administrada para un punto de conexión de Azure Digital Twins que se puede usar para enrutar eventos, consulte Opciones de punto de conexión: Autenticación basada en identidades.

Uso del servicio de Microsoft de confianza para enrutar eventos a Event Hubs y puntos de conexión de Service Bus

Azure Digital Twins puede conectarse a los puntos de conexión de Event Hubs y Service Bus para enviar datos de eventos mediante los puntos de conexión públicos de esos recursos. Sin embargo, si esos recursos están enlazados a una red virtual, la conectividad a los recursos se bloquea de forma predeterminada. Como resultado, esta configuración impide que Azure Digital Twins envíe datos de eventos a los recursos.

Para resolverlo, habilite la conectividad desde la instancia de Azure Digital Twins a los recursos de Event Hubs o Service Bus a través de la opción de servicio de Microsoft de confianza (consulte Trusted servicios Microsoft for Event Hubs and Trusted servicios Microsoft for Service Bus).

Deberá completar los pasos siguientes para habilitar la conexión de servicio de Microsoft de confianza.

  1. La instancia de Azure Digital Twins debe usar una identidad administrada asignada por el sistema. Esto permite que otros servicios encuentren la instancia como un servicio de Microsoft de confianza. Para obtener instrucciones para configurar una identidad administrada por el sistema en la instancia, consulte Habilitación de la identidad administrada para la instancia.
  2. Una vez que se aprovisiona una identidad administrada asignada por el sistema, conceda permiso para que la identidad administrada de la instancia acceda al punto de conexión de Event Hubs o Service Bus (esta característica no se admite en Event Grid). Para obtener instrucciones para asignar los roles adecuados, consulte Asignación de roles de Azure a la identidad.
  3. En el caso de los puntos de conexión de Event Hubs y Service Bus que tienen configuraciones de firewall en vigor, asegúrese de habilitar la opción Permitir que el servicios Microsoft de confianza omita esta configuración de firewall.

Azure Private Link es un servicio que le permite acceder a recursos de Azure (como Azure Event Hubs, Azure Storage y Azure Cosmos DB) y a los servicios de asociados o clientes hospedados por Azure mediante un punto de conexión privado en la instancia de Azure Virtual Network (VNet).

Del mismo modo, puede usar puntos de conexión de acceso privado para la instancia de Azure Digital Twins para permitir que los clientes ubicados en la red virtual tengan acceso seguro a la API REST a la instancia a través de Private Link. La configuración de un punto de conexión de acceso privado para la instancia de Azure Digital Twins le permite proteger la instancia de Azure Digital Twins y eliminar la exposición pública. Además, ayuda a evitar la filtración de datos desde Azure Virtual Network (VNet).

El punto de conexión de acceso privado usa una dirección IP desde el espacio de direcciones de la red virtual de Azure. El tráfico de red entre un cliente en la red privada y la instancia de Azure Digital Twins atraviesa la red virtual y un servicio Private Link en la red troncal de Microsoft, lo que elimina la exposición a la red pública de Internet. Esta es una representación visual del 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.

La configuración de un punto de conexión de acceso privado para la instancia de Azure Digital Twins permite proteger la instancia de Azure Digital Twins y eliminar la exposición pública, así como evitar la filtración de datos de la red virtual.

Para obtener instrucciones sobre cómo configurar Private Link para Azure Digital Twins, consulte Habilitación del acceso privado con Private Link.

Nota:

El acceso a la red privada con Azure Private Link se aplica al acceso a Azure Digital Twins a través de sus API rest. Esta característica no se aplica a escenarios de salida mediante la característica de enrutamiento de eventos de Azure Digital Twins.

Consideraciones de diseño

Al trabajar con Private Link para Azure Digital Twins, estos son algunos de los factores que debería tener en cuenta:

Etiquetas de servicio

Una etiqueta de servicio representa un grupo de prefijos de direcciones IP de un servicio de Azure determinado. Microsoft administra los prefijos de direcciones que la etiqueta de servicio incluye y actualiza automáticamente dicha etiqueta a medida que las direcciones cambian, lo que minimiza la complejidad de las actualizaciones frecuentes en las reglas de seguridad de red. Para obtener más información sobre las etiquetas de servicio, vea Etiquetas de red virtuales.

Puede usar etiquetas de servicio para definir controles de acceso de red en grupos de seguridad de red o Azure Firewall, mediante etiquetas de servicio en lugar de direcciones IP específicas al crear reglas de seguridad. Al especificar el nombre de la etiqueta de servicio (en este caso, AzureDigitalTwins) en el campo de origen o destino apropiado de una regla, puede permitir o denegar el tráfico para el servicio correspondiente.

A continuación, se muestran los detalles de la etiqueta de servicio AzureDigitalTwins.

Etiqueta Propósito ¿Se puede usar para tráfico entrante o saliente? ¿Puede ser regional? ¿Se puede usar con Azure Firewall?
AzureDigitalTwins Azure Digital Twins
Nota: Esta etiqueta o las direcciones IP cubiertas por esta etiqueta se pueden usar para restringir el acceso a los puntos de conexión configurados para las rutas de eventos.
Entrada No

Uso de etiquetas de servicio para acceder a puntos de conexión de ruta de eventos

Estos son los pasos para acceder a puntos de conexión de ruta de eventos usando etiquetas de servicio con Azure Digital Twins.

  1. En primer lugar, descargue esta referencia de archivo JSON en la que se muestran los intervalos IP de Azure y las etiquetas de servicio: intervalos IP de Azure y etiquetas de servicio.

  2. Busque los intervalos IP de "AzureDigitalTwins" en el archivo JSON.

  3. Consulte la documentación del recurso externo conectado al punto de conexión (por ejemplo Event Grid, Event Hubs, Service Bus o Azure Storage en busca de los eventos con problemas de entrega) a fin de ver cómo definir filtros IP para ese recurso.

  4. Establezca filtros IP en los recursos externos mediante los intervalos IP del paso 2.

  5. Actualice los intervalos IP periódicamente según sea necesario. Los rangos pueden cambiar con el tiempo, por lo que es aconsejable comprobarlos periódicamente y actualizarlos cuando sea necesario. Aunque la frecuencia de estas actualizaciones puede variar, es una buena idea comprobarlos una vez por semana.

Cifrado de datos en reposo

Azure Digital Twins permite el cifrado de los datos en reposo y en tránsito a medida que se escriben en nuestros centros de datos y los descifra automáticamente mientras accede a ellos. Este cifrado se produce mediante una clave de cifrado administrada de Microsoft.

Uso compartido de recursos entre orígenes (CORS)

Azure Digital Twins no admite actualmente el uso compartido de recursos entre orígenes (CORS). Como resultado, si está llamando a una API REST desde una aplicación de explorador, una interfaz de API Management (APIM) o un conector de Power Apps, es posible que vea un error de directiva.

Para resolver este error, puede realizar una de las acciones siguientes:

  • Quite el encabezado CORS Access-Control-Allow-Origin del mensaje. Este encabezado indica si la respuesta se puede compartir.
  • Como alternativa, cree un proxy CORS y solicite la API REST de Azure Digital Twins través de él.

Pasos siguientes