Função do grupo do Greengrass. - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entrou na fase de vida útil prolongada em 30 de junho de 2023. Para obter mais informações, consulte política de manutenção do AWS IoT Greengrass V1. Após essa data, AWS IoT Greengrass V1 não lançaremos atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam AWS IoT Greengrass V1 não serão interrompidos e continuarão operando e se conectando à nuvem. É altamente recomendável que você migre para AWS IoT Greengrass Version 2, o que adiciona novos recursos significativos e suporte para plataformas adicionais.

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 do grupo do Greengrass.

A função de grupo do Greengrass é um perfil do IAM que autoriza o código em execução em um núcleo do Greengrass a acessar seus recursos da AWS. Você cria a função e gerencia permissões no AWS Identity and Access Management (IAM) e anexa a função ao seu grupo do Greengrass. Um grupo do Greengrass tem uma função de grupo única. Para adicionar ou alterar permissões, você pode anexar uma função diferente ou alterar as políticas do IAM anexadas à função.

A função deve definir AWS IoT Greengrass como uma entidade confiável. Dependendo do seu caso de negócio, a função de grupo pode conter políticas do IAM que definem:

As seções a seguir descrevem como anexar ou desanexar uma função de grupo do Greengrass no AWS Management Console ou na AWS CLI.

nota

Além da função de grupo que autoriza o acesso do núcleo do Greengrass, você pode atribuir um perfil de serviço do Greengrass que permita que o AWS IoT Greengrass acesse recursos da AWS em seu nome.

Gerenciar a função de grupo do Greengrass (console)

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

nota

O usuário que está conectado ao console deve ter permissões para gerenciar a função.

 

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

Siga estas etapas para encontrar a função anexada a um grupo do Greengrass.

  1. No painel de navegação do console de AWS IoT, em Gerenciar, expanda Dispositivos Greengrass e, em seguida selecione Grupos (V1) .

  2. Selecione o grupo de destino.

  3. Na página de configuração do grupo, selecione Visualizar configurações.

Se uma função estiver anexada ao grupo, ela será exibida em Função de grupo.

 

Adicionar ou alterar a função de grupo do Greengrass (console)

Siga estas etapas para escolher um perfil do IAM na sua Conta da AWS para adicionar a um grupo do Greengrass.

Uma função de grupo tem os seguintes requisitos:

  • AWS IoT Greengrass definido como uma entidade confiável.

  • As políticas de permissão anexadas à função devem conceder as permissões aos recursos da AWS que são exigidos pelas funções do Lambda e conectores no grupo e pelos componentes do sistema do Greengrass.

nota

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 do problema do substituto confuso entre serviços.

Use o console do IAM para criar e configurar o perfil e suas permissões. Para obter etapas que criam o exemplo de um perfil que permite acesso a uma tabela do Amazon DynamoDB, consulte Configurar a função do grupo. Para obter as etapas gerais, consulte Criando uma função para um serviço da AWS (console) no Guia do usuário do IAM.

 

Depois que a função for configurada, use o console do AWS IoT para adicionar a função ao grupo.

nota

Este procedimento é necessário apenas para escolher uma função para o grupo. Não é necessário depois de alterar as permissões da função de grupo selecionada no momento.

  1. No painel de navegação do console de AWS IoT, em Gerenciar, expanda Dispositivos Greengrass e, em seguida selecione Grupos (V1).

  2. Selecione o grupo de destino.

  3. Na página de configuração do grupo, selecione Visualizar configurações.

  4. Em Função do grupo, selecione adicionar ou alterar a função:

    • Para adicionar a função, selecione Associar função e, em seguida, selecione sua função na lista de funções. Estas são as funções em sua Conta da AWS que definem o AWS IoT Greengrass como uma entidade confiável.

    • Para escolher uma função diferente, selecione Editar função e, em seguida, selecione sua função na lista de funções.

  5. Selecione Salvar.

 

Remover a função de grupo do Greengrass (console)

Siga estas etapas para separar a função de um grupo do Greengrass.

  1. No painel de navegação do console de AWS IoT, em Gerenciar, expanda Dispositivos Greengrass e, em seguida selecione Grupos (V1) .

  2. Selecione o grupo de destino.

  3. Na página de configuração do grupo, selecione Visualizar configurações.

  4. Em Função do grupo, selecione Desassociar função.

  5. Na caixa de diálogo de confirmação, selecione Desassociar função. Esta etapa remove a função do grupo, mas não exclui a função. Se você quiser excluir a função, use o console do IAM.

Gerenciar a função de grupo do Greengrass (CLI)

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

 

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

Siga estas etapas para descobrir se um grupo do Greengrass tem uma função associada.

  1. Obtenha o ID do grupo-alvo na lista de seus grupos.

    aws greengrass list-groups

    Esta é uma resposta de exemplo do list-groups. Cada grupo na resposta inclui uma propriedade Id que contém o ID do grupo.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    Para obter mais informações, incluindo exemplos que usam a opção query para filtrar resultados, consulte Obter o ID do grupo.

  2. Copie da saída o Id do grupo de destino.

  3. Obtenha a função de grupo. Substitua group-id pelo ID do grupo de destino.

    aws greengrass get-associated-role --group-id group-id

    Se uma função estiver associada ao seu grupo do Greengrass, os seguintes metadados de função serão retornados.

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

    Se o seu grupo não tiver uma função associada, o seguinte erro será retornado.

    An error occurred (404) when calling the GetAssociatedRole operation: You need to attach an IAM role to this deployment group.

 

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

Siga estas etapas para criar uma função e associá-la a um grupo do Greengrass.

Para criar a função de grupo usando o IAM
  1. Crie a 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 MyGreengrassGroupRole, 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 do problema do substituto confuso entre serviços.

    Linux, macOS, or Unix
    aws iam create-role --role-name MyGreengrassGroupRole --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:greengrass:region:account-id:/greengrass/groups/group-id" } } } ] }'
    Windows command prompt
    aws iam create-role --role-name MyGreengrassGroupRole --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:/greengrass/groups/group-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 ao seu grupo.

  3. Anexe políticas gerenciadas ou em linha à função para dar suporte ao seu caso de negócio. Por exemplo, se uma função do Lambda definida pelo usuário ler do Amazon S3, você pode anexar a política gerenciada AmazonS3ReadOnlyAccess à função.

    aws iam attach-role-policy --role-name MyGreengrassGroupRole --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

    Se for bem-sucedido, nenhuma resposta será retornada.

 

Como associar a função ao seu grupo do Greengrass
  1. Obtenha o ID do grupo-alvo na lista de seus grupos.

    aws greengrass list-groups

    Esta é uma resposta de exemplo do list-groups. Cada grupo na resposta inclui uma propriedade Id que contém o ID do grupo.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    Para obter mais informações, incluindo exemplos que usam a opção query para filtrar resultados, consulte Obter o ID do grupo.

  2. Copie da saída o Id do grupo de destino.

  3. Associe a função ao grupo. Substitua group-id pelo ID do grupo de destino e role-arn pelo ARN da função de grupo.

    aws greengrass associate-role-to-group --group-id group-id --role-arn role-arn

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

    { "AssociatedAt": "timestamp" }

 

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

Siga estas etapas para desassociar a função de grupo do seu grupo do Greengrass.

  1. Obtenha o ID do grupo-alvo na lista de seus grupos.

    aws greengrass list-groups

    Esta é uma resposta de exemplo do list-groups. Cada grupo na resposta inclui uma propriedade Id que contém o ID do grupo.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    Para obter mais informações, incluindo exemplos que usam a opção query para filtrar resultados, consulte Obter o ID do grupo.

  2. Copie da saída o Id do grupo de destino.

  3. Desassocie a função do seu grupo. Substitua group-id pelo ID do grupo de destino.

    aws greengrass disassociate-role-from-group --group-id group-id

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

    { "DisassociatedAt": "timestamp" }
    nota

    Você pode excluir a função de grupo se não estiver usando. Primeiro, use delete-role-policy para desanexar cada política gerenciada da função e, depois, use delete-role para excluir a função. 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