Creación de una política de reproducción de vídeo de AWS IoT TwinMaker - AWS IoT TwinMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de una política de reproducción de vídeo de AWS IoT TwinMaker

La siguiente es una plantilla de política con todos los permisos de vídeo que necesitas para el complemento AWS IoT TwinMaker en Grafana:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketName/*", "arn:aws:s3:::bucketName" ] }, { "Effect": "Allow", "Action": [ "iottwinmaker:Get*", "iottwinmaker:List*" ], "Resource": [ "arn:aws:iottwinmaker:region:accountId:workspace/workspaceId", "arn:aws:iottwinmaker:region:accountId:workspace/workspaceId/*" ] }, { "Effect": "Allow", "Action": "iottwinmaker:ListWorkspaces", "Resource": "*" }, { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetHLSStreamingSessionURL" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iotsitewise:GetAssetPropertyValue", "iotsitewise:GetInterpolatedAssetPropertyValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iotsitewise:BatchPutAssetPropertyValue" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*workspaceId*" } } } ] }

Para obtener más información sobre la política completa, consulte la plantilla de política de todos los permisos de vídeo en el tema Creación de una política de IAM.

Limite el acceso a sus recursos

El panel del reproductor de vídeo de Grafana utiliza directamente Kinesis Video Streams e IoT SiteWise para ofrecer una experiencia de reproducción de vídeo completa. Para evitar el acceso no autorizado a recursos que no están asociados a su espacio de trabajo de AWS IoT TwinMaker, añada condiciones a la política de IAM para su función en el panel de control del espacio de trabajo.

Limite permisos GET

Puede limitar el acceso a su Amazon Kinesis Video Streams y sus activos de AWS IoT SiteWise etiquetando los recursos. Es posible que ya haya etiquetado el activo de su cámara AWS IoT SiteWise con el WorkspaceId AWS IoT TwinMaker para habilitar la función de solicitud de carga de vídeos; consulte el tema Cargar vídeo desde Edge. Puede usar el mismo par clave-valor de etiqueta para limitar el acceso GET a los activos de AWS IoT SiteWise y también para etiquetar sus transmisiones de Kinesis Video Streams de la misma manera.

A continuación, puede añadir esta condición a las instrucciones kinesisvideo e iotsitewise en YourWorkspaceIdDashboardPolicy:

"Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*workspaceId*" } }

Caso de uso real: agrupar cámaras

En este escenario, tiene una gran variedad de cámaras que monitorean el proceso de cocción de las galletas en una fábrica. Los lotes de masa para galletas se hacen en la sala de rebozado, la masa se congela en la sala del congelador y las galletas se hornean en la sala de horneado. Hay cámaras en cada una de estas salas con diferentes equipos de operadores que monitorean cada proceso por separado. Desea que cada grupo de operadores esté autorizado para su sala respectiva. Al construir un gemelo digital para la fábrica de galletas, se utiliza un único espacio de trabajo, pero los permisos de la cámara deben determinarse por habitación.

Puede lograr esta separación de permisos etiquetando grupos de cámaras en función de su ID de agrupación. En este escenario, los ID de agrupación son, y. BatterRoom FreezerRoom BakingRoom La cámara de cada habitación está conectada a Kinesis Video Streams y debe tener una etiqueta con: Key = EdgeConnectorForKVS, Value = BatterRoom. El valor puede ser una lista de agrupamientos delimitados por cualquiera de los siguientes caracteres:. : + = @ _ / -

Para modificar el YourWorkspaceIdDashboardPolicy, utilice las siguientes declaraciones de política:

..., { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetHLSStreamingSessionURL" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*groupingId*" } } }, { "Effect": "Allow", "Action": [ "iotsitewise:GetAssetPropertyValue", "iotsitewise:GetInterpolatedAssetPropertyValues" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*groupingId*" } } }, ...

Estas declaraciones restringen la reproducción de vídeo en streaming y el acceso al historial de propiedades de AWS IoT SiteWise a recursos específicos de una agrupación. groupingId está definido por su caso de uso. En nuestro escenario, sería el RoomId.

Reduzca el alcance del permiso AWS IoT SiteWise BatchPutAssetPropertyValue

Al proporcionar este permiso, se activa la función de solicitud de carga de vídeos en el reproductor de vídeo. Cuando suba un vídeo, puede especificar un intervalo de tiempo y enviar la solicitud seleccionando Enviar en el panel del panel de control de Grafana.

Para conceder BatchPutAssetPropertyValue permisos a iotsitewise:, usa la política predeterminada:

..., { "Effect": "Allow", "Action": [ "iotsitewise:BatchPutAssetPropertyValue" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*workspaceId*" } } }, ...

Al usar esta política, los usuarios pueden BatchPutAssetPropertyValue solicitar cualquier propiedad del AWS IoT SiteWise recurso de cámara. Puede restringir la autorización de un propertyId específico especificándolo en la condición de la declaración.

{ ... "Condition": { "StringEquals": { "iotsitewise:propertyId": "propertyId" } } ... }

El panel Reproductor de vídeo de Grafana ingiere los datos en la propiedad de medición, denominada VideoUploadRequest, para iniciar la carga del vídeo desde la memoria caché perimetral a Kinesis Video Streams. Busque el propertyId de esta propiedad en la consola de AWS IoT SiteWise. Para modificar YourWorkspaceIdDashboardPolicy, utilice las siguientes declaraciones de política:

..., { "Effect": "Allow", "Action": [ "iotsitewise:BatchPutAssetPropertyValue" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*workspaceId*" }, "StringEquals": { "iotsitewise:propertyId": "VideoUploadRequestPropertyId" } } }, ...

Esta declaración restringe la ingesta de datos a una propiedad específica del recurso de cámara AWS IoT SiteWise etiquetado. Para obtener más información, consulte Cómo funciona AWS IoT SiteWise con IAM.