Como criar uma política de reprodutor de vídeo AWS IoT TwinMaker - AWS IoT TwinMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como criar uma política de reprodutor de vídeo AWS IoT TwinMaker

A seguir está um modelo de política com todas as permissões de vídeo necessárias para o complemento AWS IoT TwinMaker do 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 obter mais informações sobre a política completa, consulte o modelo de política de permissões para todos os vídeos no tópico Criar uma política do IAM.

Diminua o acesso aos seus recursos

O painel Video Player no Grafana chama diretamente o Kinesis Video Streams e o SiteWise IoT para fornecer uma experiência completa de reprodução de vídeo. Para evitar o acesso não autorizado a recursos que não estão associados ao seu espaço de trabalho AWS IoT TwinMaker, adicione condições à política do IAM para sua função no painel do espaço de trabalho.

Diminua o escopo das permissões GET

Você pode reduzir o acesso aos seus Amazon Kinesis Video Streams e ativos AWS IoT SiteWise marcando recursos. Talvez você já tenha marcado seu recurso de câmera AWS IoT SiteWise com base no WorkspaceID AWS IoT TwinMaker para ativar o recurso de solicitação de upload de vídeo. Consulte o tópico Carregar vídeo do Edge. Você pode usar o mesmo par de valores-chave de tag para limitar o acesso GET a ativos AWS IoT SiteWise e também para marcar seus Kinesis Video Streams da mesma maneira.

Em seguida, você pode adicionar essa condição às declarações kinesisvideo e iotsitewise em YourWorkspaceIdDashboardPolicy:

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

Caso de uso na vida real: agrupamento de câmeras

Neste cenário, você tem uma grande variedade de câmeras monitorando o processo de assar cookies em uma fábrica. Lotes de massa de cookie são feitos na sala de massa, a massa é congelada na sala do freezer e os cookies são assados na sala de cozimento. Há câmeras em cada uma dessas salas com diferentes equipes de operadores monitorando separadamente cada processo. Você quer que cada grupo de operadores seja autorizado para sua respectiva sala. Ao criar um gêmeo digital para a fábrica de cookies, um único espaço de trabalho é usado, mas as permissões da câmera precisam ser definidas por sala.

Você pode conseguir essa separação de permissões marcando grupos de câmeras com base em seu groupingID. Nesse cenário, os GroutingIDs são BatterRoom, e. FreezerRoom BakingRoom A câmera em cada sala está conectada ao Kinesis Video Streams e deve ter uma tag com: chave =EdgeConnectorForKVS, valor = BatterRoom. O valor pode ser uma lista de agrupamentos delimitados por um destes caracteres: . : + = @ _ / -

Para alterar o YourWorkspaceIdDashboardPolicy, use as seguintes declarações 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*" } } }, ...

Essas declarações restringem a reprodução de streaming de vídeo e o acesso AWS IoT SiteWise ao histórico de propriedades a recursos específicos em um agrupamento. O groupingId é definido pelo seu caso de uso. No nosso cenário, seria o RoomID.

AWS IoT SiteWise BatchPutAssetPropertyValue Permissão para reduzir o escopo

Fornecer essa permissão ativa o atributo de solicitação de carregamento de vídeo no reprodutor de vídeo. Ao enviar um vídeo, você pode especificar um intervalo de tempo e enviar a solicitação escolhendo Enviar no painel do painel do Grafana.

Para conceder BatchPutAssetPropertyValue permissões ao iotsitewise:, use a política padrão:

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

Ao usar essa política, os usuários podem BatchPutAssetPropertyValue solicitar qualquer propriedade no ativo da AWS IoT SiteWise câmera. Você pode restringir a autorização para um PropertyID específico especificando-o na condição da declaração.

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

O painel Video Player no Grafana ingere dados na propriedade de medição, chamada VideoUploadRequest, para iniciar o upload do vídeo do cache de borda para o Kinesis Video Streams. Encontre o propertyID dessa propriedade no console do AWS IoT SiteWise. Para alterar o YourWorkspaceIdDashboardPolicy, use a seguinte declaração de política:

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

Essa declaração restringe a ingestão de dados a uma propriedade específica do seu ativo AWS IoT SiteWise de câmera marcado. Para obter mais informações, consulte Como AWS IoT SiteWise funciona com IAM.