Função de serviço do Greengrass - AWS IoT Greengrass

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

Função de serviço do Greengrass

O perfil de serviço do Greengrass é um perfil de serviço do AWS Identity and Access Management (IAM) que autoriza o AWS IoT Greengrass a acessar recursos de serviços da AWS em seu nome. Essa função possibilita verificar AWS IoT Greengrass a identidade dos dispositivos clientes e gerenciar as principais informações de conectividade do dispositivo.

nota

O AWS IoT Greengrass V1 também usa essa função para realizar tarefas essenciais. Para obter mais informações, consulte Perfil de serviço do Greengrass no Guia do Desenvolvedor do AWS IoT Greengrass V1.

Para permitir que o AWS IoT Greengrass acesse seus recursos, a função de serviço do Greengrass deve estar associada à sua Conta da AWS e é necessário especificar o AWS IoT Greengrass como uma entidade confiável. A função deve incluir a política gerenciada AWSGreengrassResourceAccessRolePolicy ou uma política personalizada que define permissões equivalentes para os recursos do AWS IoT Greengrass que você usa. A AWS mantém essa política, que define o conjunto de permissões que o AWS IoT Greengrass usa para acessar os recursos da AWS. Para obter mais informações, consulte AWS política gerenciada: AWSGreengrass ResourceAccessRolePolicy.

É possível reutilizar o mesmo perfil de serviço do Greengrass em todas as Regiões da AWS, mas é necessário associá-lo à sua conta em cada Região da AWS em que você usar o AWS IoT Greengrass. Se a função de serviço não estiver configurada na atualRegião da AWS, os dispositivos principais falharão em verificar os dispositivos cliente e não atualizarão as informações de conectividade.

As seções a seguir descrevem como criar e gerenciar a função de serviço do Greengrass com o Console de gerenciamento da AWS ou a AWS CLI.

nota

Além do perfil de serviço que autoriza o acesso em nível de serviço, você atribui um perfil de troca de tokens aos dispositivos centrais do Greengrass. A função de troca de tokens é uma função do IAM separada que controla como os componentes do Greengrass e as funções do Lambda no dispositivo principal podem acessar os serviços do. AWS Para obter mais informações, consulte Autorize os dispositivos principais a interagir com os serviços da AWS.

Gerenciar o perfil de serviço do Greengrass (console)

O console do AWS IoT facilita o gerenciamento da função de serviço do Greengrass. Por exemplo, quando você configura a descoberta do dispositivo do cliente para um dispositivo principal, o console verifica se a Conta da AWS está anexada a uma função de serviço do Greengrass na. Região da AWS Caso contrário, o console pode criar e configurar uma função de serviço para você. Para obter mais informações, consulte Criar a função de serviço do Greengrass (console).

É possível usar o console do para as seguintes tarefas de gerenciamento de função:

nota

O usuário que está conectado no console deve ter permissões para visualizar, criar ou alterar o perfil de serviço.

Encontrar a função de serviço do Greengrass (console)

Use as etapas a seguir para encontrar um perfil de serviço que o AWS IoT Greengrass usa na Região da AWS atual.

  1. Navegue até o console do AWS IoT.

  2. No painel de navegação, selecione Configurações.

  3. Role até a seção Função de serviço do Greengrass para ver a função de serviço e as políticas dela.

    Se não for exibido um perfil de serviço, o console pode criar ou configurar um para você. Para obter mais informações, consulte Criar a função de serviço do Greengrass.

Criar a função de serviço do Greengrass (console)

O console pode criar e configurar uma função de serviço padrão do Greengrass para você. Essa função tem as propriedades a seguir.

Propriedade Valor
Name Greengrass_ServiceRole
Entidade confiável AWS service: greengrass
Política AWSGreengrassResourceAccessRolePolicy
nota

Se você criar essa função com o script de configuração do AWS IoT Greengrass V1 dispositivo, o nome da função seráGreengrassServiceRole_random-string.

Quando você configura a descoberta do dispositivo do cliente para um dispositivo principal, o console verifica se uma função de serviço do Greengrass está associada à Conta da AWS na. Região da AWS Caso contrário, o console solicita sua permissão para que o AWS IoT Greengrass faça leitura e gravação em serviços AWS em seu nome.

Se você conceder permissão, o console verifica se uma função chamada Greengrass_ServiceRole existe na Conta da AWS.

  • Se a função existir, o console anexará o perfil de serviço à Conta da AWS na Região da AWS atual.

  • Se a função não existir, o console criará uma função de serviço padrão do Greengrass e a anexará à Conta da AWS na Região da AWS atual.

nota

Se quiser criar uma função de serviço com políticas de função personalizadas, use o console do IAM para criar ou modificar a função. Para obter mais informações, consulte Criando uma função para delegar permissões a um serviço da AWS ou Modificando uma função no Manual do usuário do IAM. Verifique se a função concede permissões equivalentes à política gerenciada AWSGreengrassResourceAccessRolePolicy para os atributos e as características que você utiliza. Recomendamos que você também inclua as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount em sua política de confiança para ajudar a evitar o problema de segurança confused deputy. As chaves de contexto de condição restringem o acesso para permitir somente as solicitações provenientes da conta especificada e do espaço de trabalho do Greengrass. Para obter mais informações sobre o problema confused deputy, consulte Prevenção contra o ataque do “substituto confuso” em todos os serviços.

Se você criar um perfil de serviço, retorne ao console do AWS IoT e anexe o perfil à sua Conta da AWS. É possível fazer isso no perfil de serviço do Greengrass, na página Configurações.

Alterar a função de serviço do Greengrass (console)

Use o procedimento a seguir para escolher outra função de serviço do Greengrass para anexar à Conta da AWS na Região da AWS que está selecionada no console.

  1. Navegue até o console do AWS IoT.

  2. No painel de navegação, selecione Configurações.

  3. Em Função de serviço do Greengrass, selecione Change role (Mudar perfil).

    A caixa de diálogo Atualizar função de serviço do Greengrass é aberta e mostra os perfis do IAM em sua Conta da AWS que definem o AWS IoT Greengrass como uma entidade confiável.

  4. Selecione a função de serviço do Greengrass a ser anexado.

  5. Selecione Anexar função.

Desanexar a função de serviço do Greengrass (console)

Use o procedimento a seguir para desvincular o perfil de serviço do Greengrass de sua conta da AWS na Região da AWS atual. Isso revoga as permissões para que o AWS IoT Greengrass acesse os serviços da AWS na Região da AWS atual.

Importante

Desanexar o perfil de serviço pode interromper operações ativas.

  1. Navegue até o console do AWS IoT.

  2. No painel de navegação, selecione Configurações.

  3. Em Função de serviço do Greengrass, selecione Detach role (Desanexar função).

  4. Na caixa de diálogo de confirmação, selecione Detach (Desvincular).

nota

Se você não precisar mais da função, poderá excluí-la no console do IAM. Para obter mais informações sobre como excluir uma função, consulte Excluir funções ou perfis de instância no Manual do usuário do IAM.

Outras funções podem permitir que o AWS IoT Greengrass acesse os recursos. Para encontrar todas as funções que permitem que o AWS IoT Greengrass assuma permissões em seu nome, no console do IAM, na página Funções, procure as funções que incluem AWS service: greengrass na coluna Entidades confiáveis.

Gerenciar o perfil de serviço do Greengrass (CLI)

Nos procedimentos a seguir, vamos considerar que a AWS Command Line Interface está instalada e configurada para usar o ID de sua Conta da AWS. Para mais informações, consulte Instalar, atualizar e desinstalar a AWS CLI e Configuração da AWS CLI no Guia do usuário da AWS Command Line Interface.

É possível usar a AWS CLI para as seguintes tarefas de gerenciamento de função:

Obter a função de serviço do Greengrass (CLI)

Use o procedimento a seguir para descobrir se uma função de serviço do Greengrass está associado à Conta da AWS em uma Região da AWS.

  • Obtenha a função de serviço. Substitua região por sua Região da AWS (por exemplo, us-west-2).

    aws greengrassv2 get-service-role-for-account --region region

    Se um perfil de serviço do Greengrass já estiver associado à sua conta, a solicitação retorna os metadados do perfil a seguir.

    { "associatedAt": "timestamp", "roleArn": "arn:aws:iam::account-id:role/path/role-name" }

    Se a solicitação não retornar metadados de função, será necessário criar o perfil de serviço (se ele não existir) e associá-lo à sua conta na Região da AWS.

Criar a função de serviço do Greengrass (CLI)

Use as etapas a seguir para criar uma função e associá-la à sua Conta da AWS.

Como criar a função de serviço usando o IAM
  1. Crie uma função com uma política de confiança que permita que o AWS IoT Greengrass assuma a função. Este exemplo cria uma função chamada Greengrass_ServiceRole, mas você pode usar um nome diferente. Recomendamos que você também inclua as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount em sua política de confiança para ajudar a evitar o problema de segurança confused deputy. As chaves de contexto de condição restringem o acesso para permitir somente as solicitações provenientes da conta especificada e do espaço de trabalho do Greengrass. Para obter mais informações sobre o problema confused deputy, consulte Prevenção contra o ataque do “substituto confuso” em todos os serviços.

    Linux or Unix
    aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:greengrass:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }'
    Windows Command Prompt (CMD)
    aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document "{\"Version\":\"2012-10-17\", \"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"greengrass.amazonaws.com\"},\"Action\":\"sts:AssumeRole\",\"Condition\":{\"ArnLike\":{\"aws:SourceArn\":\"arn:aws:greengrass:region:account-id:*\"},\"StringEquals\":{\"aws:SourceAccount\":\"account-id\"}}}]}"
    PowerShell
    aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:greengrass:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }'
  2. Copie o ARN da função dos metadados da função na saída. Você usará o ARN para associar a função à sua conta.

  3. Anexe a política do AWSGreengrassResourceAccessRolePolicy à função.

    aws iam attach-role-policy --role-name Greengrass_ServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy
Para associar o perfil de serviço à sua conta da Conta da AWS
  • Associe a função à sua conta. Substitua role-arn pelo ARN do perfil de serviço e região por sua Região da AWS (por exemplo, us-west-2).

    aws greengrassv2 associate-service-role-to-account --role-arn role-arn --region region

    Se a solicitação for bem-sucedida, ela retornará a resposta a seguir.

    { "associatedAt": "timestamp" }

Remover a função de serviço do Greengrass (CLI)

Use as etapas a seguir para desassociar a função de serviço do Greengrass de sua Conta da AWS.

  • Desassocie a função de serviço da conta. Substitua região por sua Região da AWS (por exemplo, us-west-2).

    aws greengrassv2 disassociate-service-role-from-account --region region

    Se houver êxito, a resposta a seguir será retornada.

    { "disassociatedAt": "timestamp" }
    nota

    Será necessário excluir o perfil de serviço se não o estiver usando em nenhuma Região da AWS. Primeiro, use delete-role-policy para desvincular a política gerenciada AWSGreengrassResourceAccessRolePolicy do perfil, depois use delete-role para excluir o perfil. Para obter mais informações sobre como excluir uma função, consulte Excluir funções ou perfis de instância no Manual do usuário do IAM.

Consulte também