View a markdown version of this page

Como criar um perfil do IAM para o painel - 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 um perfil do IAM para o painel

Com AWS IoT TwinMaker, você pode controlar o acesso aos dados em seus painéis do Grafana. Os usuários do painel do Grafana devem ter diferentes escopos de permissão para visualizar dados e, em alguns casos, gravar dados. Por exemplo, um operador de alarme pode não ter permissão para ver vídeos, enquanto um administrador tem permissão para todos os recursos. Grafana define as permissões por meio de datasources, nas quais as credenciais e um perfil do IAM são fornecidos. A AWS IoT TwinMaker fonte de dados busca AWS credenciais com permissões para essa função. Se uma função do IAM não for fornecida, o Grafana usa o escopo das credenciais, que não pode ser reduzido em. AWS IoT TwinMaker

Para usar seus AWS IoT TwinMaker painéis no Grafana, você cria uma função do IAM e anexa políticas. Os modelos a seguir podem ser usados para ajudar a criar essas políticas.

Criar uma política do IAM.

Crie uma política do IAM chamada YourWorkspaceIdDashboardPolicy no console do IAM. Essa política dá aos seus espaços de trabalho acesso ao bucket e aos recursos AWS IoT TwinMaker do Amazon S3. Você também pode decidir usar o AWS IoT Greengrass Edge Connector para Amazon Kinesis Video Streams, que exige permissões para o Kinesis Video Streams e AWS IoT SiteWise ativos configurados para o componente. Para se adequar ao seu caso de uso, escolha um dos modelos de política a seguir.

1. Nenhuma política de permissões de vídeo

Se você não quiser usar o painel do reprodutor de vídeo Grafana, crie a política usando o modelo a seguir.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Effect": "Allow", "Action": [ "iottwinmaker:Get*", "iottwinmaker:List*" ], "Resource": [ "arn:aws:iottwinmaker:us-east-1:111122223333:workspace/workspaceId", "arn:aws:iottwinmaker:us-east-1:111122223333:workspace/workspaceId/*" ] }, { "Effect": "Allow", "Action": "iottwinmaker:ListWorkspaces", "Resource": "*" } ] }

Um bucket do Amazon S3 é criado para cada espaço de trabalho. Ele contém os modelos e cenas 3D para visualizar em um painel. O SceneViewer painel carrega itens desse balde.

2. Política de permissões de vídeo com escopo reduzido

Para limitar o acesso ao painel do Video Player no Grafana, agrupe seus recursos do AWS IoT Greengrass Edge Connector for Amazon Kinesis Video Streams por tags. Para obter mais informações sobre a redução de escopo de permissões para seus recursos de vídeo, consulte Criando um AWS IoT TwinMaker política de reprodutor de vídeo.

3. Todas as permissões de vídeo

Se você não quiser agrupar seus vídeos, poderá torná-los acessíveis a partir do reprodutor de vídeo do Grafana. Qualquer pessoa com acesso a um espaço de trabalho do Grafana pode reproduzir vídeo para qualquer stream em sua conta e ter acesso somente para leitura a qualquer AWS IoT SiteWise ativo. Isso inclui todos os recursos criados no futuro.

Crie a política com o modelo a seguir:

JSON
{ "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:us-east-1:111122223333:workspace/workspaceId", "arn:aws:iottwinmaker:us-east-1:111122223333: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*" } } } ] }

Este modelo de política fornece as seguintes permissões:

  • Acesso somente leitura a um bucket do S3 para carregar uma cena.

  • Acesso somente de leitura AWS IoT TwinMaker para todas as entidades e componentes em um espaço de trabalho.

  • Acesso somente leitura para transmitir todos os vídeos do Kinesis Video Streams em sua conta.

  • Leia somente o acesso ao histórico de valor da propriedade de todos os AWS IoT SiteWise ativos em sua conta.

  • Ingestão de dados em qualquer propriedade de um AWS IoT SiteWise ativo marcado com a chave EdgeConnectorForKVS e o valorworkspaceId.

Marcando sua câmera AWS IoT SiteWise recurso solicita upload de vídeo do edge

Usando o reprodutor de vídeo no Grafana, os usuários podem solicitar manualmente que o vídeo seja carregado do cache de Edge para o Kinesis Video Streams. Você pode ativar esse recurso para qualquer AWS IoT SiteWise ativo associado ao seu AWS IoT Greengrass Edge Connector para Amazon Kinesis Video Streams e marcado com a chave. EdgeConnectorForKVS

O valor da tag pode ser uma lista de workspaceIDs delimitada por qualquer um dos seguintes caracteres: . : + = @ _ / -. Por exemplo, se você quiser usar um AWS IoT SiteWise ativo associado a um AWS IoT Greengrass Edge Connector para Amazon Kinesis Video Streams em AWS IoT TwinMaker espaços de trabalho, você pode usar uma tag que segue esse padrão:. WorkspaceA/WorkspaceB/WorkspaceC O plug-in Grafana impõe que o AWS IoT TwinMaker WorkspaceID seja usado para agrupar a ingestão de dados de ativos. AWS IoT SiteWise

Adicione mais permissões à sua política de painel

O plug-in AWS IoT TwinMaker Grafana usa seu provedor de autenticação para chamar AssumeRole a função de painel que você cria. Internamente, o plug-in restringe o maior escopo de permissões às quais você tem acesso usando uma política de sessão na AssumeRole chamada. Para obter mais informações sobre as políticas de sessão, consulte Políticas de Sessão.

Essa é a política máxima de permissividade que você pode ter em sua função de painel para um espaço de trabalho AWS IoT TwinMaker :

JSON
{ "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:us-east-1:111122223333:workspace/workspaceId", "arn:aws:iottwinmaker:us-east-1:111122223333: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*" } } } ] }

Se você adicionar declarações com Allow mais permissões, elas não funcionarão no AWS IoT TwinMaker plug-in. Isso ocorre intencionalmente para garantir que as permissões mínimas necessárias sejam usadas pelo complemento.

No entanto, você pode reduzir ainda mais as permissões. Para mais informações, consulte Criando um AWS IoT TwinMaker política de reprodutor de vídeo.

Como criar o perfil do IAM do painel do Grafana

No console do IAM, crie um perfil do IAM chamado YourWorkspaceIdDashboardRole. Anexe o YourWorkspaceIdDashboardPolicy à função.

Para editar a política de confiança da função do painel, é necessário conceder permissão para que o provedor de autenticação do Grafana chame AssumeRole na função do painel. Atualize a política de confiança com o seguinte modelo:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "ARN of Grafana authentication provider" }, "Action": "sts:AssumeRole" } ] }

Para obter mais informações sobre como criar um ambiente Grafana e encontrar seu provedor de autenticação, consulte Como configurar seu ambiente do Grafana.