Configurar AWS Systems Manager para dispositivos de borda - AWS Systems Manager

Configurar AWS Systems Manager para dispositivos de borda

Esta seção descreve as tarefas de configuração que os administradores de sistema e da conta executam para habilitar a configuração e o gerenciamento dos dispositivos principais do AWS IoT Greengrass. Depois de concluir essas tarefas, os usuários que receberam permissões pelo administrador da Conta da AWS poderão usar o AWS Systems Manager para configurar e gerenciar os dispositivos principais do AWS IoT Greengrass na organização.

nota
  • O SSM Agent para AWS IoT Greengrass não é compatível com macOS e Windows 10. Você não pode usar os recursos do Systems Manager para gerenciar e configurar dispositivos de borda que usam esses sistemas operacionais.

  • O Systems Manager também oferece suporte a dispositivos de borda que não estejam configurados como dispositivos principais do AWS IoT Greengrass. Para usar o Systems Manager para gerenciar os dispositivos principais do AWS IoT e dispositivos de borda que não são da AWS, você deve configurá-los usando uma ativação para ambientes híbridos. Para ter mais informações, consulte Configurar o Systems Manager para ambientes híbridos e multinuvem.

  • Para usar o Session Manager e patches em aplicações da Microsoft com seus dispositivos de borda, você deve habilitar o nível de instâncias avançadas. Para ter mais informações, consulte Ativar o nível de instâncias avançadas.

Antes de começar

Verifique se os dispositivos de borda atendem aos requisitos a seguir.

  • Seus dispositivos de borda devem atender aos requisitos para serem configurados como dispositivos principais do AWS IoT Greengrass. Para obter mais informações, consulte Configurar dispositivos principais do AWS IoT Greengrass no Guia do desenvolvedor do AWS IoT Greengrass Version 2.

  • Seus dispositivos de borda devem ser compatíveis com o Agente do AWS Systems Manager (SSM Agent). Para ter mais informações, consulte Sistemas operacionais compatíveis com o Systems Manager.

  • Seus dispositivos de borda devem conseguir se comunicar com o serviço do Systems Manager na nuvem. O Systems Manager não oferece suporte a dispositivos de borda desconectados.

Sobre a configuração de dispositivos de borda

Configurar dispositivos AWS IoT Greengrass para o Systems Manager envolve os processos a seguir.

nota

Para obter informações sobre a desinstalação SSM Agent de um dispositivo de borda, consulte Desinstalar o AWS Systems ManagerAgente no AWS IoT Greengrass Version 2Guia do desenvolvedor.

Etapa 1: criar um perfil de serviço do IAM para dispositivos de borda

Os dispositivos principais do AWS IoT Greengrass requerem uma função de serviço do AWS Identity and Access Management (IAM) para se comunicar com o AWS Systems Manager. A atribuição de função do AWS Security Token Service (AWS STS) AssumeRole confiança para o serviço Systems Manager. Você só precisa criar a função de serviço uma vez para cada Conta da AWS. Você especificará essa função para o parâmetro RegistrationRole quando configurar e implantar o componente SSM Agent dos dispositivos AWS IoT Greengrass. Caso já tenha criado esse perfil ao configurar nós que não são do EC2 para um ambiente híbrido e multinuvem, você poderá ignorar esta etapa.

nota

Usuários na sua empresa ou organização que usarão o Systems Manager em seus dispositivos de borda deverão receber permissão no IAM para chamar a API do Systems Manager.

Requisito de política do bucket do S3

Se qualquer um dos seguintes casos for verdadeiro, crie uma política de permissões personalizada do IAM e para os buckets do Amazon Simple Storage Service (Amazon S3) antes de concluir este procedimento:

  • Caso 1: você está usando um endpoint da VPC para conectar de forma privada sua VPC aos Serviços da AWS compatíveis e aos serviços do endpoint da VPC com a tecnologia AWS PrivateLink.

  • Caso 2: você planeja usar um bucket do S3 criado como parte das operações do Systems Manager, por exemplo, para armazenar a saída para comandos do Run Command ou as sessões do Session Manager em um bucket do S3. Antes de continuar, siga as etapas em Create a custom S3 bucket policy for an instance profile (Criar uma política personalizada de bucket do S3 para um perfil de instância). As informações sobre políticas de bucket do S3 neste tópico também se aplicam à sua função de serviço.

    nota

    Se seus dispositivos estiverem protegidos por um firewall e você planeja usar o Patch Manager, o firewall deve permitir o acesso ao endpoint da lista de referência de patches arn:aws:s3:::patch-baseline-snapshot-region/*.

    A região representa o identificador da região para uma região da Região da AWS compatível com o AWS Systems Manager, como us-east-2 para a região Leste dos EUA (Ohio). Para ver uma lista dos valores de região com suporte, consulte a coluna Region em Systems Manager service endpoints no Referência geral da Amazon Web Services.

AWS CLI
Para criar uma função de serviço do IAM para um ambiente AWS IoT Greengrass (AWS CLI)
  1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

    Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI.

  2. Em sua máquina local, crie um arquivo de texto com um nome como SSMService-Trust.json com a política de confiança a seguir. Certifique-se de salvar o arquivo com a extensão de arquivo .json.

    nota

    Anote o nome. Você o especificará ao implantar o SSM Agent para seus dispositivos principais do AWS IoT Greengrass.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  3. Abra a AWS CLI e, no diretório em que você criou o arquivo JSON, execute o create-role para criar a função de serviço. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações.

    Linux & macOS

    aws iam create-role \ --role-name SSMServiceRole \ --assume-role-policy-document file://SSMService-Trust.json

    Windows

    aws iam create-role ^ --role-name SSMServiceRole ^ --assume-role-policy-document file://SSMService-Trust.json
  4. Execute o comando attach-role-policy da maneira a seguir para permitir que a função de serviço recém-criada crie um token de sessão. O token de sessão concede aos dispositivos de borda permissão para executar comandos usando o Systems Manager.

    nota

    As políticas que você adicionar a um perfil de serviço para dispositivos de borda são as mesmas políticas usadas para criar um perfil da instância para instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Para obter mais informações sobre as políticas do IAM usadas nos comandos a seguir, consulte Configurar permissões de instância para o Systems Manager.

    (Obrigatório) Execute o comando a seguir para permitir que um dispositivo de borda use a funcionalidade básica do serviço do AWS Systems Manager.

    Linux & macOS

    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    Windows

    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    Se você tiver criado uma política de bucket do S3 personalizada para sua função de serviço, execute o comando a seguir para permitir que o AWS Systems Manager Agent (SSM Agent) acesse os buckets que você especificou na política. Substitua account_ID e my_bucket_policy_name pelo ID da Conta da AWS e o nome do bucket.

    Linux & macOS

    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::account_ID:policy/my_bucket_policy_name

    Windows

    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::account_id:policy/my_bucket_policy_name

    (Opcional) Execute o comando a seguir para permitir que o SSM Agent acesse o AWS Directory Service em seu nome para que as solicitações ingressem no domínio dos dispositivos de borda. A função de serviço precisará dessa política somente se você integrar os dispositivos de borda a um diretório do Microsoft AD.

    Linux & macOS

    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    Windows

    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (Opcional) Execute o comando a seguir para permitir que o agente do CloudWatch seja executado nos dispositivos de borda. Esse comando permite ler informações em um dispositivo e gravá-las no CloudWatch. Sua função de serviço precisará dessa política somente se você pretende usar serviços como o Amazon EventBridge ou Amazon CloudWatch Logs.

    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Tools for PowerShell
Para criar uma função de serviço do IAM para um ambiente AWS IoT Greengrass (AWS Tools for Windows PowerShell)
  1. Instale e configure o AWS Tools for PowerShell (Ferramentas para Windows PowerShell), caso ainda não o tenha feito.

    Para obter informações, consulte Instalar o AWS Tools for PowerShell.

  2. Em sua máquina local, crie um arquivo de texto com um nome como SSMService-Trust.json com a política de confiança a seguir. Certifique-se de salvar o arquivo com a extensão de arquivo .json.

    nota

    Anote o nome. Você o especificará ao implantar o SSM Agent para seus dispositivos principais do AWS IoT Greengrass.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  3. Abra o PowerShell no modo administrativo e no diretório em que você criou o arquivo JSON, execute o New-IAMRole da seguinte maneira para criar uma função de serviço.

    New-IAMRole ` -RoleName SSMServiceRole ` -AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust.json)
  4. Use Register-IAMRolePolicy conforme a seguir para permitir a função de serviço que você criou para criar um token de sessão. O token de sessão concede aos dispositivos de borda permissão para executar comandos usando o Systems Manager.

    nota

    As políticas que você adicionar em uma função de serviço para dispositivos de borda em um ambiente AWS IoT Greengrass são as mesmas políticas usadas para criar um perfil para instâncias do EC2. Para obter mais informações sobre as políticas da AWS usadas nos comandos a seguir, consulte Configurar permissões de instância para o Systems Manager.

    (Obrigatório) Execute o comando a seguir para permitir que um dispositivo de borda use a funcionalidade básica do serviço do AWS Systems Manager.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    Se você tiver criado uma política de bucket do S3 personalizada para sua função de serviço, execute o comando a seguir para permitir que o SSM Agent acesse os buckets que você especificou na política. Substitua account_ID e my_bucket_policy_name pelo ID da Conta da AWS e o nome do bucket.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::account_ID:policy/my_bucket_policy_name

    (Opcional) Execute o comando a seguir para permitir que o SSM Agent acesse o AWS Directory Service em seu nome para que as solicitações ingressem no domínio dos dispositivos de borda. A função de serviço precisará dessa política somente se você integrar os dispositivos de borda a um diretório do Microsoft AD.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (Opcional) Execute o comando a seguir para permitir que o agente do CloudWatch seja executado nos dispositivos de borda. Esse comando permite ler informações em um dispositivo e gravá-las no CloudWatch. Sua função de serviço precisará dessa política somente se você pretende usar serviços como o Amazon EventBridge ou Amazon CloudWatch Logs.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

Etapa 2: Configurar o AWS IoT Greengrass

Configure seus dispositivos de borda como dispositivos principais do AWS IoT Greengrass. O processo de configuração envolve a verificação de sistemas operacionais e requisitos do sistema compatíveis, bem como a instalação e configuração do software principal do AWS IoT Greengrass em seus dispositivos. Para obter mais informações, consulte Configurar dispositivos principais do AWS IoT Greengrass no Guia do desenvolvedor do AWS IoT Greengrass Version 2.

Etapa 3: atualizar o perfil de troca de token do AWS IoT Greengrass e instalar o SSM Agent em seus dispositivos de borda

A etapa final para configurar e configurar seus dispositivos principais AWS IoT Greengrass para o Systems Manager exige que você atualize a função de serviço do dispositivo AWS IoT Greengrass AWS Identity and Access Management (IAM), também chamado de função de troca de token e implante o AWS Systems Manager Agent (Agente) (SSM Agent) para os seus dispositivos AWS IoT Greengrass. Para obter informações sobre esses processos, consulte Install the AWS Systems Manager Agent no Guia do desenvolvedor do AWS IoT Greengrass Version 2.

Depois de implantar o SSM Agent em seus dispositivos, o AWS IoT Greengrass registra automaticamente os dispositivos com o Systems Manager. Nenhum registro adicional é necessário. Você pode começar a usar os recursos do Systems Manager para acessar, gerenciar e configurar seus dispositivos do AWS IoT Greengrass.

nota

Seus dispositivos de borda devem conseguir se comunicar com o serviço do Systems Manager na nuvem. O Systems Manager não oferece suporte a dispositivos de borda desconectados.