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

FIPSendpoints

AWS IoT Greengrass suporta o uso de endpoints FIPS (Federal Information Processing Standard (FIPS) 140-2). Quando o FIPS modo está ativado, todas as transmissões de dados, incluindo ambas HTTP e MQTT protocolos, para os Nuvem AWS serviços devem ser invocadas e estabelecer conexões com os endpoints FIPS compatíveis correspondentes (- Amazon Web FIPS Services ()).AWS

MQTTcomunicações para AWS IoT utilizar o endpoint do plano de dados de IoT (Connecting to FIPS AWS IoT FIPS endpoints - AWS IoT Core) e a biblioteca criptográfica compatível com -desenvolvida aws-lc. AWS FIPS

Para HTTP comunicações no Greengrass:

  • Para componentes de núcleo e plug-in, todos os SDK HTTP clientes são configurados com FIPS endpoints definindo a propriedade do sistema AWS_USE _ FIPS _ ENDPOINT como verdadeira;

  • Para componentes genéricos, todos os componentes começam com a propriedade do sistema AWS_USE FIPS _ _ ENDPOINT definida como verdadeira. Esse processo garante que os SDK HTTP clientes usados por esses componentes genéricos enviem solicitações para FIPS endpoints compatíveis.

nota

No caso do Stream Manager, o Nucleus passa a variável de ambiente AWS_GG _ FIPS _MODE. Essa variável de ambiente permite que os HTTP clientes utilizados no Stream Manager identifiquem e se conectem ao endpoint FIPS compatível correspondente.

AWS IoT Greengrass oferece dois métodos para ativar o FIPS modo: provisionamento e implantação. Para ativar o FIPS modo, você precisa definir o parâmetro fipsMode de configuração como verdadeiro. O Nucleus então define a propriedade do sistema AWS_USE _ FIPS _ como verdadeira e ENDPOINT a propaga como uma variável de ambiente para todos os outros componentes. Além disso, AWS IoT Greengrass baixará um certificado CA raiz (CA3) e o anexará ao arquivo RootCA.pem (ou .pem) existente. AmazonRoot CA1 Se você habilitar FIPS por meio de uma nova implantação, o Nucleus será reiniciado para garantir que a propriedade do sistema tenha efeito após ativar o FIPS modo.

Além de configurar o fipsMode parâmetro, você também deve configurar iotDataEndpoint os greengrassDataEndpoint parâmetros iotCredEndpoint e. Para obter mais informações, consulte o documento relevante abaixo.

nota

FIPSAtualmente, o endpoint de credenciais suporta apenas as seguintes regiões:

  • IAD data.credentials.iot-fips.us-east-1.amazonaws.com

  • CMH data.credentials.iot-fips.us-east-2.amazonaws.com

  • SFO data.credentials.iot-fips.us-west-1.amazonaws.com

  • PDX data.credentials.iot-fips.us-west-2.amazonaws.com

  • YUL data.credentials.iot-fips.ca-central-1.amazonaws.com

Habilite FIPS endpoints com implantação

Obtenha os AWS IoT endpoints para você Conta da AWS e salve-os para usar mais tarde. Seu dispositivo usa esses endpoints para se conectar a. AWS IoT São necessários dois endpoints, o iotDataEndpoint e o. iotCredEndpoint Faça o seguinte:

  1. Obtenha o endpoint de FIPS dados da sua região nos endpoints do plano AWS IoT Core FIPS de dados. O endpoint de FIPS dados para você Conta da AWS deve ter a seguinte aparência: data.iot-fips.us-west-2.amazonaws.com

  2. Obtenha o endpoint de FIPS credenciais para sua região nos endpoints do plano AWS IoT Core FIPS de dados. O endpoint FIPS de credenciais para você Conta da AWS deve ter a seguinte aparência: data.credentials.iot-fips.us-west-2.amazonaws.com

Em seguida, para habilitar FIPS com uma implantação, você precisa aplicar a seguinte configuração ao Nucleus. A configuração a ser mesclada na implantação é a seguinte.

Console
Configuração para mesclar
{ "fipsMode": "true", "iotDataEndpoint": "data.iot-fips.us-west-2.amazonaws.com", "greengrassDataPlaneEndpoint": "iotData", "iotCredEndpoint": "data.credentials.iot-fips.us-west-2.amazonaws.com" }
AWS CLI

O comando a seguir cria uma implantação em um dispositivo principal.

aws greengrassv2 create-deployment --cli-input-json file://dashboard-deployment.json

O dashboard-deployment.json arquivo contém o seguinte JSON documento.

{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "deploymentName": "Deployment for MyGreengrassCore", "components": { "aws.greengrass.Nucleus": { "componentVersion": "2.13.0", "configurationUpdate": { "merge":{\"fipsMode\":\"true\",\"iotDataEndpoint\":\"data.iot-fips.us-west-2.amazonaws.com\",\"greengrassDataPlaneEndpoint\":\"iotData\",\"iotCredEndpoint\":\"data.credentials.iot-fips.us-west-2.amazonaws.com\"}" } } } }
Greengrass CLI

O CLI comando Greengrass a seguir cria uma implantação local em um dispositivo principal.

sudo greengrass-cli deployment create \ --recipeDir recipes \ --artifactDir artifacts \ --merge "aws.greengrass.Nucleus=2.13.0" \ --update-config dashboard-configuration.json

O dashboard-configuration.json arquivo contém o seguinte JSON documento.

{ "aws.greengrass.Nucleus": { "MERGE": { "fipsMode": "true", "iotDataEndpoint": "data.iot-fips.us-west-2.amazonaws.com", "greengrassDataPlaneEndpoint": "iotData", "iotCredEndpoint": "data.credentials.iot-fips.us-west-2.amazonaws.com" } } }

Instale o Nucleus com FIPS endpoints com provisionamento manual de recursos

Provisione manualmente AWS recursos para dispositivos AWS IoT Greengrass V2 principais com FIPS endpoints

Importante

Antes de baixar o software AWS IoT Greengrass Core, verifique se seu dispositivo principal atende aos requisitos para instalar e executar o software AWS IoT Greengrass Core v2.0.

Recupere endpoints AWS IoT

Obtenha os AWS IoT endpoints para você Conta da AWS e salve-os para usar mais tarde. Seu dispositivo usa esses endpoints para se conectar a. AWS IoT São necessários dois endpoints, o iotDataEndpoint e o. iotCredEndpoint Faça o seguinte:

  1. Obtenha o endpoint de FIPS dados da sua região nos endpoints do plano AWS IoT Core FIPS de dados. O endpoint de FIPS dados para você Conta da AWS deve ter a seguinte aparência: data.iot-fips.us-west-2.amazonaws.com

  2. Obtenha o endpoint de FIPS credenciais para sua região nos endpoints do plano AWS IoT Core FIPS de dados. O endpoint FIPS de credenciais para você Conta da AWS deve ter a seguinte aparência: data.credentials.iot-fips.us-west-2.amazonaws.com

Crie qualquer AWS IoT coisa

AWS IoT as coisas representam dispositivos e entidades lógicas que se conectam AWS IoT a. Os principais dispositivos do Greengrass são AWS IoT coisas. Quando você registra um dispositivo como uma AWS IoT coisa, esse dispositivo pode usar um certificado digital para se autenticar AWS.

Nesta seção, você cria AWS IoT algo que representa seu dispositivo.

Para criar qualquer AWS IoT coisa
  1. Crie qualquer AWS IoT coisa para o seu dispositivo. No seu computador de desenvolvimento, execute o comando a seguir.

    • Substituir MyGreengrassCore com o nome da coisa a ser usada. Esse nome também é o nome do seu dispositivo principal do Greengrass.

      nota

      O nome da coisa não pode conter caracteres de dois pontos (:).

    aws iot create-thing --thing-name MyGreengrassCore

    A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

    { "thingName": "MyGreengrassCore", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "thingId": "8cb4b6cd-268e-495d-b5b9-1713d71dbf42" }
  2. (Opcional) Adicione a AWS IoT coisa a um grupo de coisas novo ou existente. Você usa grupos de coisas para gerenciar frotas de dispositivos principais do Greengrass. Ao implantar componentes de software em seus dispositivos, você pode segmentar dispositivos individuais ou grupos de dispositivos. Você pode adicionar um dispositivo a um grupo de coisas com uma implantação ativa do Greengrass para implantar os componentes de software desse grupo de coisas no dispositivo. Faça o seguinte:

    1. (Opcional) Crie um grupo de AWS IoT coisas.

      • Substituir MyGreengrassCoreGroup com o nome do grupo de coisas a ser criado.

        nota

        O nome do grupo de coisas não pode conter caracteres de dois pontos (:).

      aws iot create-thing-group --thing-group-name MyGreengrassCoreGroup

      A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

      { "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" }
    2. Adicione a AWS IoT coisa a um grupo de coisas.

      • Substituir MyGreengrassCore com o nome da sua AWS IoT coisa.

      • Substituir MyGreengrassCoreGroup com o nome do grupo de coisas.

      aws iot add-thing-to-thing-group --thing-name MyGreengrassCore --thing-group-name MyGreengrassCoreGroup

      O comando não terá nenhuma saída se a solicitação for bem-sucedida.

Crie o certificado da coisa

Quando você registra um dispositivo como uma AWS IoT coisa, esse dispositivo pode usar um certificado digital para se autenticar AWS. Esse certificado permite que o dispositivo se comunique com AWS IoT AWS IoT Greengrass e.

Nesta seção, você cria e baixa certificados que seu dispositivo pode usar para se conectar AWS.

Se você quiser configurar o software AWS IoT Greengrass Core para usar um módulo de segurança de hardware (HSM) para armazenar com segurança a chave privada e o certificado, siga as etapas para criar o certificado a partir de uma chave privada em um. HSM Caso contrário, siga as etapas para criar o certificado e a chave privada no AWS IoT serviço. O recurso de segurança de hardware está disponível somente em dispositivos Linux. Para obter mais informações sobre a segurança do hardware e os requisitos para usá-lo, consulteIntegração de segurança de hardware.

Crie o certificado e a chave privada no AWS IoT serviço

Para criar o certificado da coisa
  1. Crie uma pasta na qual você baixa os certificados da AWS IoT coisa.

    mkdir greengrass-v2-certs
  2. Crie e baixe os certificados da AWS IoT coisa.

    aws iot create-keys-and-certificate --set-as-active --certificate-pem-outfile greengrass-v2-certs/device.pem.crt --public-key-outfile greengrass-v2-certs/public.pem.key --private-key-outfile greengrass-v2-certs/private.pem.key

    A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

    { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\ MIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\ MMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\ 59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\ hJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\ FQIDAQAB\ -----END PUBLIC KEY-----\ ", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\ key omitted for security reasons\ -----END RSA PRIVATE KEY-----\ " } }

    Salve o Amazon Resource Name (ARN) do certificado para usar na configuração posterior do certificado.

Crie o certificado a partir de uma chave privada em um HSM

nota

Esse recurso está disponível para a versão 2.5.3 e posterior do componente núcleo do Greengrass. AWS IoT Greengrass atualmente não oferece suporte a esse recurso nos dispositivos principais do Windows.

Para criar o certificado da coisa
  1. No dispositivo principal, inicialize um token PKCS #11 no HSM e gere uma chave privada. A chave privada deve ser uma RSA chave com um tamanho de chave RSA -2048 (ou maior) ou uma ECC chave.

    nota

    Para usar um módulo de segurança de hardware com ECC chaves, você deve usar o Greengrass nucleus v2.5.6 ou posterior.

    Para usar um módulo de segurança de hardware e um gerenciador secreto, você deve usar um módulo de segurança de hardware com RSA chaves.

    Consulte a documentação para HSM saber como inicializar o token e gerar a chave privada. Se seu objeto for HSM compatívelIDs, especifique um ID de objeto ao gerar a chave privada. Salve o ID do slot, o usuárioPIN, o rótulo do objeto e o ID do objeto (se você HSM usar um) que você especifica ao inicializar o token e gerar a chave privada. Você usa esses valores posteriormente ao importar o certificado do item para o HSM e configurar o software AWS IoT Greengrass Core.

  2. Crie uma solicitação de assinatura de certificado (CSR) a partir da chave privada. AWS IoT usa isso CSR para criar um certificado de item para a chave privada que você gerou noHSM. Para obter informações sobre como criar uma a CSR partir da chave privada, consulte a documentação do seuHSM. CSRÉ um arquivo, comoiotdevicekey.csr.

  3. Copie o CSR do dispositivo para o seu computador de desenvolvimento. Se SSH e SCP estiverem habilitados no computador de desenvolvimento e no dispositivo, você poderá usar o scp comando em seu computador de desenvolvimento para transferir CSR o. Substituir device-ip-address com o endereço IP do seu dispositivo e substitua ~/iotdevicekey.csr com o caminho para o CSR arquivo no dispositivo.

    scp device-ip-address:~/iotdevicekey.csr iotdevicekey.csr
  4. No seu computador de desenvolvimento, crie uma pasta na qual você baixa o certificado da AWS IoT coisa.

    mkdir greengrass-v2-certs
  5. Use o CSR arquivo para criar e baixar o certificado da AWS IoT coisa em seu computador de desenvolvimento.

    aws iot create-certificate-from-csr --set-as-active --certificate-signing-request=file://iotdevicekey.csr --certificate-pem-outfile greengrass-v2-certs/device.pem.crt

    A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

    { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----" }

    Salve o certificado ARN para usar para configurar o certificado posteriormente.

Configure o certificado da coisa

Anexe o certificado do AWS IoT item ao que você criou anteriormente e adicione uma AWS IoT política ao certificado para definir as AWS IoT permissões para o dispositivo principal.

Para configurar o certificado da coisa
  1. Anexe o certificado à AWS IoT coisa.

    • Substituir MyGreengrassCore com o nome da sua AWS IoT coisa.

    • Substitua o certificado Amazon Resource Name (ARN) pelo certificado que você criou na etapa anterior. ARN

    aws iot attach-thing-principal --thing-name MyGreengrassCore --principal arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

    O comando não terá nenhuma saída se a solicitação for bem-sucedida.

  2. Crie e anexe uma AWS IoT política que defina as AWS IoT permissões para seu dispositivo principal do Greengrass. A política a seguir permite acesso a todos os MQTT tópicos e operações do Greengrass, para que seu dispositivo funcione com aplicativos personalizados e futuras alterações que exijam novas operações do Greengrass. Você pode restringir essa política com base no seu caso de uso. Para obter mais informações, consulte AWS IoTPolítica mínima para dispositivos AWS IoT Greengrass V2 principais.

    Se você já configurou um dispositivo principal do Greengrass, pode anexar sua AWS IoT política em vez de criar uma nova.

    Faça o seguinte:

    1. Crie um arquivo que contenha o documento AWS IoT de política exigido pelos dispositivos principais do Greengrass.

      Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

      nano greengrass-v2-iot-policy.json

      Copie o seguinte JSON no arquivo.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect", "greengrass:*" ], "Resource": [ "*" ] } ] }
    2. Crie uma AWS IoT política a partir do documento de política.

      • Substituir GreengrassV2IoTThingPolicy com o nome da política a ser criada.

      aws iot create-policy --policy-name GreengrassV2IoTThingPolicy --policy-document file://greengrass-v2-iot-policy.json

      A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

      { "policyName": "GreengrassV2IoTThingPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassV2IoTThingPolicy", "policyDocument": "{ \\"Version\\": \\"2012-10-17\\", \\"Statement\\": [ { \\"Effect\\": \\"Allow\\", \\"Action\\": [ \\"iot:Publish\\", \\"iot:Subscribe\\", \\"iot:Receive\\", \\"iot:Connect\\", \\"greengrass:*\\" ], \\"Resource\\": [ \\"*\\" ] } ] }", "policyVersionId": "1" }
    3. Anexe a AWS IoT política ao certificado da AWS IoT coisa.

      • Substituir GreengrassV2IoTThingPolicy com o nome da política a ser anexada.

      • Substitua ARN o alvo pelo ARN do certificado de sua AWS IoT coisa.

      aws iot attach-policy --policy-name GreengrassV2IoTThingPolicy --target arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

      O comando não terá nenhuma saída se a solicitação for bem-sucedida.

Crie uma função de troca de tokens

Os dispositivos principais do Greengrass usam uma função IAM de serviço, chamada função de troca de tokens, para autorizar chamadas para serviços. AWS O dispositivo usa o provedor de AWS IoT credenciais para obter AWS credenciais temporárias para essa função, o que permite que o dispositivo interaja AWS IoT, envie registros para o Amazon CloudWatch Logs e baixe artefatos de componentes personalizados do Amazon S3. Para obter mais informações, consulte Autorize os dispositivos principais a interagir com os serviços AWS.

Você usa um alias de AWS IoT função para configurar a função de troca de tokens para os dispositivos principais do Greengrass. Os aliases de função permitem que você altere a função de troca de tokens de um dispositivo, mas mantenha a mesma configuração do dispositivo. Para obter mais informações, consulte Autorização de chamadas diretas para AWS serviços no Guia do AWS IoT Core desenvolvedor.

Nesta seção, você cria uma IAM função de troca de tokens e um alias de AWS IoT função que aponta para a função. Se você já configurou um dispositivo principal do Greengrass, pode usar sua função de troca de tokens e seu alias de função em vez de criar novos. Em seguida, você configura o dispositivo AWS IoT para usar essa função e alias.

Para criar uma IAM função de troca de tokens
  1. Crie uma IAM função que seu dispositivo possa usar como função de troca de tokens. Faça o seguinte:

    1. Crie um arquivo que contenha o documento de política de confiança exigido pela função de troca de tokens.

      Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

      nano device-role-trust-policy.json

      Copie o seguinte JSON no arquivo.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Crie a função de troca de tokens com o documento de política de confiança.

      • Substituir GreengrassV2TokenExchangeRole com o nome da IAM função a ser criada.

      aws iam create-role --role-name GreengrassV2TokenExchangeRole --assume-role-policy-document file://device-role-trust-policy.json

      A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

      { "Role": { "Path": "/", "RoleName": "GreengrassV2TokenExchangeRole", "RoleId": "AROAZ2YMUHYHK5OKM77FB", "Arn": "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole", "CreateDate": "2021-02-06T00:13:29+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } }
    3. Crie um arquivo que contenha o documento de política de acesso exigido pela função de troca de tokens.

      Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

      nano device-role-access-policy.json

      Copie o seguinte JSON no arquivo.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "s3:GetBucketLocation" ], "Resource": "*" } ] }
      nota

      Essa política de acesso não permite acesso a artefatos de componentes em buckets do S3. Para implantar componentes personalizados que definem artefatos no Amazon S3, você deve adicionar permissões à função para permitir que seu dispositivo principal recupere artefatos de componentes. Para obter mais informações, consulte Permitir acesso aos buckets do S3 para artefatos de componentes.

      Se você ainda não tem um bucket do S3 para artefatos de componentes, você pode adicionar essas permissões depois de criar um bucket.

    4. Crie a IAM política a partir do documento de política.

      • Substituir GreengrassV2TokenExchangeRoleAccess com o nome da IAM política a ser criada.

      aws iam create-policy --policy-name GreengrassV2TokenExchangeRoleAccess --policy-document file://device-role-access-policy.json

      A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

      { "Policy": { "PolicyName": "GreengrassV2TokenExchangeRoleAccess", "PolicyId": "ANPAZ2YMUHYHACI7C5Z66", "Arn": "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2021-02-06T00:37:17+00:00", "UpdateDate": "2021-02-06T00:37:17+00:00" } }
    5. Anexe a IAM política à função de troca de tokens.

      • Substituir GreengrassV2TokenExchangeRole com o nome da IAM função.

      • Substitua a ARN IAM política pela política que você criou na etapa anterior. ARN

      aws iam attach-role-policy --role-name GreengrassV2TokenExchangeRole --policy-arn arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess

      O comando não terá nenhuma saída se a solicitação for bem-sucedida.

  2. Crie um alias de AWS IoT função que aponte para a função de troca de tokens.

    • Substituir GreengrassCoreTokenExchangeRoleAlias com o nome do alias de função a ser criado.

    • Substitua a ARN IAM função pela função que você criou na etapa anterior. ARN

    aws iot create-role-alias --role-alias GreengrassCoreTokenExchangeRoleAlias --role-arn arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole

    A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

    { "roleAlias": "GreengrassCoreTokenExchangeRoleAlias", "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias" }
    nota

    Para criar um alias de função, você deve ter permissão para passar a IAM função de troca de tokens para AWS IoT. Se você receber uma mensagem de erro ao tentar criar um alias de função, verifique se o AWS usuário tem essa permissão. 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 AWS Identity and Access Management usuário.

  3. Crie e anexe uma AWS IoT política que permita que seu dispositivo principal do Greengrass use o alias de função para assumir a função de troca de tokens. Se você já configurou um dispositivo principal do Greengrass, pode anexar sua AWS IoT política de alias de função em vez de criar uma nova. Faça o seguinte:

    1. (Opcional) Crie um arquivo que contenha o documento AWS IoT de política exigido pelo alias da função.

      Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

      nano greengrass-v2-iot-role-alias-policy.json

      Copie o seguinte JSON no arquivo.

      • Substitua ARN o recurso pelo alias ARN da sua função.

      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:AssumeRoleWithCertificate", "Resource": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias" } ] }
    2. Crie uma AWS IoT política a partir do documento de política.

      • Substituir GreengrassCoreTokenExchangeRoleAliasPolicy com o nome da AWS IoT política a ser criada.

      aws iot create-policy --policy-name GreengrassCoreTokenExchangeRoleAliasPolicy --policy-document file://greengrass-v2-iot-role-alias-policy.json

      A resposta será semelhante ao exemplo a seguir, se a solicitação for bem-sucedida.

      { "policyName": "GreengrassCoreTokenExchangeRoleAliasPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassCoreTokenExchangeRoleAliasPolicy", "policyDocument": "{ \\"Version\\":\\"2012-10-17\\", \\"Statement\\": [ { \\"Effect\\": \\"Allow\\", \\"Action\\": \\"iot:AssumeRoleWithCertificate\\", \\"Resource\\": \\"arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias\\" } ] }", "policyVersionId": "1" }
    3. Anexe a AWS IoT política ao certificado da AWS IoT coisa.

      • Substituir GreengrassCoreTokenExchangeRoleAliasPolicy com o nome da AWS IoT política de alias da função.

      • Substitua ARN o alvo pelo ARN do certificado de sua AWS IoT coisa.

      aws iot attach-policy --policy-name GreengrassCoreTokenExchangeRoleAliasPolicy --target arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

      O comando não terá nenhuma saída se a solicitação for bem-sucedida.

Baixe certificados para o dispositivo

Anteriormente, você baixou o certificado do seu dispositivo para o seu computador de desenvolvimento. Nesta seção, você copia o certificado para o seu dispositivo principal para configurar o dispositivo com os certificados que ele usa para se conectar AWS IoT. Você também baixa o certificado da autoridade de certificação raiz (CA) da Amazon. Se você usar umHSM, você também importa o arquivo de certificado para o HSM nesta seção.

  • Se você criou o certificado e a chave privada do item no AWS IoT serviço anteriormente, siga as etapas para baixar os certificados com a chave privada e os arquivos de certificado.

  • Se você criou o certificado do item a partir de uma chave privada em um módulo de segurança de hardware (HSM) anteriormente, siga as etapas para baixar os certificados com a chave privada e o certificado em umHSM.

Baixe certificados com chave privada e arquivos de certificado

Para baixar certificados para o dispositivo
  1. Copie o AWS IoT certificado do item do seu computador de desenvolvimento para o dispositivo. Se SSH e SCP estiverem habilitados no computador de desenvolvimento e no dispositivo, você poderá usar o scp comando em seu computador de desenvolvimento para transferir o certificado. Substituir device-ip-address com o endereço IP do seu dispositivo.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Crie a pasta raiz do Greengrass no dispositivo. Posteriormente, você instalará o software AWS IoT Greengrass Core nessa pasta.

    nota

    O Windows tem uma limitação de comprimento de caminho de 260 caracteres. Se você estiver usando o Windows, use uma pasta raiz como C:\greengrass\v2 ou D:\greengrass\v2 para manter os caminhos dos componentes do Greengrass abaixo do limite de 260 caracteres.

    Linux or Unix
    • /greengrass/v2Substitua pela pasta a ser usada.

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • Substituir C:\greengrass\v2 com a pasta a ser usada.

    mkdir C:\greengrass\v2
    PowerShell
    • Substituir C:\greengrass\v2 com a pasta a ser usada.

    mkdir C:\greengrass\v2
  3. (Somente Linux) Defina as permissões do pai da pasta raiz do Greengrass.

    • Substituir /greengrass com o pai da pasta raiz.

    sudo chmod 755 /greengrass
  4. Copie os certificados do AWS IoT item para a pasta raiz do Greengrass.

    Linux or Unix
    • /greengrass/v2Substitua pela pasta raiz do Greengrass.

    sudo cp -R ~/greengrass-v2-certs/* /greengrass/v2
    Windows Command Prompt
    • Substituir C:\greengrass\v2 com a pasta a ser usada.

    robocopy %USERPROFILE%\greengrass-v2-certs C:\greengrass\v2 /E
    PowerShell
    • Substituir C:\greengrass\v2 com a pasta a ser usada.

    cp -Path ~\greengrass-v2-certs\* -Destination C:\greengrass\v2
  5. Baixe o certificado da autoridade de certificação raiz (CA) da Amazon. AWS IoT os certificados são associados ao certificado CA raiz da Amazon por padrão. Baixe o CA1 certificado e o CA3certificado.

    Linux or Unix
    • Substituir /greengrass/v2 ou C:\greengrass\v2 com a pasta raiz do Greengrass.

    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem sudo curl -o - https://www.amazontrust.com/repository/AmazonRootCA3.pem >> /greengrass/v2/AmazonRootCA1.pem
    Windows Command Prompt (CMD)
    curl -o C:\greengrass\v2\\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    PowerShell
    iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\\AmazonRootCA1.pem

Baixe certificados com a chave privada e o certificado em um HSM

nota

Esse recurso está disponível para a versão 2.5.3 e posterior do componente núcleo do Greengrass. AWS IoT Greengrass atualmente não oferece suporte a esse recurso nos dispositivos principais do Windows.

Para baixar certificados para o dispositivo
  1. Copie o AWS IoT certificado do item do seu computador de desenvolvimento para o dispositivo. Se SSH e SCP estiverem habilitados no computador de desenvolvimento e no dispositivo, você poderá usar o scp comando em seu computador de desenvolvimento para transferir o certificado. Substituir device-ip-address com o endereço IP do seu dispositivo.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Crie a pasta raiz do Greengrass no dispositivo. Posteriormente, você instalará o software AWS IoT Greengrass Core nessa pasta.

    nota

    O Windows tem uma limitação de comprimento de caminho de 260 caracteres. Se você estiver usando o Windows, use uma pasta raiz como C:\greengrass\v2 ou D:\greengrass\v2 para manter os caminhos dos componentes do Greengrass abaixo do limite de 260 caracteres.

    Linux or Unix
    • /greengrass/v2Substitua pela pasta a ser usada.

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • Substituir C:\greengrass\v2 com a pasta a ser usada.

    mkdir C:\greengrass\v2
    PowerShell
    • Substituir C:\greengrass\v2 com a pasta a ser usada.

    mkdir C:\greengrass\v2
  3. (Somente Linux) Defina as permissões do pai da pasta raiz do Greengrass.

    • Substituir /greengrass com o pai da pasta raiz.

    sudo chmod 755 /greengrass
  4. Importe o arquivo de certificado do ~/greengrass-v2-certs/device.pem.crt item,, para HSM o. Consulte a documentação HSM para saber como importar certificados para ela. Importe o certificado usando o mesmo token, ID de slot, usuárioPIN, rótulo de objeto e ID de objeto (se você HSM usar um) em que você gerou a chave privada HSM anteriormente.

    nota

    Se você gerou a chave privada anteriormente sem uma ID de objeto e o certificado tiver uma ID de objeto, defina a ID do objeto da chave privada com o mesmo valor do certificado. Consulte a documentação HSM para saber como definir o ID do objeto de chave privada.

  5. (Opcional) Exclua o arquivo de certificado do item, para que ele exista somente noHSM.

    rm ~/greengrass-v2-certs/device.pem.crt
  6. Baixe o certificado da autoridade de certificação raiz (CA) da Amazon. AWS IoT os certificados são associados ao certificado CA raiz da Amazon por padrão. Faça o download do certificado CA1 e do CA3certificado.

    Linux or Unix
    • Substituir /greengrass/v2 ou C:\greengrass\v2 com a pasta raiz do Greengrass.

    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem sudo curl -o - https://www.amazontrust.com/repository/AmazonRootCA3.pem >> /greengrass/v2/AmazonRootCA1.pem
    Windows Command Prompt (CMD)
    curl -o C:\greengrass\v2\\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    PowerShell
    iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\\AmazonRootCA1.pem

Configurar o ambiente do dispositivo

Siga as etapas nesta seção para configurar um dispositivo Linux ou Windows para ser usado como seu dispositivo AWS IoT Greengrass principal.

Configurar um dispositivo Linux

Para configurar um dispositivo Linux para AWS IoT Greengrass V2
  1. Instale o Java Runtime, que o software AWS IoT Greengrass Core exige para ser executado. Recomendamos que você use as versões de suporte de JDK longo prazo do Amazon Corretto ou Open. É necessária a versão 8 ou superior. Os comandos a seguir mostram como instalar o Open JDK em seu dispositivo.

    • Para distribuições com base em Debian ou em Ubuntu:

      sudo apt install default-jdk
    • Para distribuições com base em Red Hat:

      sudo yum install java-11-openjdk-devel
    • Para Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11
    • Para Amazon Linux 2023:

      sudo dnf install java-11-amazon-corretto -y

    Quando a instalação for concluída, execute o comando a seguir para verificar se o Java é executado no seu dispositivo Linux.

    java -version

    O comando imprime a versão do Java que é executada no dispositivo. Por exemplo, em uma distribuição baseada em Debian, o resultado pode ser semelhante ao exemplo a seguir.

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (Opcional) Crie o usuário e o grupo padrão do sistema que executa componentes no dispositivo. Você também pode optar por permitir que o instalador do software AWS IoT Greengrass Core crie esse usuário e grupo durante a instalação com o argumento do --component-default-user instalador. Para obter mais informações, consulte Argumentos de instalação.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Verifique se o usuário que executa o software AWS IoT Greengrass Core (normalmenteroot) tem permissão para executar sudo com qualquer usuário e qualquer grupo.

    1. Execute o comando a seguir para abrir o /etc/sudoers arquivo.

      sudo visudo
    2. Verifique se a permissão para o usuário se parece com o exemplo a seguir.

      root ALL=(ALL:ALL) ALL
  4. (Opcional) Para executar funções Lambda em contêineres, você deve habilitar cgroups v1 e habilitar e montar os cgroups de memória e dispositivos. Se você não planeja executar funções Lambda em contêineres, pode pular esta etapa.

    Para habilitar essas opções de cgroups, inicialize o dispositivo com os seguintes parâmetros do kernel Linux.

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    Para obter informações sobre como visualizar e definir os parâmetros do kernel para seu dispositivo, consulte a documentação do sistema operacional e do carregador de inicialização. Siga as instruções para definir permanentemente os parâmetros do kernel.

  5. Instale todas as outras dependências necessárias em seu dispositivo, conforme indicado na lista de requisitos emRequisitos do dispositivo.

Configurar um dispositivo Windows

nota

Esse recurso está disponível para a versão 2.5.0 e posterior do componente de núcleo do Greengrass.

Para configurar um dispositivo Windows para AWS IoT Greengrass V2
  1. Instale o Java Runtime, que o software AWS IoT Greengrass Core exige para ser executado. Recomendamos que você use as versões de suporte de JDK longo prazo do Amazon Corretto ou Open. É necessária a versão 8 ou superior.

  2. Verifique se o Java está disponível na variável PATHdo sistema e adicione-o se não estiver. A LocalSystem conta executa o software AWS IoT Greengrass Core, portanto, você deve adicionar Java à variável do PATH sistema em vez da variável de PATH usuário do seu usuário. Faça o seguinte:

    1. Pressione a tecla Windows para abrir o menu Iniciar.

    2. Digite environment variables para pesquisar as opções do sistema no menu Iniciar.

    3. Nos resultados da pesquisa do menu Iniciar, escolha Editar as variáveis de ambiente do sistema para abrir a janela Propriedades do sistema.

    4. Escolha variáveis de ambiente... para abrir a janela Variáveis de ambiente.

    5. Em Variáveis do sistema, selecione Caminho e, em seguida, escolha Editar. Na janela Editar variável de ambiente, você pode visualizar cada caminho em uma linha separada.

    6. Verifique se o caminho para a bin pasta da instalação do Java está presente. O caminho pode ser semelhante ao exemplo a seguir.

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. Se a bin pasta da instalação do Java estiver ausente do Path, escolha Novo para adicioná-la e, em seguida, escolha OK.

  3. Abra o prompt de comando do Windows (cmd.exe) como administrador.

  4. Crie o usuário padrão na LocalSystem conta no dispositivo Windows. Substituir password com uma senha segura.

    net user /add ggc_user password
    dica

    Dependendo da configuração do Windows, a senha do usuário pode ser definida para expirar em uma data futura. Para garantir que seus aplicativos Greengrass continuem operando, monitore quando a senha expira e atualize-a antes que ela expire. Você também pode definir a senha do usuário para nunca expirar.

    • Para verificar quando um usuário e sua senha expiram, execute o comando a seguir.

      net user ggc_user | findstr /C:expires
    • Para definir que a senha de um usuário nunca expire, execute o comando a seguir.

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
    • Se você estiver usando o Windows 10 ou posterior, onde o wmiccomando está obsoleto, execute o comando a seguir. PowerShell

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. Baixe e instale o PsExecutilitário da Microsoft no dispositivo.

  6. Use o PsExec utilitário para armazenar o nome de usuário e a senha do usuário padrão na instância do Credential Manager da LocalSystem conta. Substituir password com a senha do usuário que você definiu anteriormente.

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    Se o PsExec License Agreementabre, escolha Acceptpara concordar com a licença e executar o comando.

    nota

    Em dispositivos Windows, a LocalSystem conta executa o núcleo Greengrass, e você deve usar o PsExec utilitário para armazenar as informações padrão do usuário na conta. LocalSystem O uso do aplicativo Credential Manager armazena essas informações na conta do Windows do usuário atualmente conectado, em vez da LocalSystem conta.

Baixe o software AWS IoT Greengrass Core

Você pode baixar a versão mais recente do software AWS IoT Greengrass Core no seguinte local:

nota

Você pode baixar uma versão específica do software AWS IoT Greengrass Core no seguinte local. Substituir version com a versão para baixar.

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
Para baixar o software AWS IoT Greengrass Core
  1. Em seu dispositivo principal, baixe o software AWS IoT Greengrass Core para um arquivo chamadogreengrass-nucleus-latest.zip.

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip

    Ao fazer download desse software, você concorda com o Contrato de licença do software do Greengrass Core.

  2. (Opcional) Para verificar a assinatura do software Greengrass nucleus

    nota

    Esse recurso está disponível com o Greengrass nucleus versão 2.9.5 e posterior.

    1. Use o comando a seguir para verificar a assinatura do artefato do núcleo Greengrass:

      Linux or Unix
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      Windows Command Prompt (CMD)

      O nome do arquivo pode parecer diferente dependendo da JDK versão instalada. Substituir jdk17.0.6_10 com a JDK versão que você instalou.

      "C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe" -verify -certs -verbose greengrass-nucleus-latest.zip
      PowerShell

      O nome do arquivo pode parecer diferente dependendo da JDK versão instalada. Substituir jdk17.0.6_10 com a JDK versão que você instalou.

      'C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe' -verify -certs -verbose greengrass-nucleus-latest.zip
    2. A jarsigner invocação produz uma saída que indica os resultados da verificação.

      1. Se o arquivo zip do Greengrass nucleus estiver assinado, a saída conterá a seguinte declaração:

        jar verified.
      2. Se o arquivo zip do Greengrass nucleus não estiver assinado, a saída conterá a seguinte declaração:

        jar is unsigned.
    3. Se você forneceu a -certs opção Jarsigner junto com -verbose as opções -verify e, a saída também incluirá informações detalhadas do certificado do assinante.

  3. Descompacte o software AWS IoT Greengrass Core em uma pasta no seu dispositivo. Substituir GreengrassInstaller com a pasta que você deseja usar.

    Linux or Unix
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
    PowerShell
    Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\\GreengrassInstaller rm greengrass-nucleus-latest.zip
  4. (Opcional) Execute o comando a seguir para ver a versão do software AWS IoT Greengrass Core.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
Importante

Se você instalar uma versão do núcleo do Greengrass anterior à v2.4.0, não remova essa pasta depois de instalar o software Core. AWS IoT Greengrass O software AWS IoT Greengrass Core usa os arquivos dessa pasta para ser executado.

Se você baixou a versão mais recente do software, instale a versão 2.4.0 ou posterior e poderá remover essa pasta depois de instalar o software AWS IoT Greengrass Core.

Instale o software AWS IoT Greengrass Core

Execute o instalador com argumentos que especificam as seguintes ações:

  • Instale a partir de um arquivo de configuração parcial que especifica o uso AWS dos recursos e certificados que você criou anteriormente. O software AWS IoT Greengrass Core usa um arquivo de configuração que especifica a configuração de cada componente do Greengrass no dispositivo. O instalador cria um arquivo de configuração completo a partir do arquivo de configuração parcial fornecido por você.

  • Especifique o uso do usuário do ggc_user sistema para executar componentes de software no dispositivo principal. Em dispositivos Linux, esse comando também especifica o uso do grupo do ggc_group sistema, e o instalador cria o usuário e o grupo do sistema para você.

  • Configure o software AWS IoT Greengrass Core como um serviço do sistema que é executado na inicialização. Em dispositivos Linux, isso requer o sistema init Systemd.

    Importante

    Nos dispositivos principais do Windows, você deve configurar o software AWS IoT Greengrass Core como um serviço do sistema.

Para obter mais informações sobre os argumentos que você pode especificar, consulteArgumentos de instalação.

nota

Se você estiver executando AWS IoT Greengrass em um dispositivo com memória limitada, poderá controlar a quantidade de memória que o software AWS IoT Greengrass Core usa. Para controlar a alocação de memória, você pode definir as opções de tamanho da JVM pilha no parâmetro de jvmOptions configuração do componente do núcleo. Para obter mais informações, consulte Controle a alocação de memória com opções JVM.

  • Se você criou o certificado e a chave privada do item no AWS IoT serviço anteriormente, siga as etapas para instalar o software AWS IoT Greengrass Core com a chave privada e os arquivos de certificado.

  • Se você criou o certificado do item a partir de uma chave privada em um módulo de segurança de hardware (HSM) anteriormente, siga as etapas para instalar o software AWS IoT Greengrass Core com a chave privada e o certificado em umHSM.

Instale o software AWS IoT Greengrass Core com arquivos de chave privada e certificado

Para instalar o software AWS IoT Greengrass Core
  1. Verifique a versão do software AWS IoT Greengrass Core.

    • Substituir GreengrassInstaller com o caminho para a pasta que contém o software.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Use um editor de texto para criar um arquivo de configuração chamado config.yaml para fornecer ao instalador.

    Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

    nano GreengrassInstaller/config.yaml

    Copie o YAML conteúdo a seguir no arquivo. Esse arquivo de configuração parcial especifica os parâmetros do sistema e os parâmetros do núcleo do Greengrass.

    --- system: certificateFilePath: "/greengrass/v2/device.pem.crt" privateKeyPath: "/greengrass/v2/private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.13.0" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" fipsMode: "true" iotDataEndpoint: "data.iot-fips.us-west-2.amazonaws.com" greengrassDataPlaneEndpoint: "iotData" iotCredEndpoint: "data.credentials.iot-fips.us-west-2.amazonaws.com"

    Então, faça o seguinte:

    • Substitua cada instância do /greengrass/v2 pela pasta raiz do Greengrass.

    • Substituir MyGreengrassCore com o nome da AWS IoT coisa.

    • Substituir 2.13.0 com a versão do software AWS IoT Greengrass Core.

    • Substituir us-west-2 com o Região da AWS local onde você criou os recursos.

    • Substituir GreengrassCoreTokenExchangeRoleAlias com o nome do alias da função de troca de tokens.

    • Substitua o iotDataEndpoint com seu endpoint AWS IoT de dados.

    • Substitua o iotCredEndpoint com seu endpoint de AWS IoT credenciais.

  3. Execute o instalador e especifique --init-config para fornecer o arquivo de configuração.

    • Substituir /greengrass/v2 ou C:\greengrass\v2 com a pasta raiz do Greengrass.

    • Substitua cada instância do GreengrassInstaller com a pasta em que você descompactou o instalador.

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --init-config ./GreengrassInstaller/config.yaml ^ --component-default-user ggc_user ^ --setup-system-service true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --init-config ./GreengrassInstaller/config.yaml ` --component-default-user ggc_user ` --setup-system-service true
    Importante

    Nos dispositivos principais do Windows, você deve especificar --setup-system-service true a configuração do software AWS IoT Greengrass Core como um serviço do sistema.

    Se você especificar--setup-system-service true, o instalador Successfully set up Nucleus as a system service imprimirá se configurou e executou o software como um serviço do sistema. Caso contrário, o instalador não emitirá nenhuma mensagem se instalar o software com êxito.

    nota

    Você não pode usar o deploy-dev-tools argumento para implantar ferramentas de desenvolvimento local ao executar o instalador sem o --provision true argumento. Para obter informações sobre a implantação do CLI Greengrass diretamente em seu dispositivo, consulte. Interface de linha de comando do Greengrass

  4. Verifique a instalação visualizando os arquivos na pasta raiz.

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

    Se a instalação for bem-sucedida, a pasta raiz conterá várias pastasconfig, comopackages, e. logs

Instale o software AWS IoT Greengrass Core com a chave privada e o certificado em um HSM

nota

Esse recurso está disponível para a versão 2.5.3 e posterior do componente núcleo do Greengrass. AWS IoT Greengrass atualmente não oferece suporte a esse recurso nos dispositivos principais do Windows.

Para instalar o software AWS IoT Greengrass Core
  1. Verifique a versão do software AWS IoT Greengrass Core.

    • Substituir GreengrassInstaller com o caminho para a pasta que contém o software.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Para permitir que o software AWS IoT Greengrass Core use a chave privada e o certificado noHSM, instale o componente do provedor PKCS #11 ao instalar o software AWS IoT Greengrass Core. O componente do provedor PKCS #11 é um plug-in que você pode configurar durante a instalação. Você pode baixar a versão mais recente do componente do provedor PKCS #11 no seguinte local:

    Baixe o plug-in do provedor PKCS #11 para um arquivo chamadoaws.greengrass.crypto.Pkcs11Provider.jar. Substituir GreengrassInstaller com a pasta que você deseja usar.

    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar > GreengrassInstaller/aws.greengrass.crypto.Pkcs11Provider.jar

    Ao fazer download desse software, você concorda com o Contrato de licença do software do Greengrass Core.

  3. Use um editor de texto para criar um arquivo de configuração chamado config.yaml para fornecer ao instalador.

    Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

    nano GreengrassInstaller/config.yaml

    Copie o YAML conteúdo a seguir no arquivo. Esse arquivo de configuração parcial especifica os parâmetros do sistema, os parâmetros do núcleo do Greengrass PKCS e os parâmetros do provedor #11.

    --- system: certificateFilePath: "/greengrass/v2/device.pem.crt" privateKeyPath: "/greengrass/v2/private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.13.0" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" fipsMode: "true" iotDataEndpoint: "data.iot-fips.us-west-2.amazonaws.com" greengrassDataPlaneEndpoint: "iotData" iotCredEndpoint: "data.credentials.iot-fips.us-west-2.amazonaws.com"

    Então, faça o seguinte:

    • Substitua cada instância do iotdevicekey no PKCS #11 URIs com o rótulo do objeto em que você criou a chave privada e importou o certificado.

    • Substitua cada instância do /greengrass/v2 pela pasta raiz do Greengrass.

    • Substituir MyGreengrassCore com o nome da AWS IoT coisa.

    • Substituir 2.13.0 com a versão do software AWS IoT Greengrass Core.

    • Substituir us-west-2 com o Região da AWS local onde você criou os recursos.

    • Substituir GreengrassCoreTokenExchangeRoleAlias com o nome do alias da função de troca de tokens.

    • Substitua o iotDataEndpoint por seu endpoint de AWS IoT dados.

    • Substitua o iotCredEndpoint pelo endpoint de suas AWS IoT credenciais.

    • Substitua os parâmetros de configuração do aws.greengrass.crypto.Pkcs11Provider componente pelos valores da HSM configuração no dispositivo principal.

  4. Execute o instalador e especifique --init-config para fornecer o arquivo de configuração.

    • /greengrass/v2Substitua pela pasta raiz do Greengrass.

    • Substitua cada instância do GreengrassInstaller com a pasta em que você descompactou o instalador.

    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --trusted-plugin ./GreengrassInstaller/aws.greengrass.crypto.Pkcs11Provider.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    Importante

    Nos dispositivos principais do Windows, você deve especificar --setup-system-service true a configuração do software AWS IoT Greengrass Core como um serviço do sistema.

    Se você especificar--setup-system-service true, o instalador Successfully set up Nucleus as a system service imprimirá se configurou e executou o software como um serviço do sistema. Caso contrário, o instalador não emitirá nenhuma mensagem se instalar o software com êxito.

    nota

    Você não pode usar o deploy-dev-tools argumento para implantar ferramentas de desenvolvimento local ao executar o instalador sem o --provision true argumento. Para obter informações sobre a implantação do CLI Greengrass diretamente em seu dispositivo, consulte. Interface de linha de comando do Greengrass

  5. Verifique a instalação visualizando os arquivos na pasta raiz.

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

    Se a instalação for bem-sucedida, a pasta raiz conterá várias pastasconfig, comopackages, e. logs

Se você instalou o software AWS IoT Greengrass Core como um serviço do sistema, o instalador executa o software para você. Caso contrário, você deverá executar o software manualmente. Para obter mais informações, consulte Execute o software AWS IoT Greengrass Core.

Para obter mais informações sobre como configurar e usar o software AWS IoT Greengrass, consulte o seguinte:

Instale FIPS endpoints com provisionamento de frota

Esse recurso está disponível para a versão 2.4.0 e posterior do componente núcleo do Greengrass.

Instale FIPS endpoints em seu software AWS IoT Greengrass Core com provisionamento de AWS IoT frota para seus dispositivos principais.

nota

Atualmente, o plug-in de provisionamento de frota não oferece suporte ao armazenamento de arquivos de chave privada e certificado em um módulo de segurança de hardware ()HSM. Para usar umHSM, instale o software AWS IoT Greengrass Core com provisionamento manual.

Para instalar o software AWS IoT Greengrass Core com provisionamento de AWS IoT frota, você deve configurar os recursos Conta da AWS que são AWS IoT usados para provisionar os dispositivos principais do Greengrass. Esses recursos incluem um modelo de provisionamento, certificados de solicitação e uma função de troca IAM de tokens. Depois de criar esses recursos, você pode reutilizá-los para provisionar vários dispositivos principais em uma frota. Para obter mais informações, consulte Configure o provisionamento AWS IoT da frota para os principais dispositivos do Greengrass.

Importante

Antes de baixar o software AWS IoT Greengrass Core, verifique se seu dispositivo principal atende aos requisitos para instalar e executar o software AWS IoT Greengrass Core v2.0.

Pré-requisitos

Para instalar o software AWS IoT Greengrass Core com provisionamento de AWS IoT frota, você deve primeiro configurar o provisionamento de AWS IoT frota para os dispositivos principais do Greengrass. Depois de concluir essas etapas uma vez, você pode usar o provisionamento de frota para instalar o software AWS IoT Greengrass Core em qualquer número de dispositivos.

Recupere endpoints AWS IoT

Obtenha os FIPS endpoints para você Conta da AWS e salve-os para usar mais tarde. Seu dispositivo usa esses endpoints para se conectar a. AWS IoT Faça o seguinte:

  1. Obtenha o endpoint de FIPS dados da sua região nos endpoints do plano AWS IoT Core FIPS de dados. O endpoint de FIPS dados para você Conta da AWS deve ter a seguinte aparência: data.iot-fips.us-west-2.amazonaws.com

  2. Obtenha o endpoint de FIPS credenciais para sua região nos endpoints do plano AWS IoT Core FIPS de dados. O endpoint FIPS de credenciais para você Conta da AWS deve ter a seguinte aparência: data.credentials.iot-fips.us-west-2.amazonaws.com

Baixe certificados para o dispositivo

O dispositivo usa um certificado de solicitação e uma chave privada para autenticar sua solicitação para provisionar AWS recursos e adquirir um certificado de dispositivo X.509. Você pode incorporar o certificado de solicitação e a chave privada no dispositivo durante a fabricação ou copiar o certificado e a chave no dispositivo durante a instalação. Nesta seção, você copia o certificado de solicitação e a chave privada para o dispositivo. Você também baixa o certificado da Amazon Root Certificate Authority (CA) para o dispositivo.

Importante

O provisionamento de chaves privadas de solicitação deve ser protegido em todos os momentos, inclusive nos dispositivos principais do Greengrass. Recomendamos que você use CloudWatch métricas e registros da Amazon para monitorar indícios de uso indevido, como o uso não autorizado do certificado de solicitação para provisionar dispositivos. Se você detectar uso indevido, desative o certificado de solicitação de aprovisionamento para que ele não possa ser usado para provisionamento de dispositivos. Para obter mais informações, consulte Monitorar AWS IoT no Guia do Desenvolvedor do AWS IoT Core .

Para ajudá-lo a gerenciar melhor o número de dispositivos e quais dispositivos se registram no seu Conta da AWS, você pode especificar um gancho de pré-provisionamento ao criar um modelo de aprovisionamento de frota. Um gancho de pré-provisionamento é uma AWS Lambda função que valida os parâmetros do modelo que os dispositivos fornecem durante o registro. Por exemplo, você pode criar um gancho de pré-provisionamento que compara a ID do dispositivo a um banco de dados para verificar se o dispositivo tem permissão para provisionar. Para obter mais informações, consulte Ganchos de pré-provisionamento no Guia do desenvolvedor.AWS IoT Core

Para baixar certificados de solicitação para o dispositivo
  1. Copie o certificado de solicitação e a chave privada para o dispositivo. Se SSH e SCP estiverem habilitados no computador de desenvolvimento e no dispositivo, você poderá usar o scp comando em seu computador de desenvolvimento para transferir o certificado de solicitação e a chave privada. O comando de exemplo a seguir transfere esses arquivos de uma pasta chamada claim-certs em seu computador de desenvolvimento para o dispositivo. Substituir device-ip-address com o endereço IP do seu dispositivo.

    scp -r claim-certs/ device-ip-address:~
  2. Crie a pasta raiz do Greengrass no dispositivo. Posteriormente, você instalará o software AWS IoT Greengrass Core nessa pasta.

    nota

    O Windows tem uma limitação de comprimento de caminho de 260 caracteres. Se você estiver usando o Windows, use uma pasta raiz como C:\greengrass\v2 ou D:\greengrass\v2 para manter os caminhos dos componentes do Greengrass abaixo do limite de 260 caracteres.

    Linux or Unix
    • /greengrass/v2Substitua pela pasta a ser usada.

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • Substituir C:\greengrass\v2 com a pasta a ser usada.

    mkdir C:\greengrass\v2
    PowerShell
    • Substituir C:\greengrass\v2 com a pasta a ser usada.

    mkdir C:\greengrass\v2
  3. (Somente Linux) Defina as permissões do pai da pasta raiz do Greengrass.

    • Substituir /greengrass com o pai da pasta raiz.

    sudo chmod 755 /greengrass
  4. Mova os certificados de solicitação para a pasta raiz do Greengrass.

    • Substituir /greengrass/v2 ou C:\greengrass\v2 com a pasta raiz do Greengrass.

    Linux or Unix
    sudo mv ~/claim-certs /greengrass/v2
    Windows Command Prompt (CMD)
    move %USERPROFILE%\claim-certs C:\greengrass\v2
    PowerShell
    mv -Path ~\claim-certs -Destination C:\greengrass\v2
  5. Baixe o CA1 certificado e o CA3certificado.

    Linux or Unix
    sudo curl -o - https://www.amazontrust.com/repository/AmazonRootCA3.pem >> /greengrass/v2/AmazonRootCA1.pem
    Windows Command Prompt (CMD)
    curl -o C:\greengrass\v2\\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    PowerShell
    iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\\AmazonRootCA1.pem

Configurar o ambiente do dispositivo

Siga as etapas nesta seção para configurar um dispositivo Linux ou Windows para ser usado como seu dispositivo AWS IoT Greengrass principal.

Configurar um dispositivo Linux

Para configurar um dispositivo Linux para AWS IoT Greengrass V2
  1. Instale o Java Runtime, que o software AWS IoT Greengrass Core exige para ser executado. Recomendamos que você use as versões de suporte de JDK longo prazo do Amazon Corretto ou Open. É necessária a versão 8 ou superior. Os comandos a seguir mostram como instalar o Open JDK em seu dispositivo.

    • Para distribuições com base em Debian ou em Ubuntu:

      sudo apt install default-jdk
    • Para distribuições com base em Red Hat:

      sudo yum install java-11-openjdk-devel
    • Para Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11
    • Para Amazon Linux 2023:

      sudo dnf install java-11-amazon-corretto -y

    Quando a instalação for concluída, execute o comando a seguir para verificar se o Java é executado no seu dispositivo Linux.

    java -version

    O comando imprime a versão do Java que é executada no dispositivo. Por exemplo, em uma distribuição baseada em Debian, o resultado pode ser semelhante ao exemplo a seguir.

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (Opcional) Crie o usuário e o grupo padrão do sistema que executa componentes no dispositivo. Você também pode optar por permitir que o instalador do software AWS IoT Greengrass Core crie esse usuário e grupo durante a instalação com o argumento do --component-default-user instalador. Para obter mais informações, consulte Argumentos de instalação.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Verifique se o usuário que executa o software AWS IoT Greengrass Core (normalmenteroot) tem permissão para executar sudo com qualquer usuário e qualquer grupo.

    1. Execute o comando a seguir para abrir o /etc/sudoers arquivo.

      sudo visudo
    2. Verifique se a permissão para o usuário se parece com o exemplo a seguir.

      root ALL=(ALL:ALL) ALL
  4. (Opcional) Para executar funções Lambda em contêineres, você deve habilitar cgroups v1 e habilitar e montar os cgroups de memória e dispositivos. Se você não planeja executar funções Lambda em contêineres, pode pular esta etapa.

    Para habilitar essas opções de cgroups, inicialize o dispositivo com os seguintes parâmetros do kernel Linux.

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    Para obter informações sobre como visualizar e definir os parâmetros do kernel para seu dispositivo, consulte a documentação do sistema operacional e do carregador de inicialização. Siga as instruções para definir permanentemente os parâmetros do kernel.

  5. Instale todas as outras dependências necessárias em seu dispositivo, conforme indicado na lista de requisitos emRequisitos do dispositivo.

Configurar um dispositivo Windows

nota

Esse recurso está disponível para a versão 2.5.0 e posterior do componente de núcleo do Greengrass.

Para configurar um dispositivo Windows para AWS IoT Greengrass V2
  1. Instale o Java Runtime, que o software AWS IoT Greengrass Core exige para ser executado. Recomendamos que você use as versões de suporte de JDK longo prazo do Amazon Corretto ou Open. É necessária a versão 8 ou superior.

  2. Verifique se o Java está disponível na variável PATHdo sistema e adicione-o se não estiver. A LocalSystem conta executa o software AWS IoT Greengrass Core, portanto, você deve adicionar Java à variável do PATH sistema em vez da variável de PATH usuário do seu usuário. Faça o seguinte:

    1. Pressione a tecla Windows para abrir o menu Iniciar.

    2. Digite environment variables para pesquisar as opções do sistema no menu Iniciar.

    3. Nos resultados da pesquisa do menu Iniciar, escolha Editar as variáveis de ambiente do sistema para abrir a janela Propriedades do sistema.

    4. Escolha variáveis de ambiente... para abrir a janela Variáveis de ambiente.

    5. Em Variáveis do sistema, selecione Caminho e, em seguida, escolha Editar. Na janela Editar variável de ambiente, você pode visualizar cada caminho em uma linha separada.

    6. Verifique se o caminho para a bin pasta da instalação do Java está presente. O caminho pode ser semelhante ao exemplo a seguir.

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. Se a bin pasta da instalação do Java estiver ausente do Path, escolha Novo para adicioná-la e, em seguida, escolha OK.

  3. Abra o prompt de comando do Windows (cmd.exe) como administrador.

  4. Crie o usuário padrão na LocalSystem conta no dispositivo Windows. Substituir password com uma senha segura.

    net user /add ggc_user password
    dica

    Dependendo da configuração do Windows, a senha do usuário pode ser definida para expirar em uma data futura. Para garantir que seus aplicativos Greengrass continuem operando, monitore quando a senha expira e atualize-a antes que ela expire. Você também pode definir a senha do usuário para nunca expirar.

    • Para verificar quando um usuário e sua senha expiram, execute o comando a seguir.

      net user ggc_user | findstr /C:expires
    • Para definir que a senha de um usuário nunca expire, execute o comando a seguir.

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
    • Se você estiver usando o Windows 10 ou posterior, onde o wmiccomando está obsoleto, execute o comando a seguir. PowerShell

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. Baixe e instale o PsExecutilitário da Microsoft no dispositivo.

  6. Use o PsExec utilitário para armazenar o nome de usuário e a senha do usuário padrão na instância do Credential Manager da LocalSystem conta. Substituir password com a senha do usuário que você definiu anteriormente.

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    Se o PsExec License Agreementabre, escolha Acceptpara concordar com a licença e executar o comando.

    nota

    Em dispositivos Windows, a LocalSystem conta executa o núcleo Greengrass, e você deve usar o PsExec utilitário para armazenar as informações padrão do usuário na conta. LocalSystem O uso do aplicativo Credential Manager armazena essas informações na conta do Windows do usuário atualmente conectado, em vez da LocalSystem conta.

Baixe o software AWS IoT Greengrass Core

Você pode baixar a versão mais recente do software AWS IoT Greengrass Core no seguinte local:

nota

Você pode baixar uma versão específica do software AWS IoT Greengrass Core no seguinte local. Substituir version com a versão para baixar.

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
Para baixar o software AWS IoT Greengrass Core
  1. Em seu dispositivo principal, baixe o software AWS IoT Greengrass Core para um arquivo chamadogreengrass-nucleus-latest.zip.

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip

    Ao fazer download desse software, você concorda com o Contrato de licença do software do Greengrass Core.

  2. (Opcional) Para verificar a assinatura do software Greengrass nucleus

    nota

    Esse recurso está disponível com o Greengrass nucleus versão 2.9.5 e posterior.

    1. Use o comando a seguir para verificar a assinatura do artefato do núcleo Greengrass:

      Linux or Unix
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      Windows Command Prompt (CMD)

      O nome do arquivo pode parecer diferente dependendo da JDK versão instalada. Substituir jdk17.0.6_10 com a JDK versão que você instalou.

      "C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe" -verify -certs -verbose greengrass-nucleus-latest.zip
      PowerShell

      O nome do arquivo pode parecer diferente dependendo da JDK versão instalada. Substituir jdk17.0.6_10 com a JDK versão que você instalou.

      'C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe' -verify -certs -verbose greengrass-nucleus-latest.zip
    2. A jarsigner invocação produz uma saída que indica os resultados da verificação.

      1. Se o arquivo zip do Greengrass nucleus estiver assinado, a saída conterá a seguinte declaração:

        jar verified.
      2. Se o arquivo zip do Greengrass nucleus não estiver assinado, a saída conterá a seguinte declaração:

        jar is unsigned.
    3. Se você forneceu a -certs opção Jarsigner junto com -verbose as opções -verify e, a saída também incluirá informações detalhadas do certificado do assinante.

  3. Descompacte o software AWS IoT Greengrass Core em uma pasta no seu dispositivo. Substituir GreengrassInstaller com a pasta que você deseja usar.

    Linux or Unix
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
    PowerShell
    Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\\GreengrassInstaller rm greengrass-nucleus-latest.zip
  4. (Opcional) Execute o comando a seguir para ver a versão do software AWS IoT Greengrass Core.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
Importante

Se você instalar uma versão do núcleo do Greengrass anterior à v2.4.0, não remova essa pasta depois de instalar o software Core. AWS IoT Greengrass O software AWS IoT Greengrass Core usa os arquivos dessa pasta para ser executado.

Se você baixou a versão mais recente do software, instale a versão 2.4.0 ou posterior e poderá remover essa pasta depois de instalar o software AWS IoT Greengrass Core.

Baixe o plug-in de aprovisionamento de AWS IoT frotas

Você pode baixar a versão mais recente do plug-in de aprovisionamento de AWS IoT frotas no seguinte local:

nota

Você pode baixar uma versão específica do plug-in de aprovisionamento de AWS IoT frotas no seguinte local. Substituir version com a versão para baixar. Para obter mais informações sobre cada versão do plug-in de aprovisionamento de frotas, consulte. AWS IoT registro de alterações do plug-in de aprovisionamento de frotas

https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-version.jar

O plug-in de provisionamento de frota é de código aberto. Para ver seu código-fonte, consulte o plug-in de provisionamento de AWS IoT frota ativado. GitHub

Para baixar o plug-in de aprovisionamento de AWS IoT frotas
  • Em seu dispositivo, baixe o plug-in de aprovisionamento de AWS IoT frota em um arquivo chamado. aws.greengrass.FleetProvisioningByClaim.jar Substituir GreengrassInstaller com a pasta que você deseja usar.

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar -OutFile GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar

    Ao fazer download desse software, você concorda com o Contrato de licença do software do Greengrass Core.

Instalar o software do AWS IoT Greengrass Core

Execute o instalador com argumentos que especificam as seguintes ações:

  • Instale a partir de um arquivo de configuração parcial que especifica o uso do plug-in de provisionamento de frota para provisionar recursos. AWS O software AWS IoT Greengrass Core usa um arquivo de configuração que especifica a configuração de cada componente do Greengrass no dispositivo. O instalador cria um arquivo de configuração completo a partir do arquivo de configuração parcial que você fornece e dos AWS recursos que o plug-in de aprovisionamento de frota cria.

  • Especifique o uso do usuário do ggc_user sistema para executar componentes de software no dispositivo principal. Em dispositivos Linux, esse comando também especifica o uso do grupo do ggc_group sistema, e o instalador cria o usuário e o grupo do sistema para você.

  • Configure o software AWS IoT Greengrass Core como um serviço do sistema que é executado na inicialização. Em dispositivos Linux, isso requer o sistema init Systemd.

    Importante

    Nos dispositivos principais do Windows, você deve configurar o software AWS IoT Greengrass Core como um serviço do sistema.

Para obter mais informações sobre os argumentos que você pode especificar, consulteArgumentos de instalação.

nota

Se você estiver executando AWS IoT Greengrass em um dispositivo com memória limitada, poderá controlar a quantidade de memória que o software AWS IoT Greengrass Core usa. Para controlar a alocação de memória, você pode definir as opções de tamanho da JVM pilha no parâmetro de jvmOptions configuração do componente do núcleo. Para obter mais informações, consulte Controle a alocação de memória com opções JVM.

Para instalar o software AWS IoT Greengrass Core
  1. Verifique a versão do software AWS IoT Greengrass Core.

    • Substituir GreengrassInstaller com o caminho para a pasta que contém o software.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Use um editor de texto para criar um arquivo de configuração chamado config.yaml para fornecer ao instalador.

    Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

    nano GreengrassInstaller/config.yaml

    Copie o YAML conteúdo a seguir no arquivo. Esse arquivo de configuração parcial especifica os parâmetros para o plug-in de provisionamento de frotas. Para obter mais informações sobre as opções que você pode especificar, consulteConfigurar o plug-in de aprovisionamento de AWS IoT frotas.

    Linux or Unix
    --- services: aws.greengrass.Nucleus: version: "2.13.0" configuration: fipsMode: "true" greengrassDataPlaneEndpoint: "iotData" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: "/greengrass/v2" awsRegion: "us-west-2" iotDataEndpoint: "data.iot-fips.us-west-2.amazonaws.com" iotCredEndpoint: "data.credentials.iot-fips.us-west-2.amazonaws.com" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" provisioningTemplate: "GreengrassFleetProvisioningTemplate" claimCertificatePath: "/greengrass/v2/claim-certs/claim.pem.crt" claimCertificatePrivateKeyPath: "/greengrass/v2/claim-certs/claim.private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup"
    Windows
    --- services: aws.greengrass.Nucleus: version: "2.13.0" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: "C:\\greengrass\\v2" awsRegion: "us-west-2" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" provisioningTemplate: "GreengrassFleetProvisioningTemplate" claimCertificatePath: "C:\\greengrass\\v2\\claim-certs\\claim.pem.crt" claimCertificatePrivateKeyPath: "C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key" rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup"

    Então, faça o seguinte:

    • Substituir 2.13.0 com a versão do software AWS IoT Greengrass Core.

    • Substitua cada instância de /greengrass/v2 ou C:\greengrass\v2 com a pasta raiz do Greengrass.

      nota

      Em dispositivos Windows, você deve especificar os separadores de caminho como barras invertidas duplas (\\), como. C:\\greengrass\\v2

    • Substituir us-west-2 com a AWS região em que você criou o modelo de provisionamento e outros recursos.

    • Substitua o iotDataEndpoint por seu endpoint de AWS IoT dados.

    • Substitua o iotCredentialEndpoint pelo endpoint de suas AWS IoT credenciais.

    • Substituir GreengrassCoreTokenExchangeRoleAlias com o nome do alias da função de troca de tokens.

    • Substituir GreengrassFleetProvisioningTemplate com o nome do modelo de aprovisionamento da frota.

    • claimCertificatePathSubstitua o pelo caminho para o certificado de solicitação no dispositivo.

    • claimCertificatePrivateKeyPathSubstitua o pelo caminho para a chave privada do certificado de solicitação no dispositivo.

    • Substitua os parâmetros do modelo (templateParameters) pelos valores a serem usados para provisionar o dispositivo. Este exemplo se refere ao modelo de exemplo que define ThingName ThingGroupName parâmetros.

  3. Execute o instalador. Especifique --trusted-plugin para fornecer o plug-in de provisionamento de frota e especifique --init-config para fornecer o arquivo de configuração.

    • /greengrass/v2Substitua pela pasta raiz do Greengrass.

    • Substitua cada instância do GreengrassInstaller com a pasta em que você descompactou o instalador.

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar ^ --init-config ./GreengrassInstaller/config.yaml ^ --component-default-user ggc_user ^ --setup-system-service true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar ` --init-config ./GreengrassInstaller/config.yaml ` --component-default-user ggc_user ` --setup-system-service true
    Importante

    Nos dispositivos principais do Windows, você deve especificar --setup-system-service true a configuração do software AWS IoT Greengrass Core como um serviço do sistema.

    Se você especificar--setup-system-service true, o instalador Successfully set up Nucleus as a system service imprimirá se configurou e executou o software como um serviço do sistema. Caso contrário, o instalador não emitirá nenhuma mensagem se instalar o software com êxito.

    nota

    Você não pode usar o deploy-dev-tools argumento para implantar ferramentas de desenvolvimento local ao executar o instalador sem o --provision true argumento. Para obter informações sobre a implantação do CLI Greengrass diretamente em seu dispositivo, consulte. Interface de linha de comando do Greengrass

  4. Verifique a instalação visualizando os arquivos na pasta raiz.

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

    Se a instalação for bem-sucedida, a pasta raiz conterá várias pastasconfig, comopackages, e. logs

Se você instalou o software AWS IoT Greengrass Core como um serviço do sistema, o instalador executa o software para você. Caso contrário, você deverá executar o software manualmente. Para obter mais informações, consulte Execute o software AWS IoT Greengrass Core.

Para obter mais informações sobre como configurar e usar o software AWS IoT Greengrass, consulte o seguinte:

Instale FIPS endpoints com provisionamento automático de recursos

O software AWS IoT Greengrass Core inclui um instalador que configura seu dispositivo como um dispositivo principal do Greengrass. Para configurar um dispositivo rapidamente, o instalador pode provisionar a AWS IoT AWS IoT coisa, o grupo de coisas, a IAM AWS IoT função e o alias de função que o dispositivo principal precisa para operar. O instalador também pode implantar as ferramentas de desenvolvimento local no dispositivo principal, para que você possa usar o dispositivo para desenvolver e testar componentes de software personalizados. O instalador exige AWS credenciais para provisionar esses recursos e criar a implantação.

Se você não puder fornecer AWS credenciais para o dispositivo, poderá provisionar os AWS recursos que o dispositivo principal precisa para operar. Você também pode implantar as ferramentas de desenvolvimento em um dispositivo principal para usar como dispositivo de desenvolvimento. Isso permite que você forneça menos permissões ao dispositivo ao executar o instalador. Para obter mais informações, consulte Instale o software AWS IoT Greengrass principal com provisionamento manual de recursos.

Importante

Antes de baixar o software AWS IoT Greengrass Core, verifique se seu dispositivo principal atende aos requisitos para instalar e executar o software AWS IoT Greengrass Core v2.0.

Configurar o ambiente do dispositivo

Siga as etapas nesta seção para configurar um dispositivo Linux ou Windows para ser usado como seu dispositivo AWS IoT Greengrass principal.

Configurar um dispositivo Linux

Para configurar um dispositivo Linux para AWS IoT Greengrass V2
  1. Instale o Java Runtime, que o software AWS IoT Greengrass Core exige para ser executado. Recomendamos que você use as versões de suporte de JDK longo prazo do Amazon Corretto ou Open. É necessária a versão 8 ou superior. Os comandos a seguir mostram como instalar o Open JDK em seu dispositivo.

    • Para distribuições com base em Debian ou em Ubuntu:

      sudo apt install default-jdk
    • Para distribuições com base em Red Hat:

      sudo yum install java-11-openjdk-devel
    • Para Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11
    • Para Amazon Linux 2023:

      sudo dnf install java-11-amazon-corretto -y

    Quando a instalação for concluída, execute o comando a seguir para verificar se o Java é executado no seu dispositivo Linux.

    java -version

    O comando imprime a versão do Java que é executada no dispositivo. Por exemplo, em uma distribuição baseada em Debian, o resultado pode ser semelhante ao exemplo a seguir.

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (Opcional) Crie o usuário e o grupo padrão do sistema que executa componentes no dispositivo. Você também pode optar por permitir que o instalador do software AWS IoT Greengrass Core crie esse usuário e grupo durante a instalação com o argumento do --component-default-user instalador. Para obter mais informações, consulte Argumentos de instalação.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Verifique se o usuário que executa o software AWS IoT Greengrass Core (normalmenteroot) tem permissão para executar sudo com qualquer usuário e qualquer grupo.

    1. Execute o comando a seguir para abrir o /etc/sudoers arquivo.

      sudo visudo
    2. Verifique se a permissão para o usuário se parece com o exemplo a seguir.

      root ALL=(ALL:ALL) ALL
  4. (Opcional) Para executar funções Lambda em contêineres, você deve habilitar cgroups v1 e habilitar e montar os cgroups de memória e dispositivos. Se você não planeja executar funções Lambda em contêineres, pode pular esta etapa.

    Para habilitar essas opções de cgroups, inicialize o dispositivo com os seguintes parâmetros do kernel Linux.

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    Para obter informações sobre como visualizar e definir os parâmetros do kernel para seu dispositivo, consulte a documentação do sistema operacional e do carregador de inicialização. Siga as instruções para definir permanentemente os parâmetros do kernel.

  5. Instale todas as outras dependências necessárias em seu dispositivo, conforme indicado na lista de requisitos emRequisitos do dispositivo.

Configurar um dispositivo Windows

nota

Esse recurso está disponível para a versão 2.5.0 e posterior do componente de núcleo do Greengrass.

Para configurar um dispositivo Windows para AWS IoT Greengrass V2
  1. Instale o Java Runtime, que o software AWS IoT Greengrass Core exige para ser executado. Recomendamos que você use as versões de suporte de JDK longo prazo do Amazon Corretto ou Open. É necessária a versão 8 ou superior.

  2. Verifique se o Java está disponível na variável PATHdo sistema e adicione-o se não estiver. A LocalSystem conta executa o software AWS IoT Greengrass Core, portanto, você deve adicionar Java à variável do PATH sistema em vez da variável de PATH usuário do seu usuário. Faça o seguinte:

    1. Pressione a tecla Windows para abrir o menu Iniciar.

    2. Digite environment variables para pesquisar as opções do sistema no menu Iniciar.

    3. Nos resultados da pesquisa do menu Iniciar, escolha Editar as variáveis de ambiente do sistema para abrir a janela Propriedades do sistema.

    4. Escolha variáveis de ambiente... para abrir a janela Variáveis de ambiente.

    5. Em Variáveis do sistema, selecione Caminho e, em seguida, escolha Editar. Na janela Editar variável de ambiente, você pode visualizar cada caminho em uma linha separada.

    6. Verifique se o caminho para a bin pasta da instalação do Java está presente. O caminho pode ser semelhante ao exemplo a seguir.

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. Se a bin pasta da instalação do Java estiver ausente do Path, escolha Novo para adicioná-la e, em seguida, escolha OK.

  3. Abra o prompt de comando do Windows (cmd.exe) como administrador.

  4. Crie o usuário padrão na LocalSystem conta no dispositivo Windows. Substituir password com uma senha segura.

    net user /add ggc_user password
    dica

    Dependendo da configuração do Windows, a senha do usuário pode ser definida para expirar em uma data futura. Para garantir que seus aplicativos Greengrass continuem operando, monitore quando a senha expira e atualize-a antes que ela expire. Você também pode definir a senha do usuário para nunca expirar.

    • Para verificar quando um usuário e sua senha expiram, execute o comando a seguir.

      net user ggc_user | findstr /C:expires
    • Para definir que a senha de um usuário nunca expire, execute o comando a seguir.

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
    • Se você estiver usando o Windows 10 ou posterior, onde o wmiccomando está obsoleto, execute o comando a seguir. PowerShell

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. Baixe e instale o PsExecutilitário da Microsoft no dispositivo.

  6. Use o PsExec utilitário para armazenar o nome de usuário e a senha do usuário padrão na instância do Credential Manager da LocalSystem conta. Substituir password com a senha do usuário que você definiu anteriormente.

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    Se o PsExec License Agreementabre, escolha Acceptpara concordar com a licença e executar o comando.

    nota

    Em dispositivos Windows, a LocalSystem conta executa o núcleo Greengrass, e você deve usar o PsExec utilitário para armazenar as informações padrão do usuário na conta. LocalSystem O uso do aplicativo Credential Manager armazena essas informações na conta do Windows do usuário atualmente conectado, em vez da LocalSystem conta.

Forneça AWS credenciais para o dispositivo

Forneça suas AWS credenciais ao seu dispositivo para que o instalador possa provisionar os AWS recursos necessários. Para mais informações sobre as permissões necessárias, consulte Política mínima de IAM para o instalador provisionar recursos.

Para fornecer AWS credenciais ao dispositivo
  • Forneça suas AWS credenciais ao dispositivo para que o instalador possa provisionar os IAM recursos AWS IoT e os recursos do seu dispositivo principal. Para aumentar a segurança, recomendamos que você obtenha credenciais temporárias para uma IAM função que permita somente as permissões mínimas necessárias para provisionamento. Para obter mais informações, consulte Política mínima de IAM para o instalador provisionar recursos.

    nota

    O instalador não salva nem armazena suas credenciais.

    No seu dispositivo, faça o seguinte para recuperar as credenciais e disponibilizá-las para o AWS IoT Greengrass instalador do software Core:

    • (Recomendado) Use credenciais temporárias de AWS IAM Identity Center

      1. Forneça o ID da chave de acesso, a chave de acesso secreta e o token da sessão do IAM Identity Center. Para obter mais informações, consulte Atualização manual de credenciais em Obter e atualizar credenciais temporárias no guia do usuário do IAMIdentity Center.

      2. Execute os comandos a seguir para fornecer as credenciais para o software AWS IoT Greengrass principal.

        Linux or Unix
        export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
        Windows Command Prompt (CMD)
        set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY set AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
        PowerShell
        $env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" $env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" $env:AWS_SESSION_TOKEN="AQoDYXdzEJr1K...o5OytwEXAMPLE="
    • Use credenciais de segurança temporárias de uma IAM função:

      1. Forneça o ID da chave de acesso, a chave de acesso secreta e o token da sessão de uma IAM função que você assume. Para obter mais informações sobre como recuperar essas credenciais, consulte Solicitando credenciais de segurança temporárias no Guia do usuário. IAM

      2. Execute os comandos a seguir para fornecer as credenciais para o software AWS IoT Greengrass principal.

        Linux or Unix
        export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
        Windows Command Prompt (CMD)
        set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY set AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
        PowerShell
        $env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" $env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" $env:AWS_SESSION_TOKEN="AQoDYXdzEJr1K...o5OytwEXAMPLE="
    • Use credenciais de longo prazo de um IAM usuário:

      1. Forneça o ID da chave de acesso e a chave de acesso secreta para seu IAM usuário. Você pode criar um IAM usuário para provisionamento que você excluirá posteriormente. Para saber a IAM política a ser fornecida ao usuário, consultePolítica mínima de IAM para o instalador provisionar recursos. Para obter mais informações sobre como recuperar credenciais de longo prazo, consulte Gerenciamento de chaves de acesso para IAM usuários no Guia do IAMusuário.

      2. Execute os comandos a seguir para fornecer as credenciais para o software AWS IoT Greengrass principal.

        Linux or Unix
        export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
        Windows Command Prompt (CMD)
        set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
        PowerShell
        $env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" $env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
      3. (Opcional) Se você criou um IAM usuário para provisionar seu dispositivo Greengrass, exclua o usuário.

      4. (Opcional) Se você usou o ID da chave de acesso e a chave de acesso secreta de um IAM usuário existente, atualize as chaves do usuário para que elas não sejam mais válidas. Para obter mais informações, consulte Atualização das chaves de acesso no guia AWS Identity and Access Management do usuário.

Baixe o software AWS IoT Greengrass Core

Você pode baixar a versão mais recente do software AWS IoT Greengrass Core no seguinte local:

nota

Você pode baixar uma versão específica do software AWS IoT Greengrass Core no seguinte local. Substituir version com a versão para baixar.

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
Para baixar o software AWS IoT Greengrass Core
  1. Em seu dispositivo principal, baixe o software AWS IoT Greengrass Core para um arquivo chamadogreengrass-nucleus-latest.zip.

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip

    Ao fazer download desse software, você concorda com o Contrato de licença do software do Greengrass Core.

  2. (Opcional) Para verificar a assinatura do software Greengrass nucleus

    nota

    Esse recurso está disponível com o Greengrass nucleus versão 2.9.5 e posterior.

    1. Use o comando a seguir para verificar a assinatura do artefato do núcleo Greengrass:

      Linux or Unix
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      Windows Command Prompt (CMD)

      O nome do arquivo pode parecer diferente dependendo da JDK versão instalada. Substituir jdk17.0.6_10 com a JDK versão que você instalou.

      "C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe" -verify -certs -verbose greengrass-nucleus-latest.zip
      PowerShell

      O nome do arquivo pode parecer diferente dependendo da JDK versão instalada. Substituir jdk17.0.6_10 com a JDK versão que você instalou.

      'C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe' -verify -certs -verbose greengrass-nucleus-latest.zip
    2. A jarsigner invocação produz uma saída que indica os resultados da verificação.

      1. Se o arquivo zip do Greengrass nucleus estiver assinado, a saída conterá a seguinte declaração:

        jar verified.
      2. Se o arquivo zip do Greengrass nucleus não estiver assinado, a saída conterá a seguinte declaração:

        jar is unsigned.
    3. Se você forneceu a -certs opção Jarsigner junto com -verbose as opções -verify e, a saída também incluirá informações detalhadas do certificado do assinante.

  3. Descompacte o software AWS IoT Greengrass Core em uma pasta no seu dispositivo. Substituir GreengrassInstaller com a pasta que você deseja usar.

    Linux or Unix
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
    PowerShell
    Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\\GreengrassInstaller rm greengrass-nucleus-latest.zip
  4. (Opcional) Execute o comando a seguir para ver a versão do software AWS IoT Greengrass Core.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
Importante

Se você instalar uma versão do núcleo do Greengrass anterior à v2.4.0, não remova essa pasta depois de instalar o software Core. AWS IoT Greengrass O software AWS IoT Greengrass Core usa os arquivos dessa pasta para ser executado.

Se você baixou a versão mais recente do software, instale a versão 2.4.0 ou posterior e poderá remover essa pasta depois de instalar o software AWS IoT Greengrass Core.

Instale o software AWS IoT Greengrass Core

Execute o instalador com argumentos que especificam o seguinte:

  • Crie os AWS recursos que o dispositivo principal precisa para operar.

  • Especifique o uso do usuário do ggc_user sistema para executar componentes de software no dispositivo principal. Em dispositivos Linux, esse comando também especifica o uso do grupo do ggc_group sistema, e o instalador cria o usuário e o grupo do sistema para você.

  • Configure o software AWS IoT Greengrass Core como um serviço do sistema que é executado na inicialização. Em dispositivos Linux, isso requer o sistema init Systemd.

    Importante

    Nos dispositivos principais do Windows, você deve configurar o software AWS IoT Greengrass Core como um serviço do sistema.

Para configurar um dispositivo de desenvolvimento com ferramentas de desenvolvimento local, especifique o --deploy-dev-tools true argumento. As ferramentas de desenvolvimento local podem levar até um minuto para serem implantadas após a conclusão da instalação.

Para obter mais informações sobre os argumentos que você pode especificar, consulteArgumentos de instalação.

nota

Se você estiver executando AWS IoT Greengrass em um dispositivo com memória limitada, poderá controlar a quantidade de memória que o software AWS IoT Greengrass Core usa. Para controlar a alocação de memória, você pode definir as opções de tamanho da JVM pilha no parâmetro de jvmOptions configuração do componente do núcleo. Para obter mais informações, consulte Controle a alocação de memória com opções JVM.

Para instalar o software AWS IoT Greengrass Core
  1. Use um editor de texto para criar um arquivo de configuração chamado config.yaml para fornecer ao instalador.

    Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

    nano GreengrassInstaller/config.yaml

    Copie o YAML conteúdo a seguir no arquivo. Esse arquivo de configuração parcial especifica os parâmetros do sistema e os parâmetros do núcleo do Greengrass.

    --- services: aws.greengrass.Nucleus: configuration: fipsMode: "true" iotDataEndpoint: "data.iot-fips.us-west-2.amazonaws.com" iotCredEndpoint: "data.credentials.iot-fips.us-west-2.amazonaws.com" greengrassDataPlaneEndpoint: "iotData"
    • Substituir us-west-2 com o Região da AWS local onde você criou os recursos.

    • Substitua o iotDataEndpoint com seu endpoint AWS IoT de dados.

    • Substitua o iotCredEndpoint com seu endpoint de AWS IoT credenciais.

  2. Execute o instalador AWS IoT Greengrass Core. Substitua os valores dos argumentos em seu comando da seguinte maneira.

    nota

    O Windows tem uma limitação de comprimento de caminho de 260 caracteres. Se você estiver usando o Windows, use uma pasta raiz como C:\greengrass\v2 ou D:\greengrass\v2 para manter os caminhos dos componentes do Greengrass abaixo do limite de 260 caracteres.

    1. /greengrass/v2 ou C:\greengrass\v2: o caminho para a pasta raiz a ser usada para instalar o software AWS IoT Greengrass Core.

    2. GreengrassInstaller. O caminho para a pasta em que você descompactou o instalador do software AWS IoT Greengrass Core.

    3. region. O Região da AWS no qual encontrar ou criar recursos.

    4. MyGreengrassCore. O nome da AWS IoT coisa para o seu dispositivo principal do Greengrass. Se a coisa não existir, o instalador a cria. O instalador baixa os certificados para autenticar a AWS IoT coisa. Para obter mais informações, consulte Autorização e autenticação do dispositivo para o AWS IoT Greengrass.

      nota

      O nome da coisa não pode conter caracteres de dois pontos (:).

    5. MyGreengrassCoreGroup. O nome do grupo de AWS IoT coisas do seu dispositivo principal do Greengrass. Se o grupo de coisas não existir, o instalador o cria e adiciona a coisa a ele. Se o grupo de coisas existir e tiver uma implantação ativa, o dispositivo principal baixará e executará o software especificado pela implantação.

      nota

      O nome do grupo de coisas não pode conter caracteres de dois pontos (:).

    6. GreengrassV2IoTThingPolicy. O nome da AWS IoT política que permite que os dispositivos principais do Greengrass se comuniquem com e. AWS IoT AWS IoT Greengrass Se a AWS IoT política não existir, o instalador cria uma AWS IoT política permissiva com esse nome. Você pode restringir as permissões dessa política para seu caso de uso. Para obter mais informações, consulte AWS IoTPolítica mínima para dispositivos AWS IoT Greengrass V2 principais.

    7. GreengrassV2TokenExchangeRole. O nome da IAM função que permite que o dispositivo principal do Greengrass obtenha credenciais temporárias AWS . Se a função não existir, o instalador a cria, cria e anexa uma política chamadaGreengrassV2TokenExchangeRoleAccess. Para obter mais informações, consulte Autorize os dispositivos principais a interagir com os serviços AWS.

    8. GreengrassCoreTokenExchangeRoleAlias. O alias da IAM função que permite que o dispositivo principal do Greengrass obtenha credenciais temporárias posteriormente. Se o alias da função não existir, o instalador o cria e o aponta para a IAM função que você especificar. Para obter mais informações, consulte Autorize os dispositivos principais a interagir com os serviços AWS.

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --aws-region region \ --thing-name MyGreengrassCore \ --thing-group-name MyGreengrassCoreGroup \ --thing-policy-name GreengrassV2IoTThingPolicy \ --tes-role-name GreengrassV2TokenExchangeRole \ --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias \ --component-default-user ggc_user:ggc_group \ --provision true \ --init-config ./GreengrassInstaller/config.yaml \ --setup-system-service true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --aws-region region ^ --thing-name MyGreengrassCore ^ --thing-group-name MyGreengrassCoreGroup ^ --thing-policy-name GreengrassV2IoTThingPolicy ^ --tes-role-name GreengrassV2TokenExchangeRole ^ --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias ^ --component-default-user ggc_user ^ --provision true ^ --setup-system-service true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --aws-region region ` --thing-name MyGreengrassCore ` --thing-group-name MyGreengrassCoreGroup ` --thing-policy-name GreengrassV2IoTThingPolicy ` --tes-role-name GreengrassV2TokenExchangeRole ` --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias ` --component-default-user ggc_user ` --provision true ` --setup-system-service true
    Importante

    Nos dispositivos principais do Windows, você deve especificar --setup-system-service true a configuração do software AWS IoT Greengrass Core como um serviço do sistema.

    O instalador imprime as seguintes mensagens se for bem-sucedido:

    • Se você especificar--provision, o instalador Successfully configured Nucleus with provisioned resource details imprimirá se configurou os recursos com êxito.

    • Se você especificar--deploy-dev-tools, o instalador Configured Nucleus to deploy aws.greengrass.Cli component imprimirá se ele criou a implantação com êxito.

    • Se você especificar--setup-system-service true, o instalador imprimirá Successfully set up Nucleus as a system service se configurou e executou o software como um serviço.

    • Se você não especificar--setup-system-service true, o instalador Launched Nucleus successfully imprimirá se foi bem-sucedido e executou o software.

  3. Ignore esta etapa se você instalou a Núcleo Greengrass versão 2.0.4 ou posterior. Se você baixou a versão mais recente do software, instalou a versão 2.0.4 ou posterior.

    Execute o comando a seguir para definir as permissões de arquivo necessárias para a pasta raiz do software AWS IoT Greengrass Core. /greengrass/v2Substitua pela pasta raiz especificada no comando de instalação e substitua /greengrass com a pasta principal da sua pasta raiz.

    sudo chmod 755 /greengrass/v2 && sudo chmod 755 /greengrass

Se você instalou o software AWS IoT Greengrass Core como um serviço do sistema, o instalador executa o software para você. Caso contrário, você deverá executar o software manualmente. Para obter mais informações, consulte Execute o software AWS IoT Greengrass Core.

nota

Por padrão, a IAM função que o instalador cria não permite acesso aos artefatos dos componentes nos buckets do S3. Para implantar componentes personalizados que definem artefatos no Amazon S3, você deve adicionar permissões à função para permitir que seu dispositivo principal recupere artefatos de componentes. Para obter mais informações, consulte Permitir acesso aos buckets do S3 para artefatos de componentes.

Se você ainda não tem um bucket do S3 para artefatos de componentes, você pode adicionar essas permissões depois de criar um bucket.

Para obter mais informações sobre como configurar e usar o software AWS IoT Greengrass, consulte o seguinte:

FIPScomponentes primários de conformidade

aws.greengrass.Nucleus data.iot-fips.us-east-1.amazonaws.com
greengrass-fips.us-east-1.amazonaws.com
data.credentials.iot-fips.us-east-1.amazonaws.com
aws.greengrass.TokenExchangeService data.credentials.iot-fips.us-east-1.amazonaws.com
aws.greengrass.Cli
aws.greengrass.StreamManager
  • kinesis-fips.us-east-1.amazonaws.com

  • data.iotsitewise-fips.us-east-1.amazonaws.com

  • s3-fips.us-east-1.amazonaws.com

nota

O gerenciador de fluxo não oferece suporte a AWS IoT Analytics FIPS endpoints

aws.greengrass.LogManager dicas de registro.us-east-1.amazonaws.com
aws.greengrass.crypto.Pkcs11Provider
aws.greengrass.ShadowManager
aws.greengrass.DockerApplicationManager dicas de vídeo.us-east-1.amazonaws.com
aws.greengrass.SecretManager dicas do gerente de segredos.us-east-1.amazonaws.com
aws.greengrass.telemetry.NucleusEmitter
aws.greengrass.clientdevices.IPDetector
aws.greengrass.DiskSpooler