Control de acceso para evitar desastres en Google Cloud IoT Core mediante la política de IAM

Internet of Things (IoT) es una de las tecnologías más utilizadas en la actualidad para establecer la red entre dispositivos físicos. En el caso de Cloud IoT, la tecnología en la nube ha agregado un valor adicional al brindar soporte masivo a la automatización moderna de IoT para hacerla más segura, administrada, escalable, etc. Sin ninguna duda, esta Cloud IoT es ahora la nueva definición de IoT. operaciones masivas, especialmente para acceso y gestión remotos.

En términos de Google Cloud, IoT Core es un servicio totalmente administrado que puede conectarse de forma segura y puede ingerir datos fácilmente de millones de dispositivos en todo el mundo. Esto asegura que no necesita hacer escalado automático, partición de base de datos, aprovisionamiento previo de recursos. Hay más ventajas como:

  1. El administrador de la nube no necesita determinar la ubicación de los dispositivos,
  2. No es necesario replicar la configuración de IoT para cada área; en su lugar, los datos se publicarán en Cloud Pub/Sub y se podrá acceder a ellos fácilmente desde cualquier lugar.
  3. El Administrador de dispositivos permitirá controlar y actualizar el sistema de vez en cuando para mantener la seguridad de los datos.

Google Cloud IoT Core con administración de acceso e identidad 

Registro de conexión del dispositivo a Google Cloud IoT:

El registro de dispositivos para conectarse con IoT Cloud debe registrarse primero en el Administrador de dispositivos . El Administrador de dispositivos ayuda a los usuarios a crear y configurar registros de dispositivos . De acuerdo con las Documentaciones de Google Cloud ( GCP) , el Registro de dispositivos significa “ Un contenedor de dispositivos con propiedades compartidas. Registras un dispositivo con un servicio (como Cloud IoT Core) para que puedas administrarlo” . Puede obtener acceso al administrador de aplicaciones a través de Google Cloud Platform Console, los comandos de Google Cloud Shell o la API de estilo REST.

Registro de dispositivos: 

Como se mencionó anteriormente, Device Registry es un contenedor donde se pueden conectar múltiples dispositivos a través de Cloud IoT core o mediante cualquier servicio de administración en el que podemos elegir los protocolos como HTTP (Hypertext Transfer Protocol) o MQTT (Message Queuing Telemetry Transport) . En el momento en que construimos un Registro de dispositivos, podemos agregar esos protocolos según nuestro requisito de proceder. El registro de dispositivo onlyEach generalmente se crea en una región de nube específica y pertenece al proyecto de nube en curso. Por ejemplo, en el servicio cloudiot.googleapis.com de Google Cloud , el Registro se define como su nombre completo (a continuación)

projects/{project-id}/locations/{cloud-region}/registry-id} 

Por lo tanto, el registro del sistema se puede configurar agregando más temas de Cloud Pub/Sub a los que se liberan eventos de telemetría para todos los dispositivos en ese registro del sistema. Pero en el caso de un solo tema, se puede utilizar para la recopilación de datos en todas las regiones. Para cada registro, la supervisión del controlador de pila se activa automáticamente. 

Gestión de acceso e identidad (IAM) para Cloud IoT Core:

Ahora IAM se usa aquí para monitorear todos los permisos de acceso y permite a los usuarios mostrar, recibir o administrar dispositivos en su totalidad. Para cada proyecto, Cloud IoT Core otorga automáticamente la posición de cloudiot.serviceAgent a la cuenta de servicio correspondiente para permitir la publicación en Pub/Subtopics. 

IAM puede otorgar acceso a nivel de registro sin necesidad de control de acceso individual. La siguiente tabla consta de las funciones de IAM de Google Cloud IoT Core y sus permisos correspondientes.

Tabla de permisos de roles de IAM

Funciones de gestión de identidades y accesos Descripciones permisos 
roles/cloudiot.viewer  Solo lectura
  1. cloudiot.registries.get
  2. cloudiot.registries.list
  3. cloudiot.dispositivos.get
  4. cloudiot.devices.list
roles/cloudiot.deviceController Solo accede para actualizar los requisitos de los dispositivos en el registro pero no para crearlos o eliminarlos.

Todos los comandos anteriores + los siguientes puntos:

  1. cloudiot.devices.updateConfig
  2. cloudiot.devices.sendCommand
roles/cloudiot.provisioner Acceso al registro para crear o eliminar dispositivos del mismo pero no para realizar ningún tipo de modificación.

Todos los comandos anteriores + los siguientes puntos:

  1. cloudiot.dispositivos.create
  2. cloudiot.dispositivos.eliminar
  3. cloudiot.devices.update
roles/cloudiot.editor Acceso de lectura y escritura a todos los recursos de la nube,

Todos los comandos anteriores + los puntos a continuación:

  1. cloudiot.registries.create
  2. cloudiot.registries.delete
  3. cloudiot.registries.update
roles/cloudiot.admin Acceso completo y control de todos los recursos y permisos de Cloud IoT 

Todos los comandos anteriores + los puntos a continuación:

  1. cloudiot.registries.getIamPolicy
  2. cloudiot.registries.setIamPolicy

Tabla de permisos del registro de dispositivos

Nombre del permiso del registro del dispositivo Descripción
cloudiot.registries.create Crea un nuevo registro en un proyecto.
cloudiot.registries.delete Elimina un registro.
cloudiot.registries.get Lee los detalles del registro, excluyendo las ACL.
cloudiot.registries.getIAMPolicy Lee las ACL del registro.
cloudiot.registries.list Enumera los registros en un proyecto.
cloudiot.registries.setIAMPolicy Actualiza las ACL del registro.
cloudiot.registries.update Actualiza los detalles del registro, excluyendo las ACL.
cloudiot.devices.sendCommand Envía los comandos (por registro, no por dispositivo).

Tabla de permisos de dispositivos

Nombre del permiso del dispositivo Descripción
cloudiot.dispositivos.create Agrega un nuevo dispositivo a un registro.
cloudiot.dispositivos.eliminar Elimina un dispositivo.
cloudiot.dispositivos.get Lee los detalles del dispositivo, excluyendo las ACL.
cloudiot.devices.list Enumera los dispositivos en un registro.
cloudiot.devices.update Actualiza los detalles del dispositivo, excluyendo las ACL.
cloudiot.devices.updateConfig Actualiza la configuración del dispositivo.
cloudiot.devices.bindGateway Vincula un dispositivo a una puerta de enlace.
cloudiot.devices.unbindGateway Desvincula un dispositivo de una puerta de enlace.

Fuentes de datos/comandos de tabla: Documentación de Google Cloud

A través de los módulos de permisos anteriores, puede configurar todos sus privilegios de nivel inicial para acceder al almacenamiento de los datos de la señal del sensor de IoT recibida y luego al nivel avanzado de acceso remoto para administrar y proteger su base de datos de Cloud IoT Core desde cualquier lugar, incluido el control sobre Google. Big Query, BI Solutions, Google Machine Learning, etc. Y esta es la forma en que puede administrar y controlar Google Cloud IoT Core con la ayuda de Identity and Access Management (IAM) para cualquier tipo de evaluación de riesgos de seguridad o para evitar desastres. 

Referencias: 

Publicación traducida automáticamente

Artículo escrito por rajdeep_das y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *