

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

# Endpoints do FIPS
<a name="FIPS"></a>

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

Comunicações MQTT para AWS IoT utilizar o endpoint FIPS do plano de dados de IoT [(conectando-se AWS IoT aos endpoints FIPS AWS IoT Core-) e a biblioteca criptográfica compatível com FIPS desenvolvida aws-lc](https://docs.aws.amazon.com/iot/latest/developerguide/iot-connect-fips.html#iot-connect-fips-data). AWS

Para comunicações HTTP no Greengrass:
+ Para componentes de núcleo e plug-in, todos os clientes HTTP do SDK são configurados com endpoints FIPS definindo a propriedade do sistema como verdadeira; AWS\$1USE\$1FIPS\$1ENDPOINT 
+ Para componentes genéricos, todos os componentes começam com a propriedade do sistema AWS\$1USE\$1FIPS\$1ENDPOINT definida como verdadeira. Esse processo garante que os clientes HTTP do SDK usados por esses componentes genéricos enviem solicitações para endpoints compatíveis com o FIPS.

**nota**  
No caso do Stream Manager, o Nucleus passa a variável de ambiente AWS\$1GG \$1FIPS\$1MODE. Essa variável de ambiente permite que os clientes HTTP utilizados no Stream Manager identifiquem e se conectem ao endpoint compatível com o FIPS correspondente.

AWS IoT Greengrass oferece dois métodos para ativar o modo FIPS: provisionamento e implantação. Para ativar o modo FIPS, você precisa definir o parâmetro `fipsMode` de configuração como verdadeiro. O Nucleus então define a propriedade do sistema como verdadeira e AWS\$1USE\$1FIPS\$1ENDPOINT 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 o FIPS por meio de uma nova implantação, o núcleo será reiniciado para garantir que a propriedade do sistema entre em vigor após a ativação do modo FIPS.

 Além de configurar o parâmetro `fipsMode`, também é preciso configurar os parâmetros `iotDataEndpoint`, `iotCredEndpoint` e `greengrassDataEndpoint`. Para mais informações, consulte a documentação relevante abaixo.

## Habilitar o endpoints do FIPS com implantação
<a name="FIPS-deployment"></a>

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 à AWS IoT. São necessários dois endpoints, o `iotDataEndpoint` e o `iotCredEndpoint`. Faça o seguinte:

1. Obtenha o endpoint de dados do FIPS para sua região nos [endpoints do plano de dados do FIPS do AWS IoT Core .](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints) O endpoint de dados FIPS para você Conta da AWS deve ter a seguinte aparência: *data.iot-fips.us-west-2.amazonaws.com*

1. Obtenha o endpoint de credenciais do FIPS para sua região em [endpoints do plano de dados do FIPS do AWS IoT Core .](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints) O endpoint de credenciais FIPS para você Conta da AWS deve ter a seguinte aparência: *data.credentials.iot-fips.us-west-2.amazonaws.com*

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

------
#### [ Console ]

**Configuração a ser mesclada**  

```
{
  "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 arquivo `dashboard-deployment.json` contém o documento JSON a seguir.

```
{
  "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 comando da [CLI do Greengrass](greengrass-cli-component.md) 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 arquivo `dashboard-configuration.json` contém o documento JSON a seguir.

```
{
  "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 núcleo com endpoints do FIPS com provisionamento manual de recursos
<a name="FIPS-manual-installation"></a>

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

**Importante**  <a name="install-greengrass-core-requirements-note"></a>
Antes de baixar o software AWS IoT Greengrass Core, verifique se seu dispositivo principal atende aos [requisitos](greengrass-nucleus-component.md#greengrass-v2-requirements) para instalar e executar o software AWS IoT Greengrass Core v2.0.

**Topics**
+ [Recupere endpoints AWS IoT](#w2ab1c58c44c23b9)
+ [Crie qualquer AWS IoT coisa](#create-iot-thing)
+ [Criar o certificado do objeto](#create-thing-certificate-fips)
+ [Criar um perfil de troca de token](#create-token-exchange-role)
+ [Baixar certificados para o dispositivo](#download-thing-certificates)
+ [Configurar o ambiente do dispositivo](#set-up-device-environment)
+ [Baixe o software AWS IoT Greengrass Core](#download-greengrass-core-v2)
+ [Instale o software AWS IoT Greengrass Core](#run-greengrass-core-v2-installer-manual-fips)

### Recupere endpoints AWS IoT
<a name="w2ab1c58c44c23b9"></a>

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 à AWS IoT. São necessários dois endpoints, o `iotDataEndpoint` e o `iotCredEndpoint`. Faça o seguinte:

1. Obtenha o endpoint de dados do FIPS para sua região nos [endpoints do plano de dados do FIPS do AWS IoT Core .](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints) O endpoint de dados FIPS para você Conta da AWS deve ter a seguinte aparência: *data.iot-fips.us-west-2.amazonaws.com*

1. Obtenha o endpoint de credenciais do FIPS para sua região em [endpoints do plano de dados do FIPS do AWS IoT Core .](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints) O endpoint de credenciais FIPS 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
<a name="create-iot-thing"></a>

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. Execute o comando a seguir no computador de desenvolvimento.
   + *MyGreengrassCore*Substitua pelo nome da coisa a ser usada. Esse nome também é o nome do dispositivo principal do Greengrass.
**nota**  <a name="install-argument-thing-name-constraint"></a>
O nome do objeto não pode conter caracteres de dois pontos (`:`).

   ```
   aws iot create-thing --thing-name MyGreengrassCore
   ```

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

   ```
   {
     "thingName": "MyGreengrassCore",
     "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore",
     "thingId": "8cb4b6cd-268e-495d-b5b9-1713d71dbf42"
   }
   ```

1. (Opcional) Adicione a AWS IoT coisa a um grupo de coisas novo ou existente. Use grupos de objetos para gerenciar frotas de dispositivos principais do Greengrass. Ao implantar componentes de software nos dispositivos, é possível segmentar dispositivos individuais ou grupos de dispositivos. É possível adicionar um dispositivo a um grupo de objetos com uma implantação ativa do Greengrass para implantar os componentes de software desse grupo de objetos no dispositivo. Faça o seguinte:

   1. (Opcional) Crie um grupo de AWS IoT coisas.
      + *MyGreengrassCoreGroup*Substitua pelo nome do grupo de coisas a ser criado.
**nota**  <a name="install-argument-thing-group-name-constraint"></a>
O nome do grupo de objetos não pode conter caracteres de dois pontos (`:`).

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

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

      ```
      {
        "thingGroupName": "MyGreengrassCoreGroup",
        "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup",
        "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa"
      }
      ```

   1. Adicione a AWS IoT coisa a um grupo de coisas.
      + *MyGreengrassCore*Substitua pelo nome da sua AWS IoT coisa.
      + *MyGreengrassCoreGroup*Substitua pelo 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.

### Criar o certificado do objeto
<a name="create-thing-certificate-fips"></a>

<a name="create-thing-certificate-intro-1"></a>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.

<a name="create-thing-certificate-intro-2"></a>Nesta seção, você cria e baixa certificados que o dispositivo pode usar para se conectar com a AWS.

<a name="create-thing-certificate-intro-3"></a>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 atributo de segurança de hardware está disponível somente em dispositivos Linux. Para mais informações sobre a segurança do hardware e os requisitos para usá-lo, consulte [Integração de segurança de hardware](hardware-security.md).

#### Crie o certificado e a chave privada no AWS IoT serviço
<a name="create-thing-certificate-cloud"></a><a name="create-thing-certificate-cloud-steps"></a>

**Para criar o certificado do objeto**

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

   ```
   mkdir greengrass-v2-certs
   ```

1. 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
   ```

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

   ```
   {
     "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 nome do recurso da Amazon (ARN) do certificado para usar na configuração do certificado posteriormente.

#### Crie o certificado a partir de uma chave privada em um HSM
<a name="create-thing-certificate-hardware-security"></a>

**nota**  
[Esse recurso está disponível para a versão 2.5.3 e posterior do componente núcleo do Greengrass.](greengrass-nucleus-component.md) AWS IoT Greengrass atualmente não oferece suporte a esse recurso nos dispositivos principais do Windows. 

**Para criar o certificado do objeto**

1. No dispositivo principal, inicialize um token PKCS\$111 no HSM e gere uma chave privada. A chave privada precisa ser uma chave RSA com um tamanho de chave RSA-2048 (ou maior) ou uma chave ECC.
**nota**  <a name="hardware-security-module-requirements-key-notes"></a>
Para usar um módulo de segurança de hardware com chaves ECC, use o [Greengrass nucleus](greengrass-nucleus-component.md) v2.5.6 ou posterior.  
Para usar um módulo de segurança de hardware e um [gerenciador de segredos](secret-manager-component.md), use um módulo de segurança de hardware com chaves RSA.

   Consulte a documentação do HSM para saber como inicializar o token e gerar a chave privada. Se seu HSM oferecer suporte a objetos IDs, especifique um ID de objeto ao gerar a chave privada. Salve o ID do slot, o PIN do usuário, o rótulo do objeto e o ID do objeto (se o 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.

1. Crie uma solicitação de assinatura de certificado (CSR) a partir da chave privada. A AWS IoT usa essa CSR para criar um certificado para a chave privada que você gerou no HSM. Para informações sobre como criar um CSR a partir da chave privada, consulte a documentação do HSM. O CSR é um arquivo, como `iotdevicekey.csr`.

1. Copie a CSR do dispositivo para o computador de desenvolvimento. Se o SSH e o SCP estiverem habilitados no computador de desenvolvimento e no dispositivo, será possível usar o comando `scp` no computador de desenvolvimento para transferir o CSR. *device-ip-address*Substitua pelo endereço IP do seu dispositivo e *\$1/iotdevicekey.csr* substitua pelo caminho para o arquivo CSR no dispositivo.

   ```
   scp device-ip-address:~/iotdevicekey.csr iotdevicekey.csr
   ```

1. No seu computador de desenvolvimento, crie uma pasta na qual você baixa o certificado da AWS IoT coisa.

   ```
   mkdir greengrass-v2-certs
   ```

1. Use o arquivo CSR para criar e baixar o certificado do objeto da AWS IoT no 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
   ```

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

   ```
   {
     "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 ARN do certificado para usar na configuração do certificado posteriormente.

Em seguida, configure o certificado da coisa. Para obter mais informações, consulte [Configurar o certificado do objeto](manual-installation.md#configure-thing-certificate).

### Criar um perfil de troca de token
<a name="create-token-exchange-role"></a>

<a name="installation-create-token-exchange-role-intro"></a>Os dispositivos principais do Greengrass usam uma função de serviço do IAM, 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](device-service-role.md).

<a name="installation-create-token-exchange-role-alias-intro"></a>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 perfil permitem que você altere o perfil de troca de tokens de um dispositivo, mas mantenha a mesma configuração do dispositivo. Para mais informações, consulte [Autorizar de chamadas diretas para serviços da AWS](https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html) no *Guia do desenvolvedor do AWS IoT Core *.

Nesta seção, você cria uma função do IAM 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 o perfil de troca de tokens e o alias de perfil em vez de criar novos. Em seguida, você configura o objeto da AWS IoT do dispositivo para usar esse perfil e alias.

**Para criar um perfil do IAM de troca de token**

1. <a name="create-token-exchange-role-create-iam-role"></a>Crie um perfil do IAM que seu dispositivo possa usar como um perfil de troca de tokens. Faça o seguinte:

   1. Crie um arquivo que contenha o documento de política de confiança exigido pelo perfil de troca de token.

      <a name="nano-command-intro"></a>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"
          }
        ]
      }
      ```

   1. Crie o perfil de troca de token com o documento de política de confiança.
      + *GreengrassV2TokenExchangeRole*Substitua pelo nome da função do IAM a ser criada.

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

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

      ```
      {
        "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"
              }
            ]
          }
        }
      ```

   1. Crie um arquivo que contenha o documento de política de acesso exigido pelo perfil de troca de token.

      <a name="nano-command-intro"></a>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 nos buckets do S3. Para implantar componentes personalizados que definem artefatos no Amazon S3, é preciso adicionar permissões ao perfil 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](device-service-role.md#device-service-role-access-s3-bucket).  
Se você ainda não tem um bucket do S3 para artefatos de componentes, é possível adicionar essas permissões depois de criar um bucket.

   1. Crie uma política do IAM a partir do documento de política.
      + *GreengrassV2TokenExchangeRoleAccess*Substitua pelo nome da política do IAM a ser criada.

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

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

      ```
      {
        "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"
        }
      }
      ```

   1. Anexe a política do IAM ao perfil de troca de token.
      + Substitua *GreengrassV2TokenExchangeRole* pelo nome da perfil do IAM.
      + Substitua o ARN da política pelo ARN da política do IAM que você criou na etapa anterior.

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

1. <a name="create-token-exchange-role-create-iot-role-alias"></a>Crie um alias de AWS IoT função que aponte para a função de troca de tokens.
   + *GreengrassCoreTokenExchangeRoleAlias*Substitua pelo nome do alias de função a ser criado.
   + Substitua o ARN do perfil pelo ARN do perfil do IAM que você criou na etapa anterior.

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

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

   ```
   {
     "roleAlias": "GreengrassCoreTokenExchangeRoleAlias",
     "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias"
   }
   ```
**nota**  
Para criar um alias do perfil, é preciso ter permissão para passar o perfil do IAM de troca de token para a 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) no *Guia do AWS Identity and Access Management usuário*.

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

      <a name="nano-command-intro"></a>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 JSON a seguir no arquivo.
      + Substitua o ARN do recurso pelo ARN do alias da do perfil.

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "iot:AssumeRoleWithCertificate",
            "Resource": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias"
          }
        ]
      }
      ```

   1. Crie uma AWS IoT política a partir do documento de política.
      + *GreengrassCoreTokenExchangeRoleAliasPolicy*Substitua pelo 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
      ```

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

      ```
      {
        "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"
      }
      ```

   1. Anexe a AWS IoT política ao certificado da AWS IoT coisa.
      + *GreengrassCoreTokenExchangeRoleAliasPolicy*Substitua pelo nome da AWS IoT política de alias de função.
      + Substitua o ARN de destino pelo ARN do certificado do objeto da AWS IoT .

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

### Baixar certificados para o dispositivo
<a name="download-thing-certificates"></a>

Anteriormente, você baixou o certificado do dispositivo para o 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 pode baixar o certificado da autoridade de certificação raiz (CA) da Amazon. Se você usa um HSM, 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 objeto 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 um HSM.

#### Baixar certificados com a chave privada e arquivos de certificado
<a name="download-thing-certificates-without-hardware-security"></a>

**Para baixar certificados para o dispositivo**

1. <a name="installation-copy-thing-certificate-to-device"></a>Copie o AWS IoT certificado do item do seu computador de desenvolvimento para o dispositivo. Se o SSH e o SCP estiverem habilitados no computador de desenvolvimento e no dispositivo, será possível usar o comando `scp` no computador de desenvolvimento para transferir o certificado. *device-ip-address*Substitua pelo endereço IP do seu dispositivo.

   ```
   scp -r greengrass-v2-certs/ device-ip-address:~
   ```

1. <a name="installation-create-greengrass-root-folder"></a>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 ]
   + Substitua `/greengrass/v2` pela pasta a ser usada.

   ```
   sudo mkdir -p /greengrass/v2
   ```

------
#### [ Windows Command Prompt ]
   + Substitua *C:\$1greengrass\$1v2* pela pasta a ser usada.

   ```
   mkdir C:\greengrass\v2
   ```

------
#### [ PowerShell ]
   + Substitua *C:\$1greengrass\$1v2* pela pasta a ser usada.

   ```
   mkdir C:\greengrass\v2
   ```

------

1. <a name="installation-set-greengrass-root-folder-permissions"></a>(Somente Linux) Defina as permissões do pai da pasta raiz do Greengrass.
   + */greengrass*Substitua pelo pai da pasta raiz.

   ```
   sudo chmod 755 /greengrass
   ```

1. Copie os certificados do AWS IoT item para a pasta raiz do Greengrass.

------
#### [ Linux or Unix ]
   + Substitua `/greengrass/v2` pela pasta raiz do Greengrass.

   ```
   sudo cp -R ~/greengrass-v2-certs/* /greengrass/v2
   ```

------
#### [ Windows Command Prompt ]
   + Substitua *C:\$1greengrass\$1v2* pela pasta a ser usada.

   ```
   robocopy %USERPROFILE%\greengrass-v2-certs C:\greengrass\v2 /E
   ```

------
#### [ PowerShell ]
   + Substitua *C:\$1greengrass\$1v2* pela pasta a ser usada.

   ```
   cp -Path ~\greengrass-v2-certs\* -Destination C:\greengrass\v2
   ```

------

1. Faça download do certificado da autoridade de certificação (CA) raiz da Amazon. Os certificados da AWS IoT são associados ao certificado CA raiz da Amazon por padrão. Baixe o CA1 certificado e o [CA3certificado](https://www.amazontrust.com/repository/).

------
#### [ Linux or Unix ]
   + Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pela 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
   ```

------

#### Baixar certificados com a chave privada e o certificado em um HSM
<a name="download-thing-certificates-with-hardware-security"></a>

**nota**  
[Esse recurso está disponível para a versão 2.5.3 e posterior do componente núcleo do Greengrass.](greengrass-nucleus-component.md) AWS IoT Greengrass atualmente não oferece suporte a esse recurso nos dispositivos principais do Windows. 

**Para baixar certificados para o dispositivo**

1. <a name="installation-copy-thing-certificate-to-device"></a>Copie o AWS IoT certificado do item do seu computador de desenvolvimento para o dispositivo. Se o SSH e o SCP estiverem habilitados no computador de desenvolvimento e no dispositivo, será possível usar o comando `scp` no computador de desenvolvimento para transferir o certificado. *device-ip-address*Substitua pelo endereço IP do seu dispositivo.

   ```
   scp -r greengrass-v2-certs/ device-ip-address:~
   ```

1. <a name="installation-create-greengrass-root-folder"></a>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 ]
   + Substitua `/greengrass/v2` pela pasta a ser usada.

   ```
   sudo mkdir -p /greengrass/v2
   ```

------
#### [ Windows Command Prompt ]
   + Substitua *C:\$1greengrass\$1v2* pela pasta a ser usada.

   ```
   mkdir C:\greengrass\v2
   ```

------
#### [ PowerShell ]
   + Substitua *C:\$1greengrass\$1v2* pela pasta a ser usada.

   ```
   mkdir C:\greengrass\v2
   ```

------

1. <a name="installation-set-greengrass-root-folder-permissions"></a>(Somente Linux) Defina as permissões do pai da pasta raiz do Greengrass.
   + */greengrass*Substitua pelo pai da pasta raiz.

   ```
   sudo chmod 755 /greengrass
   ```

1. Importe o arquivo de certificado do objeto, `~/greengrass-v2-certs/device.pem.crt`, para o HSM. Consulte a documentação do HSM para saber como importar certificados para ele. Importe o certificado usando o mesmo token, ID do slot, PIN do usuário, rótulo do objeto e ID do objeto (se o HSM usar um) em que você gerou a chave privada no 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 do HSM para saber como definir o ID do objeto de chave privada.

1. (Opcional) Exclua o arquivo de certificado do item, para que ele exista somente no HSM.

   ```
   rm ~/greengrass-v2-certs/device.pem.crt
   ```

1. Faça download do certificado da autoridade de certificação (CA) raiz da Amazon. Os certificados da AWS IoT são associados ao certificado CA raiz da Amazon por padrão. Faça o download do certificado CA1 e do [CA3certificado](https://www.amazontrust.com/repository/).

------
#### [ Linux or Unix ]
   + Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pela 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
<a name="set-up-device-environment"></a>

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

#### Configurar um dispositivo Linux
<a name="set-up-linux-device-environment"></a><a name="set-up-linux-device-environment-procedure"></a>

**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 longo prazo do [Amazon Corretto](https://aws.amazon.com/corretto/) ou do [OpenJDK](https://openjdk.java.net/). A versão 8 ou superior é obrigatória. Os seguintes comandos mostram como instalar o OpenJDK no 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 seguinte comando para verificar se o Java é executado no 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 seguinte exemplo.

   ```
   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)
   ```

1. (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](configure-installer.md).

   ```
   sudo useradd --system --create-home ggc_user
   sudo groupadd --system ggc_group
   ```

1. Verifique se o usuário que executa o software AWS IoT Greengrass Core (normalmente`root`) tem permissão para executar `sudo` com qualquer usuário e qualquer grupo.

   1. Execute o seguinte comando para abrir o arquivo `/etc/sudoers`.

      ```
      sudo visudo
      ```

   1. Verifique se a permissão do usuário se parece com o seguinte exemplo.

      ```
      root    ALL=(ALL:ALL) ALL
      ```

1. (Opcional) Para [executar funções do Lambda em contêineres](run-lambda-functions.md), habilite [cgroups](https://en.wikipedia.org/wiki/Cgroups) v1 e habilite e monte os cgroups de *memória* e *dispositivos*. Se você não planeja executar funções do Lambda em contêineres, ignore esta etapa.

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

   ```
   cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
   ```

   Para mais informações sobre como visualizar e definir parâmetros do kernel para o 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.

1. Instale todas as outras dependências necessárias no dispositivo, conforme indicado na lista de requisitos em [Requisitos do dispositivo](greengrass-nucleus-component.md#greengrass-v2-requirements).

#### Configurar um dispositivo Windows
<a name="set-up-windows-device-environment"></a>

**nota**  
Esse recurso está disponível para a versão 2.5.0 e posterior do [componente de Greengrass nucleus](greengrass-nucleus-component.md).<a name="set-up-windows-device-environment-procedure"></a>

**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 longo prazo do [Amazon Corretto](https://aws.amazon.com/corretto/) ou do [OpenJDK](https://openjdk.java.net/). A versão 8 ou superior é obrigatória.

1. Verifique se o Java está disponível na variável de sistema [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) e, caso contrário, adicione. A LocalSystem conta executa o software AWS IoT Greengrass Core, então você deve adicionar Java à variável de sistema PATH em vez da variável de usuário PATH para seu usuário. Faça o seguinte:

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

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

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

   1. Escolha **Variáveis de ambiente...** para abrir a janela **Variáveis de ambiente**.

   1. Em **Variáveis de Sistema**, selecione a variável **Path** e em seguida **Editar**. Na janela **Editar variável de ambiente**, você visualiza cada caminho em uma linha separada.

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

      ```
      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
      ```

   1. Se a pasta `bin` da instalação do Java estiver ausente do **Path**, selecione **Novo** para adicioná-la e, em seguida, selecione **OK**.

1. <a name="set-up-windows-device-environment-open-cmd"></a>Abra o prompt de comando do Windows (`cmd.exe`) como um administrador.

1. <a name="set-up-windows-device-environment-create"></a>Crie o usuário padrão na LocalSystem conta no dispositivo Windows. *password*Substitua por uma senha segura.

   ```
   net user /add ggc_user password
   ```
**dica**  <a name="windows-password-expiration-tip"></a>
Dependendo da configuração do Windows, a senha do usuário pode ser definida para expirar em uma data futura. Para garantir que as aplicações Greengrass continuem operando, monitore quando a senha expira e atualize-a antes disso. Também é possível definir que a senha nunca expire.  
Para verificar quando um usuário e 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 seguinte comando.  

     ```
     wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
     ```
Se você estiver usando o Windows 10 ou posterior, onde o [`wmic`comando está obsoleto](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), execute o comando a seguir. PowerShell   

     ```
     Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
     ```

1. <a name="set-up-windows-device-psexec"></a>Baixe e instale o [PsExecutilitário](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) da Microsoft no dispositivo. 

1. <a name="set-up-windows-device-credentials"></a>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. *password*Substitua pela senha do usuário que você definiu anteriormente.

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

   Se **PsExec License Agreement** abrir, selecione **Accept** para concordar com a licença e execute 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
<a name="download-greengrass-core-v2"></a>

Você pode baixar a versão mais recente do software AWS IoT Greengrass Core no seguinte local:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass](https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip)-nucleus-latest.zip

**nota**  
Você pode baixar uma versão específica do software AWS IoT Greengrass Core no seguinte local. *version*Substitua pela versão a ser baixada.  

```
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
```

**Para baixar o software AWS IoT Greengrass Core**

1. <a name="installation-download-ggc-software-step"></a>Em seu dispositivo principal, baixe o software AWS IoT Greengrass Core para um arquivo chamado`greengrass-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
   ```

------

   <a name="core-software-license"></a>Ao fazer download desse software, você concorda com o [Contrato de licença do software do Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

1. <a name="verify-gg-nucleus-signature"></a>(Opcional) Para verificar a assinatura do software do Greengrass nucleus
**nota**  
Esse atributo 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 Greengrass nucleus:

------
#### [ Linux or Unix ]

      ```
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

------
#### [ Windows Command Prompt (CMD) ]

      O nome do arquivo pode parecer diferente dependendo da versão do JDK que você instala. Substitua *`jdk17.0.6_10`* pela versão do JDK 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 versão do JDK que você instala. Substitua *`jdk17.0.6_10`* pela versão do JDK que você instalou.

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

------

   1. A invocação `jarsigner` 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.
         ```

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

         ```
         jar is unsigned.
         ```

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

1. <a name="installation-unzip-ggc-software-step"></a>Descompacte o software AWS IoT Greengrass Core em uma pasta no seu dispositivo. *GreengrassInstaller*Substitua pela 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
   ```

------

1. (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**  <a name="installer-folder-2.4.0-warning"></a>
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
<a name="run-greengrass-core-v2-installer-manual-fips"></a>

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 dos recursos da AWS 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ê.
+ <a name="install-argument-component-default-user"></a>Especifique o uso do usuário do sistema `ggc_user` para executar componentes de software no dispositivo principal. Em dispositivos Linux, esse comando também especifica o uso do grupo do sistema `ggc_group` e o instalador cria o usuário e o grupo do sistema para você.
+ <a name="install-argument-system-service"></a>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](https://en.wikipedia.org/wiki/Systemd).
**Importante**  <a name="windows-system-service-requirement-important-note"></a>
Nos dispositivos principais do Windows, você deve configurar o software AWS IoT Greengrass Core como um serviço do sistema.

Para mais informações sobre os argumentos que podem ser especificados, consulte [Argumentos de instalação](configure-installer.md).

**nota**  
<a name="jvm-tuning-note"></a>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, é possível definir as opções de tamanho do heap do JVM no parâmetro de configuração `jvmOptions` no componente do núcleo. Para obter mais informações, consulte [Controlar a alocação de memória com opções de JVM](configure-greengrass-core-v2.md#jvm-tuning).
+ 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 um HSM.

#### Instale o software AWS IoT Greengrass Core com arquivos de chave privada e certificado
<a name="FIPS-manual-installation-without-hardware-security"></a>

**Para instalar o software AWS IoT Greengrass Core**

1. <a name="installer-check-greengrass-core-software-version"></a>Verifique a versão do software AWS IoT Greengrass Core.
   + *GreengrassInstaller*Substitua pelo caminho para a pasta que contém o software.

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

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

   <a name="nano-command-intro"></a>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 seguinte conteúdo YAML para o arquivo. Esse arquivo de configuração parcial especifica os parâmetros do sistema e os parâmetros do Greengrass nucleus.

   ```
   ---
   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.16.1"
       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"
   ```

   Faça o seguinte:
   + Substitua cada instância de `/greengrass/v2` pela pasta raiz do Greengrass.
   + *MyGreengrassCore*Substitua pelo nome da AWS IoT coisa.
   + *2.16.1*Substitua pela versão do software AWS IoT Greengrass Core.
   + *us-west-2*Substitua pelo Região da AWS local em que você criou os recursos.
   + *GreengrassCoreTokenExchangeRoleAlias*Substitua pelo 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.

1. Execute o instalador e especifique `--init-config` para fornecer o arquivo de configuração.
   + Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pela pasta raiz do Greengrass.
   + Substitua cada instância do *GreengrassInstaller* pela 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**  <a name="windows-system-service-installer-argument-important-note"></a>
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.

   <a name="installer-setup-system-service-output-message"></a>Se você especificar `--setup-system-service true`, o instalador imprimirá `Successfully set up Nucleus as a system service` se ele 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**  <a name="installer-deploy-dev-tools-without-provision"></a>
Não é possível usar o argumento `deploy-dev-tools` para implantar ferramentas de desenvolvimento local ao executar o instalador sem o argumento `--provision true`. Para informações sobre a implantação da CLI do Greengrass diretamente no dispositivo, consulte [Interface de linha de comando do Greengrass](gg-cli.md).

1. <a name="installer-verify-installation"></a>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 pastas, como `config`, `packages` e `logs`.

#### Instale o software AWS IoT Greengrass Core com a chave privada e o certificado em um HSM
<a name="FIPS-manual-installation-with-hardware-security"></a>

**nota**  
[Esse recurso está disponível para a versão 2.5.3 e posterior do componente núcleo do Greengrass.](greengrass-nucleus-component.md) 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. <a name="installer-check-greengrass-core-software-version"></a>Verifique a versão do software AWS IoT Greengrass Core.
   + *GreengrassInstaller*Substitua pelo caminho para a pasta que contém o software.

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

1. Para permitir que o software AWS IoT Greengrass Core use a chave privada e o certificado no HSM, instale o [componente do provedor PKCS \$111](pkcs11-provider-component.md) ao instalar o software AWS IoT Greengrass Core. O componente do provedor PKCS\$111 é um plug-in que você pode configurar durante a instalação. É possível baixar a versão mais recente do componente do provedor PKCS\$111 no seguinte local:
   + [https://d2s8p88vqu9w66.cloudfront. net/releases/Pkcs11Provider/aws.greengrass.crypto.pkcs11Provider-Latest.jar](https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar)

   Baixe o plug-in do provedor PKCS\$111 para um arquivo chamado `aws.greengrass.crypto.Pkcs11Provider.jar`. *GreengrassInstaller*Substitua pela 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
   ```

   <a name="core-software-license"></a>Ao fazer download desse software, você concorda com o [Contrato de licença do software do Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

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

   <a name="nano-command-intro"></a>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 seguinte conteúdo YAML para o arquivo. Esse arquivo de configuração parcial especifica os parâmetros do sistema, os parâmetros do Greengrass nucleus e os parâmetros do provedor PKCS\$111.

   ```
   ---
   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.16.1"
       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"
   ```

   Faça o seguinte:
   + Substitua cada instância do PKCS \$111 URIs pelo rótulo do objeto *iotdevicekey* em que você criou a chave privada e importou o certificado.
   + Substitua cada instância de `/greengrass/v2` pela pasta raiz do Greengrass.
   + *MyGreengrassCore*Substitua pelo nome da AWS IoT coisa.
   + *2.16.1*Substitua pela versão do software AWS IoT Greengrass Core.
   + *us-west-2*Substitua pelo Região da AWS local em que você criou os recursos.
   + *GreengrassCoreTokenExchangeRoleAlias*Substitua pelo nome do alias da função de troca de tokens.
   + Substitua o `iotDataEndpoint` por seu endpoint de AWS IoT dados.
   + Substitua o `iotCredEndpoint` pelo seu endpoint de credenciais da AWS IoT .
   + Substitua os parâmetros de configuração do componente `aws.greengrass.crypto.Pkcs11Provider` pelos valores da configuração do HSM no dispositivo principal.

1. Execute o instalador e especifique `--init-config` para fornecer o arquivo de configuração.
   + Substitua `/greengrass/v2` pela pasta raiz do Greengrass.
   + Substitua cada instância do *GreengrassInstaller* pela 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**  <a name="windows-system-service-installer-argument-important-note"></a>
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.

   <a name="installer-setup-system-service-output-message"></a>Se você especificar `--setup-system-service true`, o instalador imprimirá `Successfully set up Nucleus as a system service` se ele 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**  <a name="installer-deploy-dev-tools-without-provision"></a>
Não é possível usar o argumento `deploy-dev-tools` para implantar ferramentas de desenvolvimento local ao executar o instalador sem o argumento `--provision true`. Para informações sobre a implantação da CLI do Greengrass diretamente no dispositivo, consulte [Interface de linha de comando do Greengrass](gg-cli.md).

1. <a name="installer-verify-installation"></a>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 pastas, como `config`, `packages` e `logs`.

<a name="install-greengrass-core-run-software"></a>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, será preciso executar o software manualmente. Para obter mais informações, consulte [Execute o software AWS IoT Greengrass Core](run-greengrass-core-v2.md).

<a name="install-greengrass-core-next-steps-intro"></a>Para obter mais informações sobre como configurar e usar o software AWS IoT Greengrass, consulte o seguinte:<a name="install-greengrass-core-next-steps-links"></a>
+ [Configurar o software AWS IoT Greengrass principal](configure-greengrass-core-v2.md)
+ [Desenvolver componentes do AWS IoT Greengrass](develop-greengrass-components.md)
+ [Implemente AWS IoT Greengrass componentes em dispositivos](manage-deployments.md)
+ [Interface de linha de comando do Greengrass](gg-cli.md)

## Instalar endpoints do FIPS com provisionamento de frota
<a name="FIPS-fleet-provisioning"></a>

Esse recurso está disponível para a versão 2.4.0 e posterior do [componente de Greengrass nucleus](greengrass-nucleus-component.md).

Instale endpoints FIPS 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 um HSM, [instale o software AWS IoT Greengrass Core com provisionamento manual](#FIPS-fleet-provisioning).

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 reivindicação e um [perfil do IAM de troca de tokens](device-service-role.md). Depois de criar esses recursos, é possível 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](fleet-provisioning-setup.md).

**Importante**  <a name="install-greengrass-core-requirements-note"></a>
Antes de baixar o software AWS IoT Greengrass Core, verifique se seu dispositivo principal atende aos [requisitos](greengrass-nucleus-component.md#greengrass-v2-requirements) para instalar e executar o software AWS IoT Greengrass Core v2.0.

**Topics**
+ [Pré-requisitos](#fleet-provisioning-prerequisites)
+ [Recupere endpoints AWS IoT](#retrieve-iot-endpoints)
+ [Baixar certificados para o dispositivo](#download-claim-certificates)
+ [Configurar o ambiente do dispositivo](#set-up-device-environment-fleet-provisioning)
+ [Baixe o software AWS IoT Greengrass Core](#download-greengrass-core-v2-fleet)
+ [Baixe o plug-in de aprovisionamento de AWS IoT frotas](#download-fleet-provisioning-plugin)
+ [Instale o software AWS IoT Greengrass Core](#run-greengrass-core-v2-installer-fleet-provisioning)

### Pré-requisitos
<a name="fleet-provisioning-prerequisites"></a>

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](fleet-provisioning-setup.md). 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
<a name="retrieve-iot-endpoints"></a>

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

1. Obtenha o endpoint de dados do FIPS para sua região nos [endpoints do plano de dados do FIPS do AWS IoT Core .](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints) O endpoint de dados FIPS para você Conta da AWS deve ter a seguinte aparência: *data.iot-fips.us-west-2.amazonaws.com*

1. Obtenha o endpoint de credenciais do FIPS para sua região em [endpoints do plano de dados do FIPS do AWS IoT Core .](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints) O endpoint de credenciais FIPS para você Conta da AWS deve ter a seguinte aparência: *data.credentials.iot-fips.us-west-2.amazonaws.com*

### Baixar certificados para o dispositivo
<a name="download-claim-certificates"></a>

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. É possível incorporar o certificado de reivindicação e a chave privada no dispositivo durante a fabricação ou copiar o certificado e a chave para o dispositivo durante a instalação. Nesta seção, você copia o certificado de reivindicação e a chave privada para o dispositivo. Você também pode baixar o certificado da autoridade de certificação (CA) raiz da Amazon ao dispositivo.

**Importante**  <a name="installation-fleet-provisioning-secure-claim-private-keys"></a>
O provisionamento de chaves privadas de reivindicação deve ser protegido o tempo todo, inclusive em 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 reivindicação de provisionamento para que ele não possa ser usado para o provisionamento de dispositivos. Para obter mais informações, consulte [Monitorar AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/monitoring_overview.html) 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 hook de pré-provisionamento que compara a ID do dispositivo a um banco de dados para verificar se ele tem permissão para provisionar. Para mais informações, consulte [Hooks de pré-provisionamento](https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html) no *Guia do desenvolvedor da AWS IoT Core *.

**Para baixar certificados de reivindicação para o dispositivo**

1. Copie o certificado de reivindicação e a chave privada para o dispositivo. Se o SSH e o SCP estiverem habilitados no computador de desenvolvimento e no dispositivo, será possível usar o comando `scp` no computador de desenvolvimento para transferir o certificado de reivindicação e a chave privada. O comando de exemplo a seguir transfere esses arquivos de uma pasta chamada `claim-certs` no computador de desenvolvimento para o dispositivo. *device-ip-address*Substitua pelo endereço IP do seu dispositivo.

   ```
   scp -r claim-certs/ device-ip-address:~
   ```

1. <a name="installation-create-greengrass-root-folder"></a>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 ]
   + Substitua `/greengrass/v2` pela pasta a ser usada.

   ```
   sudo mkdir -p /greengrass/v2
   ```

------
#### [ Windows Command Prompt ]
   + Substitua *C:\$1greengrass\$1v2* pela pasta a ser usada.

   ```
   mkdir C:\greengrass\v2
   ```

------
#### [ PowerShell ]
   + Substitua *C:\$1greengrass\$1v2* pela pasta a ser usada.

   ```
   mkdir C:\greengrass\v2
   ```

------

1. <a name="installation-set-greengrass-root-folder-permissions"></a>(Somente Linux) Defina as permissões do pai da pasta raiz do Greengrass.
   + */greengrass*Substitua pelo pai da pasta raiz.

   ```
   sudo chmod 755 /greengrass
   ```

1. Mova os certificados de reivindicação para a pasta raiz do Greengrass.
   + Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pela 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
   ```

------

1. Baixe o CA1 certificado e o [CA3certificado](https://www.amazontrust.com/repository/).

------
#### [ 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
<a name="set-up-device-environment-fleet-provisioning"></a>

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
<a name="set-up-linux-device-environment-fleet-provisioning"></a><a name="set-up-linux-device-environment-procedure"></a>

**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 longo prazo do [Amazon Corretto](https://aws.amazon.com/corretto/) ou do [OpenJDK](https://openjdk.java.net/). A versão 8 ou superior é obrigatória. Os seguintes comandos mostram como instalar o OpenJDK no 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 seguinte comando para verificar se o Java é executado no 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 seguinte exemplo.

   ```
   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)
   ```

1. (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](configure-installer.md).

   ```
   sudo useradd --system --create-home ggc_user
   sudo groupadd --system ggc_group
   ```

1. Verifique se o usuário que executa o software AWS IoT Greengrass Core (normalmente`root`) tem permissão para executar `sudo` com qualquer usuário e qualquer grupo.

   1. Execute o seguinte comando para abrir o arquivo `/etc/sudoers`.

      ```
      sudo visudo
      ```

   1. Verifique se a permissão do usuário se parece com o seguinte exemplo.

      ```
      root    ALL=(ALL:ALL) ALL
      ```

1. (Opcional) Para [executar funções do Lambda em contêineres](run-lambda-functions.md), habilite [cgroups](https://en.wikipedia.org/wiki/Cgroups) v1 e habilite e monte os cgroups de *memória* e *dispositivos*. Se você não planeja executar funções do Lambda em contêineres, ignore esta etapa.

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

   ```
   cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
   ```

   Para mais informações sobre como visualizar e definir parâmetros do kernel para o 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.

1. Instale todas as outras dependências necessárias no dispositivo, conforme indicado na lista de requisitos em [Requisitos do dispositivo](greengrass-nucleus-component.md#greengrass-v2-requirements).

#### Configurar um dispositivo Windows
<a name="set-up-windows-device-environment-fleet-provisioning"></a>

**nota**  
Esse recurso está disponível para a versão 2.5.0 e posterior do [componente de Greengrass nucleus](greengrass-nucleus-component.md).<a name="set-up-windows-device-environment-procedure"></a>

**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 longo prazo do [Amazon Corretto](https://aws.amazon.com/corretto/) ou do [OpenJDK](https://openjdk.java.net/). A versão 8 ou superior é obrigatória.

1. Verifique se o Java está disponível na variável de sistema [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) e, caso contrário, adicione. A LocalSystem conta executa o software AWS IoT Greengrass Core, então você deve adicionar Java à variável de sistema PATH em vez da variável de usuário PATH para seu usuário. Faça o seguinte:

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

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

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

   1. Escolha **Variáveis de ambiente...** para abrir a janela **Variáveis de ambiente**.

   1. Em **Variáveis de Sistema**, selecione a variável **Path** e em seguida **Editar**. Na janela **Editar variável de ambiente**, você visualiza cada caminho em uma linha separada.

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

      ```
      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
      ```

   1. Se a pasta `bin` da instalação do Java estiver ausente do **Path**, selecione **Novo** para adicioná-la e, em seguida, selecione **OK**.

1. <a name="set-up-windows-device-environment-open-cmd"></a>Abra o prompt de comando do Windows (`cmd.exe`) como um administrador.

1. <a name="set-up-windows-device-environment-create"></a>Crie o usuário padrão na LocalSystem conta no dispositivo Windows. *password*Substitua por uma senha segura.

   ```
   net user /add ggc_user password
   ```
**dica**  <a name="windows-password-expiration-tip"></a>
Dependendo da configuração do Windows, a senha do usuário pode ser definida para expirar em uma data futura. Para garantir que as aplicações Greengrass continuem operando, monitore quando a senha expira e atualize-a antes disso. Também é possível definir que a senha nunca expire.  
Para verificar quando um usuário e 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 seguinte comando.  

     ```
     wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
     ```
Se você estiver usando o Windows 10 ou posterior, onde o [`wmic`comando está obsoleto](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), execute o comando a seguir. PowerShell   

     ```
     Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
     ```

1. <a name="set-up-windows-device-psexec"></a>Baixe e instale o [PsExecutilitário](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) da Microsoft no dispositivo. 

1. <a name="set-up-windows-device-credentials"></a>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. *password*Substitua pela senha do usuário que você definiu anteriormente.

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

   Se **PsExec License Agreement** abrir, selecione **Accept** para concordar com a licença e execute 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
<a name="download-greengrass-core-v2-fleet"></a>

Você pode baixar a versão mais recente do software AWS IoT Greengrass Core no seguinte local:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass](https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip)-nucleus-latest.zip

**nota**  
Você pode baixar uma versão específica do software AWS IoT Greengrass Core no seguinte local. *version*Substitua pela versão a ser baixada.  

```
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
```

**Para baixar o software AWS IoT Greengrass Core**

1. <a name="installation-download-ggc-software-step"></a>Em seu dispositivo principal, baixe o software AWS IoT Greengrass Core para um arquivo chamado`greengrass-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
   ```

------

   <a name="core-software-license"></a>Ao fazer download desse software, você concorda com o [Contrato de licença do software do Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

1. <a name="verify-gg-nucleus-signature"></a>(Opcional) Para verificar a assinatura do software do Greengrass nucleus
**nota**  
Esse atributo 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 Greengrass nucleus:

------
#### [ Linux or Unix ]

      ```
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

------
#### [ Windows Command Prompt (CMD) ]

      O nome do arquivo pode parecer diferente dependendo da versão do JDK que você instala. Substitua *`jdk17.0.6_10`* pela versão do JDK 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 versão do JDK que você instala. Substitua *`jdk17.0.6_10`* pela versão do JDK que você instalou.

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

------

   1. A invocação `jarsigner` 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.
         ```

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

         ```
         jar is unsigned.
         ```

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

1. <a name="installation-unzip-ggc-software-step"></a>Descompacte o software AWS IoT Greengrass Core em uma pasta no seu dispositivo. *GreengrassInstaller*Substitua pela 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
   ```

------

1. (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**  <a name="installer-folder-2.4.0-warning"></a>
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
<a name="download-fleet-provisioning-plugin"></a>

Você pode baixar a versão mais recente do plug-in de aprovisionamento de AWS IoT frotas no seguinte local:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim](https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar)-latest.jar

**nota**  
Você pode baixar uma versão específica do plug-in de aprovisionamento de AWS IoT frotas no seguinte local. *version*Substitua pela versão a ser baixada. Para mais informações sobre cada versão do plug-in de provisionamento de frota, consulte [Changelog do plugin de aprovisionamento de frota da AWS IoT](fleet-provisioning-changelog.md).  

```
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](https://github.com/aws-greengrass/aws-greengrass-fleet-provisioning-by-claim) 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` *GreengrassInstaller*Substitua pela 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
  ```

------

  <a name="core-software-license"></a>Ao fazer download desse software, você concorda com o [Contrato de licença do software do Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

### Instale o software AWS IoT Greengrass Core
<a name="run-greengrass-core-v2-installer-fleet-provisioning"></a>

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.
+ <a name="install-argument-component-default-user"></a>Especifique o uso do usuário do sistema `ggc_user` para executar componentes de software no dispositivo principal. Em dispositivos Linux, esse comando também especifica o uso do grupo do sistema `ggc_group` e o instalador cria o usuário e o grupo do sistema para você.
+ <a name="install-argument-system-service"></a>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](https://en.wikipedia.org/wiki/Systemd).
**Importante**  <a name="windows-system-service-requirement-important-note"></a>
Nos dispositivos principais do Windows, você deve configurar o software AWS IoT Greengrass Core como um serviço do sistema.

Para mais informações sobre os argumentos que podem ser especificados, consulte [Argumentos de instalação](configure-installer.md).

**nota**  
<a name="jvm-tuning-note"></a>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, é possível definir as opções de tamanho do heap do JVM no parâmetro de configuração `jvmOptions` no componente do núcleo. Para obter mais informações, consulte [Controlar a alocação de memória com opções de JVM](configure-greengrass-core-v2.md#jvm-tuning).

**Para instalar o software AWS IoT Greengrass Core**

1. <a name="installer-check-greengrass-core-software-version"></a>Verifique a versão do software AWS IoT Greengrass Core.
   + *GreengrassInstaller*Substitua pelo caminho para a pasta que contém o software.

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

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

   <a name="nano-command-intro"></a>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 seguinte conteúdo YAML para o arquivo. Esse arquivo de configuração parcial especifica os parâmetros para o plug-in de provisionamento de frota. Para informações sobre as opções que você pode especificar, consulte [Configurar o plug-in de aprovisionamento de AWS IoT frotas](fleet-provisioning-configuration.md).

------
#### [ Linux or Unix ]

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "2.16.1"
       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.16.1"
     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"
   ```

------

   Faça o seguinte:
   + *2.16.1*Substitua pela versão do software AWS IoT Greengrass Core.
   + Substitua cada instância de `/greengrass/v2` ou *C:\$1greengrass\$1v2* pela pasta raiz do Greengrass.
**nota**  
Em dispositivos Windows, é preciso especificar os separadores de caminho com barras invertidas duplas (`\\`), como `C:\\greengrass\\v2`.
   + *us-west-2*Substitua pela 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 seu endpoint de credenciais da AWS IoT .
   + *GreengrassCoreTokenExchangeRoleAlias*Substitua pelo nome do alias da função de troca de tokens.
   + *GreengrassFleetProvisioningTemplate*Substitua pelo nome do modelo de aprovisionamento da frota.
   + Substitua o `claimCertificatePath` pelo caminho para o certificado de reivindicação no dispositivo.
   + Substitua o `claimCertificatePrivateKeyPath` pelo caminho para a chave privada do certificado de reivindicaçã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](fleet-provisioning-setup.md#example-fleet-provisioning-template) que define os parâmetros `ThingName` e `ThingGroupName`.

1. 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.
   + Substitua `/greengrass/v2` pela pasta raiz do Greengrass.
   + Substitua cada instância do *GreengrassInstaller* pela 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**  <a name="windows-system-service-installer-argument-important-note"></a>
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.

   <a name="installer-setup-system-service-output-message"></a>Se você especificar `--setup-system-service true`, o instalador imprimirá `Successfully set up Nucleus as a system service` se ele 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**  <a name="installer-deploy-dev-tools-without-provision"></a>
Não é possível usar o argumento `deploy-dev-tools` para implantar ferramentas de desenvolvimento local ao executar o instalador sem o argumento `--provision true`. Para informações sobre a implantação da CLI do Greengrass diretamente no dispositivo, consulte [Interface de linha de comando do Greengrass](gg-cli.md).

1. <a name="installer-verify-installation"></a>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 pastas, como `config`, `packages` e `logs`.

<a name="install-greengrass-core-run-software"></a>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, será preciso executar o software manualmente. Para obter mais informações, consulte [Execute o software AWS IoT Greengrass Core](run-greengrass-core-v2.md).

<a name="install-greengrass-core-next-steps-intro"></a>Para obter mais informações sobre como configurar e usar o software AWS IoT Greengrass, consulte o seguinte:<a name="install-greengrass-core-next-steps-links"></a>
+ [Configurar o software AWS IoT Greengrass principal](configure-greengrass-core-v2.md)
+ [Desenvolver componentes do AWS IoT Greengrass](develop-greengrass-components.md)
+ [Implemente AWS IoT Greengrass componentes em dispositivos](manage-deployments.md)
+ [Interface de linha de comando do Greengrass](gg-cli.md)

## Instalar endpoints do FIPS com provisionamento automático de recursos
<a name="FIPS-auto-installation"></a>

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 função do IAM e o alias da AWS IoT 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 credenciais da AWS 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. Também é possível implantar as ferramentas de desenvolvimento em um dispositivo principal para usar como dispositivo de desenvolvimento. Isso faz com 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](manual-installation.md).

**Importante**  <a name="install-greengrass-core-requirements-note"></a>
Antes de baixar o software AWS IoT Greengrass Core, verifique se seu dispositivo principal atende aos [requisitos](greengrass-nucleus-component.md#greengrass-v2-requirements) para instalar e executar o software AWS IoT Greengrass Core v2.0.

**Topics**
+ [Configurar o ambiente do dispositivo](#set-up-device-environment)
+ [Forneça AWS credenciais para o dispositivo](#provide-installer-aws-credentials-auto)
+ [Baixe o software AWS IoT Greengrass Core](#download-greengrass-core-v2-auto)
+ [Instale o software AWS IoT Greengrass Core](#run-greengrass-core-v2-installer-auto)

### Configurar o ambiente do dispositivo
<a name="set-up-device-environment"></a>

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

#### Configurar um dispositivo Linux
<a name="set-up-linux-device-environment"></a><a name="set-up-linux-device-environment-procedure"></a>

**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 longo prazo do [Amazon Corretto](https://aws.amazon.com/corretto/) ou do [OpenJDK](https://openjdk.java.net/). A versão 8 ou superior é obrigatória. Os seguintes comandos mostram como instalar o OpenJDK no 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 seguinte comando para verificar se o Java é executado no 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 seguinte exemplo.

   ```
   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)
   ```

1. (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](configure-installer.md).

   ```
   sudo useradd --system --create-home ggc_user
   sudo groupadd --system ggc_group
   ```

1. Verifique se o usuário que executa o software AWS IoT Greengrass Core (normalmente`root`) tem permissão para executar `sudo` com qualquer usuário e qualquer grupo.

   1. Execute o seguinte comando para abrir o arquivo `/etc/sudoers`.

      ```
      sudo visudo
      ```

   1. Verifique se a permissão do usuário se parece com o seguinte exemplo.

      ```
      root    ALL=(ALL:ALL) ALL
      ```

1. (Opcional) Para [executar funções do Lambda em contêineres](run-lambda-functions.md), habilite [cgroups](https://en.wikipedia.org/wiki/Cgroups) v1 e habilite e monte os cgroups de *memória* e *dispositivos*. Se você não planeja executar funções do Lambda em contêineres, ignore esta etapa.

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

   ```
   cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
   ```

   Para mais informações sobre como visualizar e definir parâmetros do kernel para o 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.

1. Instale todas as outras dependências necessárias no dispositivo, conforme indicado na lista de requisitos em [Requisitos do dispositivo](greengrass-nucleus-component.md#greengrass-v2-requirements).

#### Configurar um dispositivo Windows
<a name="set-up-windows-device-environment"></a>

**nota**  
Esse recurso está disponível para a versão 2.5.0 e posterior do [componente de Greengrass nucleus](greengrass-nucleus-component.md).<a name="set-up-windows-device-environment-procedure"></a>

**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 longo prazo do [Amazon Corretto](https://aws.amazon.com/corretto/) ou do [OpenJDK](https://openjdk.java.net/). A versão 8 ou superior é obrigatória.

1. Verifique se o Java está disponível na variável de sistema [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) e, caso contrário, adicione. A LocalSystem conta executa o software AWS IoT Greengrass Core, então você deve adicionar Java à variável de sistema PATH em vez da variável de usuário PATH para seu usuário. Faça o seguinte:

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

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

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

   1. Escolha **Variáveis de ambiente...** para abrir a janela **Variáveis de ambiente**.

   1. Em **Variáveis de Sistema**, selecione a variável **Path** e em seguida **Editar**. Na janela **Editar variável de ambiente**, você visualiza cada caminho em uma linha separada.

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

      ```
      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
      ```

   1. Se a pasta `bin` da instalação do Java estiver ausente do **Path**, selecione **Novo** para adicioná-la e, em seguida, selecione **OK**.

1. <a name="set-up-windows-device-environment-open-cmd"></a>Abra o prompt de comando do Windows (`cmd.exe`) como um administrador.

1. <a name="set-up-windows-device-environment-create"></a>Crie o usuário padrão na LocalSystem conta no dispositivo Windows. *password*Substitua por uma senha segura.

   ```
   net user /add ggc_user password
   ```
**dica**  <a name="windows-password-expiration-tip"></a>
Dependendo da configuração do Windows, a senha do usuário pode ser definida para expirar em uma data futura. Para garantir que as aplicações Greengrass continuem operando, monitore quando a senha expira e atualize-a antes disso. Também é possível definir que a senha nunca expire.  
Para verificar quando um usuário e 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 seguinte comando.  

     ```
     wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
     ```
Se você estiver usando o Windows 10 ou posterior, onde o [`wmic`comando está obsoleto](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), execute o comando a seguir. PowerShell   

     ```
     Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
     ```

1. <a name="set-up-windows-device-psexec"></a>Baixe e instale o [PsExecutilitário](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) da Microsoft no dispositivo. 

1. <a name="set-up-windows-device-credentials"></a>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. *password*Substitua pela senha do usuário que você definiu anteriormente.

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

   Se **PsExec License Agreement** abrir, selecione **Accept** para concordar com a licença e execute 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
<a name="provide-installer-aws-credentials-auto"></a>

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](provision-minimal-iam-policy.md).

**Para fornecer AWS credenciais ao dispositivo**
+ <a name="installer-export-aws-credentials"></a>Forneça suas AWS credenciais ao dispositivo para que o instalador possa provisionar os recursos do IAM AWS IoT e do IAM para seu dispositivo principal. Para aumentar a segurança, recomendamos que você obtenha credenciais temporárias para um perfil do IAM que habilite somente as permissões mínimas necessárias para provisionar. Para obter mais informações, consulte [Política mínima de IAM para o instalador provisionar recursos](provision-minimal-iam-policy.md).
**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 Centro de Identidade do AWS IAM

    1. Forneça o ID da chave de acesso, a chave de acesso secreta e o token de sessão do IAM Identity Center. Para obter mais informações, consulte **Atualização manual de credenciais** em [Como conseguir e atualizar credenciais temporárias](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html#how-to-get-temp-credentials) no *Guia do usuário do Centro de Identidade do IAM*.

    1. 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 um perfil do IAM:

    1. Forneça o ID da chave de acesso, a chave de acesso secreta e o token de sessão do perfil do IAM que você assume. Para obter mais informações sobre como recuperar essas credenciais, consulte [Solicitação de credenciais de segurança temporárias](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) no *Guia do usuário do IAM*.

    1. 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 de longo prazo de um usuário do IAM:

    1. Forneça o ID da chave de acesso e a chave de acesso secreta para seu usuário do IAM. É possível criar um usuário do IAM para provisionamento que será excluído posteriormente. Para ver a política do IAM a ser fornecida ao usuário, consulte [Política mínima de IAM para o instalador provisionar recursos](provision-minimal-iam-policy.md). Para obter mais informações sobre como recuperar credenciais de longo prazo, consulte [Como gerenciar chaves de acesso para usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) no *Guia do usuário do IAM*.

    1. 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"
       ```

------

    1. (Opcional) Se você criou um usuário do IAM para provisionar seu dispositivo Greengrass, exclua o usuário.

    1. (Opcional) Se você usou o ID da chave de acesso e a chave de acesso secreta de um usuário do IAM existente, atualize as chaves do usuário para que elas não sejam mais válidas. Para obter mais informações, consulte [Atualização de chaves de acesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) no *Guia de usuário do AWS Identity and Access Management *.

### Baixe o software AWS IoT Greengrass Core
<a name="download-greengrass-core-v2-auto"></a>

Você pode baixar a versão mais recente do software AWS IoT Greengrass Core no seguinte local:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass](https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip)-nucleus-latest.zip

**nota**  
Você pode baixar uma versão específica do software AWS IoT Greengrass Core no seguinte local. *version*Substitua pela versão a ser baixada.  

```
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
```

**Para baixar o software AWS IoT Greengrass Core**

1. <a name="installation-download-ggc-software-step"></a>Em seu dispositivo principal, baixe o software AWS IoT Greengrass Core para um arquivo chamado`greengrass-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
   ```

------

   <a name="core-software-license"></a>Ao fazer download desse software, você concorda com o [Contrato de licença do software do Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

1. <a name="verify-gg-nucleus-signature"></a>(Opcional) Para verificar a assinatura do software do Greengrass nucleus
**nota**  
Esse atributo 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 Greengrass nucleus:

------
#### [ Linux or Unix ]

      ```
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

------
#### [ Windows Command Prompt (CMD) ]

      O nome do arquivo pode parecer diferente dependendo da versão do JDK que você instala. Substitua *`jdk17.0.6_10`* pela versão do JDK 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 versão do JDK que você instala. Substitua *`jdk17.0.6_10`* pela versão do JDK que você instalou.

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

------

   1. A invocação `jarsigner` 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.
         ```

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

         ```
         jar is unsigned.
         ```

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

1. <a name="installation-unzip-ggc-software-step"></a>Descompacte o software AWS IoT Greengrass Core em uma pasta no seu dispositivo. *GreengrassInstaller*Substitua pela 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
   ```

------

1. (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**  <a name="installer-folder-2.4.0-warning"></a>
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
<a name="run-greengrass-core-v2-installer-auto"></a>

Execute o instalador com argumentos que especificam o seguinte:
+ <a name="install-argument-aws-resources"></a>Crie os AWS recursos que o dispositivo principal precisa para operar.
+ <a name="install-argument-component-default-user"></a>Especifique o uso do usuário do sistema `ggc_user` para executar componentes de software no dispositivo principal. Em dispositivos Linux, esse comando também especifica o uso do grupo do sistema `ggc_group` e o instalador cria o usuário e o grupo do sistema para você.
+ <a name="install-argument-system-service"></a>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](https://en.wikipedia.org/wiki/Systemd).
**Importante**  <a name="windows-system-service-requirement-important-note"></a>
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 argumento `--deploy-dev-tools true`. As ferramentas de desenvolvimento local podem levar até um minuto para serem implantadas após a conclusão da instalação. 

Para mais informações sobre os argumentos que podem ser especificados, consulte [Argumentos de instalação](configure-installer.md).

**nota**  
<a name="jvm-tuning-note"></a>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, é possível definir as opções de tamanho do heap do JVM no parâmetro de configuração `jvmOptions` no componente do núcleo. Para obter mais informações, consulte [Controlar a alocação de memória com opções de JVM](configure-greengrass-core-v2.md#jvm-tuning).

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

   <a name="nano-command-intro"></a>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 seguinte conteúdo YAML para o arquivo. Esse arquivo de configuração parcial especifica os parâmetros do sistema e os parâmetros do Greengrass nucleus.

   ```
   ---
   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"
   ```
   + *us-west-2*Substitua pelo Região da AWS local em que você criou os recursos.
   + Substitua o *iotDataEndpoint* pelo endpoint de dados da AWS IoT .
   + Substitua o *iotCredEndpoint* pelo seu endpoint de credenciais da AWS IoT .

1. Execute o instalador AWS IoT Greengrass Core. Substitua os valores dos argumentos no 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.<a name="installer-replace-arguments"></a>

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

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

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

   1. *MyGreengrassCore*. O nome da AWS IoT coisa para o seu dispositivo principal do Greengrass. Se o objeto não existir, o instalador o cria. O instalador baixa os certificados para autenticar a AWS IoT coisa. Para obter mais informações, consulte [Autenticação e autorização de dispositivos para AWS IoT Greengrass](device-auth.md).
**nota**  <a name="install-argument-thing-name-constraint"></a>
O nome do objeto não pode conter caracteres de dois pontos (`:`).

   1. *MyGreengrassCoreGroup*. O nome do grupo de AWS IoT coisas do seu dispositivo principal do Greengrass. Se o grupo de objetos não existir, o instalador o cria e adiciona o objeto a ele. Se o grupo de objetos existir e tiver uma implantação ativa, o dispositivo principal baixará e executará o software especificado pela implantação.
**nota**  <a name="install-argument-thing-group-name-constraint"></a>
O nome do grupo de objetos não pode conter caracteres de dois pontos (`:`).

   1. *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. É possível restringir as permissões dessa política para seu caso de uso. Para obter mais informações, consulte [AWS IoT Política mínima para dispositivos AWS IoT Greengrass V2 principais](device-auth.md#greengrass-core-minimal-iot-policy).

   1. *GreengrassV2TokenExchangeRole*. O nome da função do IAM que permite que o dispositivo principal do Greengrass obtenha credenciais temporárias AWS . Se a função não existir, o instalador a criará e criará e anexará uma política chamada `GreengrassV2TokenExchangeRoleAccess`. Para obter mais informações, consulte [Autorize os dispositivos principais a interagir com os serviços AWS](device-service-role.md).

   1. *GreengrassCoreTokenExchangeRoleAlias*. O alias para a função do IAM que permite que o dispositivo principal do Greengrass obtenha credenciais temporárias posteriormente. Se o alias do perfil não existir, o instalador o cria e o aponta para o perfil do IAM especificado por você. Para obter mais informações, consulte [Autorize os dispositivos principais a interagir com os serviços AWS](device-service-role.md).

------
#### [ 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**  <a name="windows-system-service-installer-argument-important-note"></a>
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 imprimirá `Successfully configured Nucleus with provisioned resource details` se ele configurou os recursos com êxito.
   + Se você especificar `--deploy-dev-tools`, o instalador imprimirá `Configured Nucleus to deploy aws.greengrass.Cli component` 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 ele configurou e executou o software como um serviço.
   + Se você não especificar `--setup-system-service true`, o instalador imprimirá `Launched Nucleus successfully` se foi bem-sucedido e executou o software.

1. Ignore esta etapa se você instalou a versão 2.0.4 do [Greengrass nucleus](greengrass-nucleus-component.md) 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/v2`Substitua pela pasta raiz especificada no comando de instalação e */greengrass* substitua pela pasta principal da pasta raiz.

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

<a name="install-greengrass-core-run-software"></a>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, será preciso executar o software manualmente. Para obter mais informações, consulte [Execute o software AWS IoT Greengrass Core](run-greengrass-core-v2.md).

**nota**  
Por padrão, o perfil do IAM criado pelo instalador não permite acesso aos artefatos dos componentes nos buckets do S3. Para implantar componentes personalizados que definem artefatos no Amazon S3, é preciso adicionar permissões ao perfil 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](device-service-role.md#device-service-role-access-s3-bucket).  
Se você ainda não tem um bucket do S3 para artefatos de componentes, é possível adicionar essas permissões depois de criar um bucket.

<a name="install-greengrass-core-next-steps-intro"></a>Para obter mais informações sobre como configurar e usar o software AWS IoT Greengrass, consulte o seguinte:<a name="install-greengrass-core-next-steps-links"></a>
+ [Configurar o software AWS IoT Greengrass principal](configure-greengrass-core-v2.md)
+ [Desenvolver componentes do AWS IoT Greengrass](develop-greengrass-components.md)
+ [Implemente AWS IoT Greengrass componentes em dispositivos](manage-deployments.md)
+ [Interface de linha de comando do Greengrass](gg-cli.md)

## Componentes primários de conformidade com o FIPS
<a name="FIPS-compliance"></a>


|  |  | 
| --- | --- | 
| 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 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/FIPS.html) O gerenciador de fluxo não oferece suporte ao AWS IoT Analytics endpoint FIPS  | 
| aws.greengrass.LogManager | dicas de registro. us-east-1.amazonaws.com | 
| aws.greengrass.crypto.Pkcs11Provider |  | 
| aws.greengrass.ShadowManager |  | 
| aws.greengrass.DockerApplicationManager | dicas de eco. 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 |  | 