Conf AWS IoT Eventsiguração - AWS IoT Events

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á.

Conf AWS IoT Eventsiguração

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

Para se inscrever em um Conta da AWS
  1. Acesse https://portal.aws.amazon.com/billing/signup.

  2. Siga as instruções on-line.

    Durante a criação da conta, você vai receber uma chamada telefônica e inserir um código de verificação no teclado do telefone.

    Quando você se inscreve em um Conta da AWS, um Usuário raiz da conta da AWSé criado. O usuário raiz tem acesso a todos os Serviços da AWS e atributos na conta. Como prática recomendada de segurança, atribua acesso administrativo a um usuário administrativo e utilize somente o usuário raiz para executar as tarefas que exigem acesso do usuário raiz.

Configurando permissões para AWS IoT Events

Esta seção descreve as funções e permissões obrigatórias para o uso de alguns atributos do AWS IoT Events. Você pode usar AWS CLI comandos ou o console AWS Identity and Access Management (IAM) para criar funções e políticas de permissão associadas para acessar recursos ou realizar determinadas funções no AWS IoT Events.

O Guia do usuário do IAM tem informações mais detalhadas sobre como controlar com segurança as permissões de acesso AWS aos recursos. Para obter informações específicas sobre AWS IoT Events, consulte Ações, recursos e chaves de condição para AWS IoT Events.

Para usar o console do IAM para criar e gerenciar funções e permissões, consulte o tutorial do IAM: Delegar acesso entre AWS contas usando funções do IAM.

nota

As chaves podem ter de 1 a 128 caracteres e podem incluir:

  • letras maiúsculas ou minúsculas de a-z

  • números 0-9

  • caracteres especiais -, _ ou :.

Permissões de ação

AWS IoT Events permite que você acione ações que usam outros AWS serviços. Para fazer isso, você deve conceder AWS IoT Events permissão para realizar essas ações em seu nome. Esta seção contém uma lista das ações e um exemplo de política que concede permissão para realizar todas essas ações em seus recursos. Altere as referências de region e account-id conforme necessário. Quando possível, você também deve alterar os curingas (*) para se referir a recursos específicos que serão acessados. Você pode usar o console do IAM para conceder permissão AWS IoT Events para enviar um alerta do Amazon SNS que você definiu.

AWS IoT Events suporta as seguintes ações que permitem usar um cronômetro ou definir uma variável:

AWS IoT Events suporta as seguintes ações que permitem trabalhar com AWS serviços:

  • iotTopicPublish para publicar uma mensagem em um tópico MQTT.

  • iotEvents para enviar dados para AWS IoT Events como um valor de entrada.

  • iotSiteWise para enviar dados para uma propriedade de ativo no AWS IoT SiteWise.

  • dynamoDB para enviar dados para uma tabela do Amazon DynamoDB.

  • dynamoDBv2 para enviar dados para uma tabela do Amazon DynamoDB.

  • firehosepara enviar dados para um stream do Amazon Data Firehose.

  • lambda para invocar uma função do AWS Lambda .

  • sns para enviar dados como uma notificação por push.

  • sqs para enviar dados para uma fila do Amazon SQS.

exemplo Política
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:<region>:<account_id>:topic/*" }, { "Effect": "Allow", "Action": "iotevents:BatchPutMessage", "Resource": "arn:aws:iotevents:<region>:<account_id>:input/*" }, { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*" }, { "Effect": "Allow", "Action": "dynamodb:PutItem", "Resource": "arn:aws:dynamodb:<region>:<account_id>:table/*" }, { "Effect": "Allow", "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": "arn:aws:firehose:<region>:<account_id>:deliverystream/*" }, { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:<region>:<account_id>:function:*" }, { "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:<region>:<account_id>:*" }, { "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:<region>:<account_id>:*" } ] }

Proteger dados de entrada

É importante considerar quem pode conceder acesso aos dados de entrada para uso em um modelo de detector. Caso tenha um usuário ou entidade cujas permissões gerais deseja restringir, mas que tem permissão para criar ou atualizar um modelo de detector, você também deve conceder permissão para que esse usuário ou entidade atualize o roteamento de entrada. Isso significa que, além de conceder permissão para iotevents:CreateDetectorModel e iotevents:UpdateDetectorModel, você também deve conceder permissão para iotevents:UpdateInputRouting.

exemplo

A política a seguir adiciona permissões para iotevents:UpdateInputRouting.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "updateRoutingPolicy", "Effect": "Allow", "Action": [ "iotevents:UpdateInputRouting" ], "Resource": "*" } ] }

É possível especificar uma lista de nomes do recursos da Amazon (ARNs) de entrada em vez do caractere curinga “*” para o “Resource” para limitar essa permissão a entradas específicas. Isso permite restringir o acesso aos dados de entrada que são consumidos pelos modelos de detectores criados ou atualizados pelo usuário ou pela entidade.

Política de função de CloudWatch registro da Amazon

Os documentos de política a seguir fornecem a política de funções e AWS IoT Events a política de confiança que permitem enviar registros CloudWatch em seu nome.

Política de perfil:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "logs:GetLogEvents", "logs:DeleteLogStream" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }

Política de confiança:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "iotevents.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Você também precisa de uma política de permissões anexada ao usuário do IAM que permita ao usuário transmitir funções, como segue. Para obter mais informações, consulte Conceder permissões a um usuário para passar uma função para um AWS serviço no Guia do usuário do IAM.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::<account-id>:role/Role_To_Pass" } ] }

Você pode usar o comando a seguir para colocar a política de recursos para CloudWatch registros. Isso permite AWS IoT Events colocar eventos de log em CloudWatch fluxos.

aws logs put-resource-policy --policy-name ioteventsLoggingPolicy --policy-document "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"IoTEventsToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"iotevents.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"*\" } ] }"

Use o comando a seguir para colocar opções de registro em log. Substitua o roleArn pela função de registro em log criada.

aws iotevents put-logging-options --cli-input-json "{ \"loggingOptions\": {\"roleArn\": \"arn:aws:iam::123456789012:role/testLoggingRole\", \"level\": \"INFO\", \"enabled\": true } }"

Política de função de mensagens do Amazon SNS

Os documentos de políticas a seguir fornecem as políticas de função e de confiança que permitem que o AWS IoT Events envie entradas de log ao SNS em seu nome.

Política de perfil:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "sns:*" ], "Effect": "Allow", "Resource": "arn:aws:sns:us-east-1:123456789012:testAction" } ] }

Política de confiança:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "iotevents.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }