Utilización del control de accesos a nivel de recurso
Con el control de acceso a nivel de recurso, puede controlar el acceso de usuario y de clave de API para gestionar dispositivos.
Puede utilizar grupos de recursos para especificar los dispositivos en una organización que puede gestionar cada usuario o clave de API.Para obtener más información sobre cómo configurar el control de acceso a nivel de recursos, consulte Configuración del control de acceso a nivel de recurso.
Conceptos del control de acceso a nivel de recurso
Los grupos de dispositivos forman parte de los controles de acceso a nivel de recursos de la IoT herramienta. Puede utilizar la característica de grupos de dispositivos para gestionar el número de dispositivos al que puede acceder el personal según su rol. Antes de implementar los grupos de dispositivos, determine y registre la intención y el ámbito de los grupos de dispositivos para aumentar la eficiencia de su solución.
Puede implementar grupos de dispositivos como parte de su solución de IoT para permitir que un usuario o aplicación acceda a un subconjunto de dispositivos en lugar de a todos los dispositivos asociados con la organización. Para aumentar la eficiencia de los grupos de dispositivos, utilícelos cuando una persona deba tener acceso a muchos dispositivos.
Por ejemplo, una empresa que emplea a un número de ingenieros de campo y personal de operaciones desea implementar una solución de IoT en Reino Unido. La empresa configura un grupo de dispositivos para cada una de las 69 ciudades, 9 grupos de dispositivos para cada región geográfica y un grupo de dispositivos para todo el Reino Unido. Los dispositivos se asignan a estos grupos y los grupos se asignan a los 15 ingenieros de campo y personal de operaciones, algunos de los cuales tienen acceso a más de un grupo. Los usuarios que solo son responsables de uno o dos dispositivos pueden seguir utilizando aplicaciones móviles y arquitecturas empresariales externas a la IoT herramienta, pero que complementan la solución global IoT.
Límites de grupos de recursos para el control de acceso
Los límites de grupos de recursos se imponen para asegurarse de que la característica de control de acceso a nivel de recurso funciona de forma efectiva. Los límites restringen el número de grupos de recursos asignados a un sujeto, el número de dispositivos dentro de los grupos y el número de grupos a los que puede pertenecer un recurso.
Los siguientes parámetros vienen impuestos:
- Se pueden asignar un máximo de 10 grupos de recursos a una clave de API, usuario o pasarela.
- Un grupo de recursos puede tener un máximo de 300 recursos.
- Un recurso puede pertenecer a un máximo de 10 grupos.
Terminología del control de acceso a nivel de recurso
Puede utilizar las siguientes secciones para ayudarle a entender la terminología utilizada en la característica de control de acceso a nivel de recurso.
Sujetos
Un sujeto es un dispositivo autenticado que solicita acceso a la plataforma, que tiene que recibir autorización. Son válidos los siguientes tipos de sujeto:
- Usuarios: Las personas que utilizan las aplicaciones. Un miembro es un usuario cuya cuenta no tiene fecha de caducidad y un invitado es un usuario cuya cuenta tiene fecha de caducidad.
- Dispositivos : Dispositivos físicos que acceden a la IoT herramienta y utilizan el tipo Dispositivo.
- Gateways : Dispositivos físicos que acceden a la IoT herramienta y utilizan el tipo Gateway.
- Aplicaciones : aplicaciones o servicios que acceden a IoT la herramienta utilizando claves API para la autorización y el control de acceso.
Recursos
Un recurso es un dispositivo sobre el que el sujeto realiza la acción. El sujeto solicita acceso a la plataforma autorizado para el recurso.
Acciones
La acción es lo que el sujeto realiza, que comúnmente es crear, leer, actualizar, suprimir o ejecutar. Las operaciones se utilizan para agrupar acciones en recursos.
Aplicaciones
Una aplicación puede actuar en nombre de un sujeto desconocido para la herramienta, como una aplicación móvil que controla un dispositivo doméstico, y una aplicación puede actuar en nombre de un dispositivo real o simulado conocido o desconocido para la herramienta. Una aplicación también puede ser una aplicación del lado del servidor verdadera que no esté actuando en nombre de otro tipo de dispositivo.
La autenticación la proporciona y el acceso a la IoT herramienta se concede en función de una clave API o un token.
Operaciones
Una operación contiene una o más acciones que se ejecutan en un determinado tipo de recurso utilizando interfaces de usuario e interfaces programáticas, como por ejemplo servicios REST e interfaces MQTT. Son utilizados por diferentes sujetos, como miembros, aplicaciones y dispositivos. Las operaciones se identifican por su ID de operación (OID).
Roles
Los roles son conjuntos de operaciones que se utilizan para proporcionar permisos para utilizar las operaciones. Un sujeto puede tener varios roles y el rol es un atributo de un sujeto.
- Formato de roles
- Matriz de 0..n roles
{ "roles": [ "PD_ADMIN_APP" ] } - Formato de roles a grupos
- Correlación de 0..n < string, list < string> pairs < /string>
Permisos
Los permisos permiten a un sujeto ejecutar operaciones en un recurso o grupo de recursos.
Grupos de recursos
Un grupo de recursos es una colección de dispositivos y recursos. Los dispositivos se pueden añadir a grupos de recursos y los grupos de recursos se pueden asignar a sujetos en pares de roles para grupos. Estas relaciones permiten a los sujetos realizar operaciones para un rol en grupos específicos de dispositivos.
Usuarios
Los usuarios inician sesión en el panel de IoT control de la herramienta utilizando un ID que es miembro de una organización. Los usuarios son roles asignados que les garantizan la autorización para llamar a ciertos conjuntos de API de HTTP. Para obtener más información sobre los roles de usuario, consulte Roles de usuario.
Claves de API
Las claves API son tokens que se utilizan para llamar a las API de IoT la herramienta HTTP. Las claves de API son roles asignados que les garantizan la autorización para llamar a ciertos conjuntos de API de HTTP. Para obtener más información sobre las funciones de las claves API, consulte Funciones de la aplicación.
API donde el control de acceso a nivel de recurso viene impuesto
Cuando el control de acceso a nivel de recurso está habilitado, las siguientes API relacionadas con el dispositivo solo funcionan si el dispositivo especificado está accesible para el interlocutor.
API de dispositivo (individual)
- Listar dispositivos de tipo
- Solo devuelve el subconjunto de dispositivos que pertenece a los grupos adecuados.
- Obtener dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
- Obtener detalles de gestión de dispositivos
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
GET /api/v0002/device/types/${typeId}/devices/${deviceId}/mgmt - Obtener dispositivos registrados por una pasarela
- Devuelve un error 404 si la pasarela no está accesible para el interlocutor. Solo devuelve el subconjunto de dispositivos que pertenece a los grupos adecuados. Los dispositivos y las pasarelas deben estar en el grupo del interlocutor.
- Actualizar dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
PUT /api/v0002/device/types/${typeId}/devices/${deviceId} - Eliminar dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
DELETE /api/v0002/device/types/${typeId}/devices/${deviceId}
API de dispositivo (masivo)
- Listar dispositivos
- Solo devuelve el subconjunto de dispositivos que pertenece a los grupos adecuados.
GET /api/v0002/bulk/devices - Eliminar dispositivos
- Solo suprime el subconjunto de dispositivos que pertenece a los grupos adecuados. Los dispositivos que no están accesibles se siguen devolviendo con sucesos = true.
DELETE /api/v0002/bulk/devices/remove - Actualizar dispositivos
PUT /api/v0002/bulk/devices/update
API de gestión de dispositivo
- Iniciar solicitud
- Falla si algún dispositivo no está accesible para el interlocutor.
POST /api/v0002/mgmt/requests - Suprimir solicitud
- Falla si algún dispositivo no está accesible para el interlocutor.
DELETE /api/v0002/mgmt/requests/${requestId} - Ver solicitud
GET /api/v0002/mgmt/requests/${requestId}- Listar solicitudes
GET /api/v0002/mgmt/requests- Obtener una solicitud
GET /api/v0002/mgmt/requests/${requestId}- Obtener detalles de dispositivo de solicitud
GET /api/v0002/mgmt/requests/${requestId}/deviceStatus- Obtener detalles de dispositivo de solicitud para un dispositivo
GET /api/v0002/mgmt/requests/${requestId}/deviceStatus/${typeId}/${deviceId}
API de determinación de problemas
- Registros de conexión para un dispositivo
- Devuelve una matriz vacía si el dispositivo no está accesible.
GET /api/v0002/logs/connection - Añadir código de error de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
POST /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/errorCodes - Listar códigos de error de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
GET /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/errorCodes - Borrar códigos de error de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
DELETE /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/errorCodes - Añadir registro de diagnóstico de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
POST /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/logs - Añadir registro de diagnóstico de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
POST /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/logs - Listar anotaciones de diagnóstico de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
GET /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/logs - Listar registro de diagnóstico de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
GET /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/logs - Obtener un registro de diagnóstico de un dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
GET /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/logs/${logId} - Borrar registro de diagnóstico de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
DELETE /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/logs - Borrar registro de diagnóstico de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
DELETE /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/logs - Suprimir un registro de diagnóstico de dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
DELETE /api/v0002/device/types/${typeId}/devices/${deviceId}/diag/logs/${logId}
API de memoria caché del último suceso
- Obtener sucesos para el dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
GET /api/v0002/device/types/${typeId}/devices/${deviceId}/events - Obtener sucesos para el dispositivo
- Devuelve un error 404 si el dispositivo no está accesible para el interlocutor.
GET /api/v0002/device/types/${typeId}/devices/${deviceId}/events/${eventId} - Obtener interfaz lógica para el dispositivo
- Devuelve un error 404 si el dispositivo no está en el grupo del
interlocutor.
GET /api/v0002/device/types/{typeId}/devices/{deviceId}/state/{logicalInterfaceId}