

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Puntos de conexión de FIPS
<a name="FIPS"></a>

AWS IoT Greengrass admite el uso de terminales FIPS ([estándar federal de procesamiento de información (FIPS) 140-2)](https://aws.amazon.com/compliance/fips/). Cuando el modo FIPS está habilitado, todos los flujos de datos, incluidos los protocolos HTTP y MQTT, a los servicios de Nube de AWS deben invocar y establecer conexiones con los puntos de conexión compatibles con FIPS correspondientes ([FIPS: Amazon Web Services (AWS)](https://aws.amazon.com/compliance/fips/)).

Las comunicaciones MQTT AWS IoT utilizarán el punto final FIPS del plano de datos de IoT ([Conectarse a puntos finales AWS IoT FIPS - AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/iot-connect-fips.html#iot-connect-fips-data)) y la biblioteca criptográfica AWS aws-lc, desarrollada y compatible con FIPS.

Para las comunicaciones HTTP en Greengrass:
+ En el caso de los componentes core y plugin, todos los clientes HTTP del SDK se configuran con puntos de enlace FIPS; para ello, se establece la propiedad del sistema en true; AWS\$1USE\$1FIPS\$1ENDPOINT 
+ En el caso de los componentes genéricos, todos los componentes comienzan con la propiedad del sistema AWS\$1USE\$1FIPS\$1ENDPOINT establecida en true. Este proceso garantiza que los clientes HTTP de SDK usados por estos componentes genéricos envíen solicitudes a los puntos de conexión compatibles con FIPS.

**nota**  
En el caso del administrador de flujos, Nucleus pasa la variable de entorno AWS\$1GG \$1FIPS\$1MODE. Esta variable de entorno permite a los clientes HTTP usados en el administrador de flujos identificar y conectarse al punto de conexión compatible con FIPS correspondiente.

AWS IoT Greengrass ofrece dos métodos para habilitar el modo FIPS: aprovisionamiento e implementación. Para activar el modo FIPS, debe establecer el parámetro de configuración en true. `fipsMode` A continuación, Nucleus establece la propiedad AWS\$1USE\$1FIPS\$1ENDPOINT del sistema en true y la propaga como una variable de entorno a todos los demás componentes. Además, AWS IoT Greengrass descargará un certificado de CA raíz (CA3) y lo anexará al archivo RootCA.pem (o .pem) existente. AmazonRoot CA1 Si habilita FIPS mediante una nueva implementación, el núcleo se reiniciará para garantizar que la propiedad del sistema surta efecto después de habilitar el modo FIPS.

 Además de configurar el parámetro `fipsMode`, también debe configurar los parámetros `iotDataEndpoint`, `iotCredEndpoint` y `greengrassDataEndpoint`. Para obtener más información, consulte la documentación relevante a continuación.

## Habilitación de los puntos de conexión de FIPS con la implementación
<a name="FIPS-deployment"></a>

Obtenga sus AWS IoT Cuenta de AWS puntos de conexión y guárdelos para usarlos más adelante. El dispositivo usa estos puntos de conexión para conectarse a AWS IoT. Se requieren dos puntos de conexión, el `iotDataEndpoint` y el `iotCredEndpoint`. Haga lo siguiente:

1. Obtenga el punto de conexión de datos de FIPS para su región en los [puntos de conexión del plano de datos de FIPS de AWS IoT Core](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints). El punto final de datos FIPS para usted Cuenta de AWS debería tener este aspecto: *data.iot-fips.us-west-2.amazonaws.com*

1. Obtenga el punto de conexión de las credenciales de FIPS para su región en los [puntos de conexión del plano de datos de FIPS de AWS IoT Core](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints). El punto final de sus credenciales FIPS Cuenta de AWS debería tener este aspecto: *data.credentials.iot-fips.us-west-2.amazonaws.com*

A continuación, para habilitar el FIPS con una implementación, debe aplicar la siguiente configuración al núcleo. La configuración que se va a combinar en la implementación es la siguiente.

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

**Configuración de combinación**  

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

El siguiente comando crea una implementación a un dispositivo principal.

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

El archivo `dashboard-deployment.json` contiene el siguiente documento JSON.

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

El siguiente comando de la [CLI de Greengrass](greengrass-cli-component.md) crea una implementación local en un dispositivo principal.

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

El archivo `dashboard-configuration.json` contiene el siguiente documento JSON.

```
{
  "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 el núcleo con puntos de conexión de FIPS con aprovisionamiento manual de recursos
<a name="FIPS-manual-installation"></a>

Aprovisione manualmente AWS los recursos para los dispositivos AWS IoT Greengrass V2 principales con puntos finales FIPS

**importante**  <a name="install-greengrass-core-requirements-note"></a>
Antes de descargar el software AWS IoT Greengrass Core, compruebe que su dispositivo principal cumpla los [requisitos](greengrass-nucleus-component.md#greengrass-v2-requirements) para instalar y ejecutar el software AWS IoT Greengrass Core v2.0.

**Topics**
+ [Recupere los puntos finales AWS IoT](#w2ab1c58c44c23b9)
+ [Crea cualquier cosa AWS IoT](#create-iot-thing)
+ [Creación del certificado del objeto](#create-thing-certificate-fips)
+ [Creación de un rol de intercambio de token](#create-token-exchange-role)
+ [Descarga de certificados al dispositivo](#download-thing-certificates)
+ [Configuración del entorno del dispositivo](#set-up-device-environment)
+ [Descargue el software AWS IoT Greengrass principal](#download-greengrass-core-v2)
+ [Instale el software principal AWS IoT Greengrass](#run-greengrass-core-v2-installer-manual-fips)

### Recupere los puntos finales AWS IoT
<a name="w2ab1c58c44c23b9"></a>

Obtenga sus AWS IoT Cuenta de AWS puntos finales y guárdelos para usarlos más tarde. El dispositivo usa estos puntos de conexión para conectarse a AWS IoT. Se requieren dos puntos de conexión, el `iotDataEndpoint` y el `iotCredEndpoint`. Haga lo siguiente:

1. Obtenga el punto de conexión de datos de FIPS para su región en los [puntos de conexión del plano de datos de FIPS de AWS IoT Core](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints). El punto final de datos FIPS para usted Cuenta de AWS debería tener este aspecto: *data.iot-fips.us-west-2.amazonaws.com*

1. Obtenga el punto de conexión de las credenciales de FIPS para su región en los [puntos de conexión del plano de datos de FIPS de AWS IoT Core](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints). El punto final de sus credenciales FIPS Cuenta de AWS debería tener este aspecto: *data.credentials.iot-fips.us-west-2.amazonaws.com*

### Crea cualquier cosa AWS IoT
<a name="create-iot-thing"></a>

AWS IoT *las cosas* representan dispositivos y entidades lógicas a las que se conectan AWS IoT. Los dispositivos principales de Greengrass son AWS IoT cosas. Cuando registras un dispositivo como una AWS IoT cosa, ese dispositivo puede usar un certificado digital para autenticarse. AWS

En esta sección, crearás AWS IoT algo que represente tu dispositivo.

**Para crear cualquier AWS IoT cosa**

1. Crea cualquier AWS IoT cosa para tu dispositivo. En su equipo de desarrollo, ejecute el siguiente comando.
   + *MyGreengrassCore*Sustitúyalo por el nombre de la cosa a utilizar. Este nombre también es el nombre de su dispositivo principal de Greengrass.
**nota**  <a name="install-argument-thing-name-constraint"></a>
El nombre del objeto no puede contener dos puntos (`:`).

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

   Si la solicitud se realiza exitosamente, la respuesta se parece al siguiente ejemplo.

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

1. (Opcional) Añada la AWS IoT cosa a un grupo de cosas nuevo o existente. Los grupos de objetos se usan para administrar las flotas de dispositivos principales de Greengrass. Al implementar componentes de software en sus dispositivos, puede dirigirlos a dispositivos individuales o a grupos de dispositivos. Puede agregar un dispositivo a un grupo de objetos con una implementación activa de Greengrass para implementar los componentes de software de ese grupo de objetos en el dispositivo. Haga lo siguiente:

   1. (Opcional) Cree un grupo de AWS IoT cosas.
      + *MyGreengrassCoreGroup*Sustitúyalo por el nombre del grupo de cosas que desee crear.
**nota**  <a name="install-argument-thing-group-name-constraint"></a>
El nombre del grupo de objetos no puede contener dos puntos (`:`).

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

      Si la solicitud se realiza exitosamente, la respuesta se parece al siguiente ejemplo.

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

   1. Añada la AWS IoT cosa a un grupo de cosas.
      + *MyGreengrassCore*Sustitúyala por el nombre de la AWS IoT cosa.
      + *MyGreengrassCoreGroup*Sustitúyalo por el nombre del grupo de cosas.

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

      El comando no tiene ningún resultado si la solicitud se realiza correctamente.

### Creación del certificado del objeto
<a name="create-thing-certificate-fips"></a>

<a name="create-thing-certificate-intro-1"></a>Al registrar un dispositivo como una AWS IoT cosa, ese dispositivo puede utilizar un certificado digital para autenticarse AWS. Este certificado permite que el dispositivo se comunique con AWS IoT y AWS IoT Greengrass.

<a name="create-thing-certificate-intro-2"></a>En esta sección, puede crear y descargar certificados que el dispositivo puede usar para conectarse a AWS.

<a name="create-thing-certificate-intro-3"></a>Si desea configurar el software AWS IoT Greengrass principal para que utilice un módulo de seguridad de hardware (HSM) para almacenar de forma segura la clave privada y el certificado, siga los pasos para crear el certificado a partir de una clave privada de un HSM. De lo contrario, siga los pasos para crear el certificado y la clave privada en el AWS IoT servicio. La característica de seguridad de hardware solo está disponible en dispositivos Linux. Para obtener más información sobre la seguridad del hardware y los requisitos para su uso, consulte [Integración de la seguridad de hardware](hardware-security.md).

#### Cree el certificado y la clave privada en el AWS IoT servicio
<a name="create-thing-certificate-cloud"></a><a name="create-thing-certificate-cloud-steps"></a>

**Creación del certificado del objeto**

1. Crea una carpeta donde descargues los certificados de la AWS IoT cosa.

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

1. Crea y descarga los certificados de la AWS IoT cosa.

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

   Si la solicitud se realiza exitosamente, la respuesta se parece al siguiente ejemplo.

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

   Guarde el nombre de recurso de Amazon (ARN) del certificado para usarlo para configurar el certificado más adelante.

#### Creación del certificado a partir de una clave privada en un HSM
<a name="create-thing-certificate-hardware-security"></a>

**nota**  
Esta función está disponible para la versión 2.5.3 y versiones posteriores del componente núcleo de [Greengrass](greengrass-nucleus-component.md). AWS IoT Greengrass actualmente no admite esta función en los dispositivos principales de Windows. 

**Creación del certificado del objeto**

1. En el dispositivo principal, inicialice un token PKCS\$111 en el HSM y genere una clave privada. La clave privada debe ser una clave RSA con un tamaño de clave RSA-2048 (o mayor) o una clave ECC.
**nota**  <a name="hardware-security-module-requirements-key-notes"></a>
Para utilizar un módulo de seguridad de hardware con claves ECC, debe utilizar la versión del [núcleo de Greengrass](greengrass-nucleus-component.md) 2.5.6 o posterior.  
Para usar un módulo de seguridad de hardware y el [administrador de secretos](secret-manager-component.md), debe usar un módulo de seguridad de hardware con claves RSA.

   Consulte la documentación de su HSM para obtener información sobre cómo inicializar el token y generar la clave privada. Si su HSM admite objetos IDs, especifique un ID de objeto al generar la clave privada. Guarde el ID de ranura, el PIN de usuario, la etiqueta del objeto y el ID del objeto (si su HSM utiliza alguno) que especifique al inicializar el token y generar la clave privada. Estos valores se utilizan más adelante cuando se importa el certificado de la cosa al HSM y se configura el software AWS IoT Greengrass principal.

1. Cree una solicitud de firma de certificado (CSR) de la clave privada. AWS IoT usa esta CSR para crear un certificado de objetos para la clave privada que usted generó en el HSM. Para obtener información sobre cómo crear una CSR de la clave privada, consulte la documentación de su HSM. La CSR es un archivo, como `iotdevicekey.csr`.

1. Copie la CSR del dispositivo a su computadora de desarrollo. Si SSH y SCP están habilitados en la computadora de desarrollo y en el dispositivo, puede utilizar el comando `scp` de la computadora de desarrollo para transferir la CSR. *device-ip-address*Sustitúyalo por la dirección IP del dispositivo y *\$1/iotdevicekey.csr* sustitúyalo por la ruta al archivo CSR del dispositivo.

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

1. En tu ordenador de desarrollo, crea una carpeta en la que descargues el certificado del dispositivo AWS IoT .

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

1. Use el archivo CSR para crear y descargar el certificado para el objeto AWS IoT en su computadora de desarrollo.

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

   Si la solicitud se realiza exitosamente, la respuesta se parece al siguiente ejemplo.

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

   Guarde el ARN del certificado para usarlo más adelante para configurarlo.

A continuación, configura el certificado de la cosa. Para obtener más información, consulte [Configuración del certificado del objeto](manual-installation.md#configure-thing-certificate).

### Creación de un rol de intercambio de token
<a name="create-token-exchange-role"></a>

<a name="installation-create-token-exchange-role-intro"></a>Los dispositivos principales de Greengrass utilizan una función de servicio de IAM, denominada función de *intercambio de fichas*, para autorizar las llamadas a los servicios. AWS El dispositivo utiliza el proveedor de AWS IoT credenciales para obtener AWS credenciales temporales para esta función, lo que permite al dispositivo interactuar con Amazon Logs AWS IoT, enviar registros a Amazon CloudWatch Logs y descargar artefactos de componentes personalizados de Amazon S3. Para obtener más información, consulte [Autorizar a los dispositivos principales a interactuar con AWS los servicios](device-service-role.md).

<a name="installation-create-token-exchange-role-alias-intro"></a>Se utiliza un *alias de AWS IoT rol* para configurar el rol de intercambio de fichas para los dispositivos principales de Greengrass. Los alias de rol le permiten cambiar el rol de intercambio de token de un dispositivo, pero mantener la configuración del dispositivo igual. Para obtener más información, consulte [Autorización de llamadas a los servicios de AWS](https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html) en la *Guía para desarrolladores de AWS IoT Core *.

En esta sección, creará un rol de IAM de intercambio de tokens y un alias de AWS IoT rol que apunte al rol. Si ya ha configurado un dispositivo principal de Greengrass, puede usar su rol de intercambio de token y su alias de rol en lugar de crear otros nuevos. A continuación, configure el objeto AWS IoT del dispositivo para que use ese rol y ese alias.

**Creación de un rol de IAM de intercambio de token**

1. <a name="create-token-exchange-role-create-iam-role"></a>Creación de un rol de IAM que su dispositivo puede usar como rol de intercambio de token. Haga lo siguiente:

   1. Creación de un archivo que contenga el documento de política de confianza que requiere el rol de intercambio de token.

      <a name="nano-command-intro"></a>Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano a fin de crear el archivo.

      ```
      nano device-role-trust-policy.json
      ```

      Copie el siguiente JSON en el archivo.

      ```
      {
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "credentials.iot.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

   1. Creación del rol de intercambio de token con el documento de política de confianza.
      + *GreengrassV2TokenExchangeRole*Sustitúyalo por el nombre del rol de IAM que se va a crear.

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

      Si la solicitud se realiza exitosamente, la respuesta se parece al siguiente ejemplo.

      ```
      {
        "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. Creación de un archivo que contenga el documento de política de acceso que requiere el rol de intercambio de token.

      <a name="nano-command-intro"></a>Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano a fin de crear el archivo.

      ```
      nano device-role-access-policy.json
      ```

      Copie el siguiente JSON en el archivo.

      ```
      {
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "logs:CreateLogGroup",
              "logs:CreateLogStream",
              "logs:PutLogEvents",
              "logs:DescribeLogStreams",
              "s3:GetBucketLocation"
            ],
            "Resource": "*"
          }
        ]
      }
      ```
**nota**  
Esta política de acceso no permite el acceso a los artefactos de componentes en los buckets de S3. Para implementar componentes personalizados que definan artefactos en Amazon S3, debe agregar permisos al rol para permitir que su dispositivo principal recupere artefactos de componentes. Para obtener más información, consulte [Cómo permitir el acceso a los buckets de S3 para los artefactos del componente](device-service-role.md#device-service-role-access-s3-bucket).  
Si aún no tiene un bucket de S3 para los artefactos de los componentes, puede agregar estos permisos más adelante, después de crear un bucket.

   1. Creación de la política de IAM a partir del documento de política.
      + *GreengrassV2TokenExchangeRoleAccess*Sustitúyalo por el nombre de la política de IAM que se va a crear.

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

      Si la solicitud se realiza exitosamente, la respuesta se parece al siguiente ejemplo.

      ```
      {
        "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. Adjunte la política de IAM al rol de intercambio de token.
      + Reemplace *GreengrassV2TokenExchangeRole* por el nombre del rol de IAM.
      + Reemplace el ARN de la política por el ARN de la política de IAM que creó en el paso anterior.

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

      El comando no tiene ningún resultado si la solicitud se realiza correctamente.

1. <a name="create-token-exchange-role-create-iot-role-alias"></a>Cree un alias de AWS IoT rol que apunte al rol de intercambio de fichas.
   + *GreengrassCoreTokenExchangeRoleAlias*Sustitúyalo por el nombre del alias del rol que se va a crear.
   + Reemplace el ARN del rol por el ARN del rol de IAM que creó en el paso anterior.

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

   Si la solicitud se realiza exitosamente, la respuesta se parece al siguiente ejemplo.

   ```
   {
     "roleAlias": "GreengrassCoreTokenExchangeRoleAlias",
     "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias"
   }
   ```
**nota**  
Para crear un alias de rol, debe tener el permiso para transferir el rol de IAM de intercambio de token a AWS IoT. Si recibe un mensaje de error al intentar crear un alias de rol, compruebe que el AWS usuario tiene este permiso. Para obtener más información, consulte [Conceder permisos a un usuario para transferir un rol a un AWS servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) en la *Guía del AWS Identity and Access Management usuario*.

1. Cree y adjunte una AWS IoT política que permita a su dispositivo principal de Greengrass utilizar el alias del rol para asumir el rol de intercambio de fichas. Si ya ha configurado un dispositivo principal de Greengrass, puede adjuntar su AWS IoT política de alias de rol en lugar de crear una nueva. Haga lo siguiente:

   1. (Opcional) Cree un archivo que contenga el documento AWS IoT de política que requiere el alias del rol.

      <a name="nano-command-intro"></a>Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano a fin de crear el archivo.

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

      Copie el siguiente JSON en el archivo.
      + Reemplace el ARN del recurso por el ARN del alias de rol.

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

   1. Cree una AWS IoT política a partir del documento de política.
      + *GreengrassCoreTokenExchangeRoleAliasPolicy*Sustitúyala por el nombre de la AWS IoT política que se va a crear.

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

      Si la solicitud se realiza exitosamente, la respuesta se parece al siguiente ejemplo.

      ```
      {
        "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. Adjunta la AWS IoT política al certificado de la AWS IoT cosa.
      + *GreengrassCoreTokenExchangeRoleAliasPolicy*Sustitúyala por el nombre de la AWS IoT política de alias del rol.
      + Reemplace el ARN de destino por el ARN del certificado de su objeto AWS IoT .

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

      El comando no tiene ningún resultado si la solicitud se realiza correctamente.

### Descarga de certificados al dispositivo
<a name="download-thing-certificates"></a>

Anteriormente, descargó el certificado de su dispositivo en su computadora de desarrollo. En esta sección, copie el certificado en el dispositivo principal para configurar el dispositivo con los certificados que usa para conectarse a AWS IoT. También descargue el certificado de la autoridad del certificado raíz (CA) de Amazon. Si usa un HSM, también importe el archivo de certificado al HSM en esta sección.
+ Si anteriormente creó el elemento certificado y clave privada en el AWS IoT servicio, siga los pasos para descargar los certificados con la clave privada y los archivos de certificado.
+ Si anteriormente creó el certificado del objeto de una clave privada en un módulo de seguridad de hardware (HSM), siga los pasos para descargar los certificados con la clave privada y el certificado en un HSM.

#### Descargar certificados con clave privada y archivos de certificado
<a name="download-thing-certificates-without-hardware-security"></a>

**Descarga de certificados al dispositivo**

1. <a name="installation-copy-thing-certificate-to-device"></a>Copia el AWS IoT certificado del objeto desde tu ordenador de desarrollo al dispositivo. Si SSH y SCP están habilitados en la computadora de desarrollo y en el dispositivo, puede utilizar el comando `scp` de la computadora de desarrollo para transferir el certificado. *device-ip-address*Sustitúyalo por la dirección IP de tu dispositivo.

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

1. <a name="installation-create-greengrass-root-folder"></a>Cree la carpeta raíz de Greengrass en el dispositivo. Más adelante instalarás el software AWS IoT Greengrass principal en esta carpeta.
**nota**  
Windows tiene una limitación de longitud de ruta de 260 caracteres. Si usa Windows, use una carpeta raíz como `C:\greengrass\v2` o `D:\greengrass\v2` para mantener las rutas de los componentes de Greengrass por debajo del límite de 260 caracteres.

------
#### [ Linux or Unix ]
   + Reemplace `/greengrass/v2` por la carpeta que desee utilizar.

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

------
#### [ Windows Command Prompt ]
   + Reemplace *C:\$1greengrass\$1v2* por la carpeta que desee utilizar.

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

------
#### [ PowerShell ]
   + Reemplace *C:\$1greengrass\$1v2* por la carpeta que desee utilizar.

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

------

1. <a name="installation-set-greengrass-root-folder-permissions"></a>(Solo para Linux) Establezca los permisos de la carpeta principal de la carpeta raíz de Greengrass.
   + */greengrass*Sustitúyalo por el elemento principal de la carpeta raíz.

   ```
   sudo chmod 755 /greengrass
   ```

1. Copia los certificados de la AWS IoT cosa a la carpeta raíz de Greengrass.

------
#### [ Linux or Unix ]
   + Reemplace `/greengrass/v2` por la carpeta raíz de Greengrass.

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

------
#### [ Windows Command Prompt ]
   + Reemplace *C:\$1greengrass\$1v2* por la carpeta que desee utilizar.

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

------
#### [ PowerShell ]
   + Reemplace *C:\$1greengrass\$1v2* por la carpeta que desee utilizar.

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

------

1. Descargue el certificado de la entidad de certificación (CA) de Amazon. Los certificados de AWS IoT están asociados al certificado de CA raíz de Amazon de forma predeterminada. Descargue el CA1 certificado y el [CA3certificado](https://www.amazontrust.com/repository/).

------
#### [ Linux or Unix ]
   + Sustituya `/greengrass/v2` o *C:\$1greengrass\$1v2* por la carpeta raíz de 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
   ```

------

#### Descarga de certificados con la clave privada y el certificado en un HSM
<a name="download-thing-certificates-with-hardware-security"></a>

**nota**  
Esta función está disponible para la versión 2.5.3 y versiones posteriores del componente núcleo de [Greengrass](greengrass-nucleus-component.md). AWS IoT Greengrass actualmente no admite esta función en los dispositivos principales de Windows. 

**Descarga de certificados al dispositivo**

1. <a name="installation-copy-thing-certificate-to-device"></a>Copia el AWS IoT certificado del dispositivo de desarrollo desde tu ordenador de desarrollo al dispositivo. Si SSH y SCP están habilitados en la computadora de desarrollo y en el dispositivo, puede utilizar el comando `scp` de la computadora de desarrollo para transferir el certificado. *device-ip-address*Sustitúyalo por la dirección IP de tu dispositivo.

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

1. <a name="installation-create-greengrass-root-folder"></a>Cree la carpeta raíz de Greengrass en el dispositivo. Más adelante instalarás el software AWS IoT Greengrass principal en esta carpeta.
**nota**  
Windows tiene una limitación de longitud de ruta de 260 caracteres. Si usa Windows, use una carpeta raíz como `C:\greengrass\v2` o `D:\greengrass\v2` para mantener las rutas de los componentes de Greengrass por debajo del límite de 260 caracteres.

------
#### [ Linux or Unix ]
   + Reemplace `/greengrass/v2` por la carpeta que desee utilizar.

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

------
#### [ Windows Command Prompt ]
   + Reemplace *C:\$1greengrass\$1v2* por la carpeta que desee utilizar.

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

------
#### [ PowerShell ]
   + Reemplace *C:\$1greengrass\$1v2* por la carpeta que desee utilizar.

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

------

1. <a name="installation-set-greengrass-root-folder-permissions"></a>(Solo para Linux) Establezca los permisos de la carpeta principal de la carpeta raíz de Greengrass.
   + */greengrass*Sustitúyalo por el elemento principal de la carpeta raíz.

   ```
   sudo chmod 755 /greengrass
   ```

1. Importe el archivo de certificado del objeto `~/greengrass-v2-certs/device.pem.crt`, al HSM. Consulte la documentación de su HSM para saber cómo importar certificados allí. Importe el certificado con el mismo token, ID de ranura, PIN de usuario, etiqueta de objeto e ID de objeto (si su HSM usa alguno) con los que generó la clave privada en el HSM anteriormente.
**nota**  
Si generó la clave privada anteriormente sin un ID de objeto y el certificado tiene un ID de objeto, establezca el ID de objeto de la clave privada con el mismo valor que el certificado. Consulte la documentación de su HSM para obtener información sobre cómo configurar el identificador de objeto para el objeto de clave privada.

1. (Opcional) Elimine el archivo de certificado del objeto para que solo exista en el HSM.

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

1. Descargue el certificado de la entidad de certificación (CA) de Amazon. Los certificados de AWS IoT están asociados al certificado de CA raíz de Amazon de forma predeterminada. Descargue tanto el certificado CA1 como el [CA3certificado](https://www.amazontrust.com/repository/).

------
#### [ Linux or Unix ]
   + Sustituya `/greengrass/v2` o *C:\$1greengrass\$1v2* por la carpeta raíz de 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
   ```

------

### Configuración del entorno del dispositivo
<a name="set-up-device-environment"></a>

Siga los pasos de esta sección para configurar un dispositivo Linux o Windows para usarlo como su dispositivo principal de AWS IoT Greengrass .

#### Configuración de un dispositivo Linux
<a name="set-up-linux-device-environment"></a><a name="set-up-linux-device-environment-procedure"></a>

**Para configurar un dispositivo Linux para AWS IoT Greengrass V2**

1. Instale el motor de ejecución de Java, que el software AWS IoT Greengrass principal necesita para ejecutarse. Le recomendamos que utilice las versiones de compatibilidad a largo plazo de [Amazon Corretto](https://aws.amazon.com/corretto/) u [OpenJDK](https://openjdk.java.net/). Se requiere la versión 8 o posterior. Los siguientes comandos muestran cómo instalar OpenJDK en su dispositivo.
   + Para distribuciones basadas en Debian o en Ubuntu:

     ```
     sudo apt install default-jdk
     ```
   + Para distribuciones basadas en Red Hat:

     ```
     sudo yum install java-11-openjdk-devel
     ```
   + En Amazon Linux 2:

     ```
     sudo amazon-linux-extras install java-openjdk11
     ```
   + En Amazon Linux 2023:

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

   Cuando se complete la instalación, ejecute el siguiente comando para comprobar que Java se ejecuta en su dispositivo Linux.

   ```
   java -version
   ```

   El comando imprime la versión de Java que se ejecuta en el dispositivo. Por ejemplo, en una distribución basada en Debian, el resultado podría ser similar al siguiente ejemplo.

   ```
   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) Cree el usuario y el grupo predeterminado del sistema que ejecutan los componentes del dispositivo. También puede optar por permitir que el instalador del software AWS IoT Greengrass principal cree este usuario y grupo durante la instalación con el argumento del `--component-default-user` instalador. Para obtener más información, consulte [Argumentos del instalador](configure-installer.md).

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

1. Compruebe que el usuario que ejecuta el software AWS IoT Greengrass principal (normalmente`root`) tiene permiso para ejecutar `sudo` con cualquier usuario y grupo.

   1. Ejecute el siguiente comando para abrir el archivo `/etc/sudoers`.

      ```
      sudo visudo
      ```

   1. Compruebe que el permiso del usuario se parezca al siguiente ejemplo.

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

1. (Opcional) Para [ejecutar funciones de Lambda en contenedores](run-lambda-functions.md), debe habilitar la versión 1 de [cgroups](https://en.wikipedia.org/wiki/Cgroups), y habilitar y montar los cgroups de *memoria* y de *dispositivos*. Si no tiene previsto ejecutar funciones de Lambda en contenedores, puede omitir este paso.

   Para habilitar estas opciones de cgroups, arranque el dispositivo con los siguientes parámetros del kernel de Linux.

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

   Para obtener más información acerca de cómo ver y configurar los parámetros del kernel de su dispositivo, consulte la documentación del sistema operativo y del gestor de arranque. Siga las instrucciones para configurar permanentemente los parámetros del kernel.

1. Instale todas las demás dependencias necesarias en su dispositivo tal y como se indica en la lista de requisitos de [Requisitos de los dispositivos](greengrass-nucleus-component.md#greengrass-v2-requirements).

#### Configuración de un dispositivo de Windows
<a name="set-up-windows-device-environment"></a>

**nota**  
Esta característica está disponible para la versión 2.5.0 y versiones posteriores del [componente núcleo de Greengrass](greengrass-nucleus-component.md).<a name="set-up-windows-device-environment-procedure"></a>

**Para configurar un dispositivo Windows para AWS IoT Greengrass V2**

1. Instale el motor de ejecución de Java, que el software AWS IoT Greengrass principal necesita para ejecutarse. Le recomendamos que utilice las versiones de compatibilidad a largo plazo de [Amazon Corretto](https://aws.amazon.com/corretto/) u [OpenJDK](https://openjdk.java.net/). Se requiere la versión 8 o posterior.

1. Compruebe si Java está disponible en la variable del sistema [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) y agréguelo si no lo está. La LocalSystem cuenta ejecuta el software AWS IoT Greengrass principal, por lo que debe agregar Java a la variable de sistema PATH en lugar de a la variable de usuario PATH de su usuario. Haga lo siguiente:

   1. Pulse la tecla Windows para abrir el menú de inicio.

   1. Escriba **environment variables** para buscar las opciones del sistema en el menú de inicio.

   1. En los resultados de la búsqueda del menú de inicio, elija **Editar las variables de entorno del sistema** para abrir la ventana de **Propiedades del sistema**.

   1. Elija **Variables de entorno...** para abrir la ventana **Variables de entorno**.

   1. En **Variables del sistema**, elija **Ruta** y, luego, **Editar**. En la ventana **Editar variables de entorno**, puede ver cada ruta en una línea independiente.

   1. Compruebe si la ruta a la carpeta de la instalación de Java `bin` está presente. La ruta puede tener un aspecto similar al siguiente ejemplo.

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

   1. Si la carpeta de la instalación de Java `bin` no aparece en **Ruta**, elija **Nueva** para agregarla y, a continuación, pulse **Aceptar**.

1. <a name="set-up-windows-device-environment-open-cmd"></a>Abra el símbolo del sistema de Windows (`cmd.exe`) como administrador.

1. <a name="set-up-windows-device-environment-create"></a>Cree el usuario predeterminado en la LocalSystem cuenta del dispositivo Windows. *password*Sustitúyalo por una contraseña segura.

   ```
   net user /add ggc_user password
   ```
**sugerencia**  <a name="windows-password-expiration-tip"></a>
Según su configuración de Windows, es posible que la contraseña del usuario caduque en una fecha futura. Para garantizar que sus aplicaciones de Greengrass sigan funcionando, controle cuándo caduca la contraseña y actualícela antes de que caduque. También puede configurar la contraseña del usuario para que nunca caduque.  
Para comprobar cuándo caducan un usuario y su contraseña, ejecute el siguiente comando.  

     ```
     net user ggc_user | findstr /C:expires
     ```
Para configurar la contraseña de un usuario para que no caduque nunca, ejecute el siguiente comando.  

     ```
     wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
     ```
Si utilizas Windows 10 o una versión posterior, donde el [`wmic`comando está en desuso](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), ejecuta el siguiente PowerShell comando.  

     ```
     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>Descargue e instale la [PsExecutilidad](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) de Microsoft en el dispositivo. 

1. <a name="set-up-windows-device-credentials"></a>Utilice la PsExec utilidad para almacenar el nombre de usuario y la contraseña del usuario predeterminado en la instancia de Credential Manager de la LocalSystem cuenta. *password*Sustitúyala por la contraseña de usuario que configuraste anteriormente.

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

   Si **PsExec License Agreement** se abre, elija **Accept** para aceptar la licencia y ejecute el comando.
**nota**  
En los dispositivos Windows, la LocalSystem cuenta ejecuta el núcleo de Greengrass y debe usar la PsExec utilidad para almacenar la información de usuario predeterminada en la LocalSystem cuenta. El uso de la aplicación Credential Manager almacena esta información en la cuenta de Windows del usuario que ha iniciado sesión actualmente, en lugar de en la LocalSystem cuenta.

### Descargue el software AWS IoT Greengrass principal
<a name="download-greengrass-core-v2"></a>

Puede descargar la última versión del software AWS IoT Greengrass Core desde la siguiente ubicación:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass](https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip)-nucleus-latest.zip

**nota**  
Puede descargar una versión específica del software AWS IoT Greengrass Core desde la siguiente ubicación. *version*Sustitúyala por la versión que se va a descargar.  

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

**Para descargar el software AWS IoT Greengrass principal**

1. <a name="installation-download-ggc-software-step"></a>En su dispositivo principal, descargue el software AWS IoT Greengrass Core en un archivo denominado`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>Al descargar este software, acepta el [acuerdo de licencia del software de 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) Verificación de la firma del software del núcleo de Greengrass
**nota**  
Esta característica está disponible en la versión 2.9.5 y versiones posteriores del núcleo de Greengrass.

   1. Use el siguiente comando para verificar la firma del artefacto del núcleo de Greengrass:

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

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

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

      El nombre del archivo puede tener un aspecto diferente según la versión de JDK que instale. Reemplace *`jdk17.0.6_10`* por la versión de JDK que instaló.

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

------
#### [ PowerShell ]

      El nombre del archivo puede tener un aspecto diferente según la versión de JDK que instale. Reemplace *`jdk17.0.6_10`* por la versión de JDK que instaló.

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

------

   1. La invocación `jarsigner` produce un resultado que indica los resultados de la verificación.

      1. Si el archivo zip del núcleo de Greengrass está firmado, el resultado contiene la siguiente declaración:

         ```
         jar verified.
         ```

      1. Si el archivo zip del núcleo de Greengrass no está firmado, el resultado contiene la siguiente declaración:

         ```
         jar is unsigned.
         ```

   1. Si ha proporcionado la opción `-certs` Jarsigner junto con las opciones `-verify` y `-verbose`, el resultado también incluye información detallada del certificado de firmante.

1. <a name="installation-unzip-ggc-software-step"></a>Descomprime el software AWS IoT Greengrass Core en una carpeta de tu dispositivo. *GreengrassInstaller*Sustitúyalo por la carpeta que desee 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) Ejecute el siguiente comando para ver la versión del software AWS IoT Greengrass principal.

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

**importante**  <a name="installer-folder-2.4.0-warning"></a>
Si instala una versión del núcleo de Greengrass anterior a la v2.4.0, no elimine esta carpeta después de instalar el software Core. AWS IoT Greengrass El software AWS IoT Greengrass Core utiliza los archivos de esta carpeta para ejecutarse.  
Si descargó la última versión del software, instale la versión 2.4.0 o posterior y podrá eliminar esta carpeta después de instalar el software AWS IoT Greengrass principal.

### Instale el software principal AWS IoT Greengrass
<a name="run-greengrass-core-v2-installer-manual-fips"></a>

Ejecute el instalador con argumentos que especifiquen las siguientes acciones:
+ Realice la instalación desde un archivo de configuración parcial que especifique el uso de los recursos de AWS y certificados que creó anteriormente. El software AWS IoT Greengrass Core utiliza un archivo de configuración que especifica la configuración de todos los componentes de Greengrass del dispositivo. El instalador crea un archivo de configuración completo a partir del archivo de configuración parcial que usted proporciona.
+ <a name="install-argument-component-default-user"></a>Especifique si desea usar el usuario del sistema `ggc_user` para ejecutar los componentes de software en el dispositivo principal. En los dispositivos Linux, este comando también especifica el uso del grupo del sistema `ggc_group` y el instalador crea el usuario y el grupo del sistema por usted.
+ <a name="install-argument-system-service"></a>Configure el software AWS IoT Greengrass Core como un servicio del sistema que se ejecute durante el arranque. En los dispositivos Linux, esto requiere el sistema de inicio [Systemd](https://en.wikipedia.org/wiki/Systemd).
**importante**  <a name="windows-system-service-requirement-important-note"></a>
En los dispositivos principales de Windows, debe configurar el software AWS IoT Greengrass principal como un servicio del sistema.

Para obtener más información acerca de los argumentos que puede especificar, consulte [Argumentos del instalador](configure-installer.md).

**nota**  
<a name="jvm-tuning-note"></a>Si utilizas un AWS IoT Greengrass dispositivo con memoria limitada, puedes controlar la cantidad de memoria que utiliza el software AWS IoT Greengrass Core. Para controlar la asignación de memoria, puede configurar las opciones de tamaño de montón de la JVM en el parámetro de configuración `jvmOptions` del componente núcleo. Para obtener más información, consulte [Control de la asignación de memoria con las opciones de JVM](configure-greengrass-core-v2.md#jvm-tuning).
+ Si creó anteriormente el certificado y la clave privada en el AWS IoT servicio, siga los pasos para instalar el software AWS IoT Greengrass Core con los archivos de clave privada y certificado.
+ Si anteriormente creó el certificado Thing a partir de una clave privada en un módulo de seguridad de hardware (HSM), siga los pasos para instalar el software AWS IoT Greengrass Core con la clave privada y el certificado en un HSM.

#### Instale el software AWS IoT Greengrass principal con la clave privada y los archivos de certificado
<a name="FIPS-manual-installation-without-hardware-security"></a>

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

1. <a name="installer-check-greengrass-core-software-version"></a>Compruebe la versión del software AWS IoT Greengrass principal.
   + *GreengrassInstaller*Sustitúyala por la ruta a la carpeta que contiene el software.

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

1. Use un editor de texto para crear un archivo de configuración llamado `config.yaml` para proporcionárselo al instalador.

   <a name="nano-command-intro"></a>Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano a fin de crear el archivo.

   ```
   nano GreengrassInstaller/config.yaml
   ```

   Copie el siguiente contenido YAML en el archivo. Este archivo de configuración parcial especifica los parámetros del sistema y los parámetros del núcleo de Greengrass.

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

   A continuación, proceda del modo siguiente:
   + Reemplace cada instancia de `/greengrass/v2` por la carpeta raíz de Greengrass.
   + *MyGreengrassCore*Sustitúyalo por el nombre de la AWS IoT cosa.
   + *2.17.0*Sustitúyala por la versión del software AWS IoT Greengrass principal.
   + *us-west-2*Sustitúyala por la Región de AWS ubicación en la que creaste los recursos.
   + *GreengrassCoreTokenExchangeRoleAlias*Sustitúyalo por el nombre del alias de la función de intercambio de fichas.
   + *iotDataEndpoint*Sustitúyalo por el punto final de AWS IoT datos.
   + Sustituya el *iotCredEndpoint* punto final por el de sus AWS IoT credenciales.

1. Ejecute el instalador y especifique `--init-config` para proporcionar el archivo de configuración.
   + Sustituya `/greengrass/v2` o *C:\$1greengrass\$1v2* por la carpeta raíz de Greengrass.
   + Sustituya cada instancia de por *GreengrassInstaller* la carpeta en la que desempaquetó el 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>
En los dispositivos principales de Windows, debe especificar si `--setup-system-service true` desea configurar el software AWS IoT Greengrass principal como un servicio del sistema.

   <a name="installer-setup-system-service-output-message"></a>Si especifica `--setup-system-service true`, el instalador imprime `Successfully set up Nucleus as a system service` si configuró y ejecutó el software como un servicio del sistema. De lo contrario, el instalador no mostrará ningún mensaje si instala el software correctamente.
**nota**  <a name="installer-deploy-dev-tools-without-provision"></a>
No puede usar el argumento `deploy-dev-tools` para implementar herramientas de desarrollo locales cuando ejecuta el instalador sin el argumento `--provision true`. Para obtener información sobre cómo implementar la CLI de Greengrass directamente en su dispositivo, consulte [Interfaz de la línea de comandos de Greengrass](gg-cli.md).

1. <a name="installer-verify-installation"></a>Verifique la instalación mediante la consulta de los archivos de la carpeta raíz.

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

   ```
   ls /greengrass/v2
   ```

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

   ```
   dir C:\greengrass\v2
   ```

------
#### [ PowerShell ]

   ```
   ls C:\greengrass\v2
   ```

------

   Si la instalación se realizó correctamente, la carpeta raíz contiene varias carpetas, como `config`, `packages` y `logs`.

#### Instale el software AWS IoT Greengrass Core con la clave privada y el certificado en un HSM
<a name="FIPS-manual-installation-with-hardware-security"></a>

**nota**  
Esta función está disponible para la versión 2.5.3 y versiones posteriores del componente núcleo de [Greengrass](greengrass-nucleus-component.md). AWS IoT Greengrass actualmente no admite esta función en los dispositivos principales de Windows. 

**Para instalar el software AWS IoT Greengrass principal**

1. <a name="installer-check-greengrass-core-software-version"></a>Compruebe la versión del software AWS IoT Greengrass principal.
   + *GreengrassInstaller*Sustitúyala por la ruta a la carpeta que contiene el software.

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

1. Para permitir que el software AWS IoT Greengrass principal utilice la clave privada y el certificado del HSM, instale el [componente de proveedor PKCS \$111](pkcs11-provider-component.md) al instalar el software AWS IoT Greengrass principal. El componente de proveedor PKCS\$111 es un complemento que puede configurar durante la instalación. Puede descargar la versión más reciente del componente de proveedor PKCS\$111 de la siguiente ubicación:
   + [https://d2s8p88vqu9w66.cloudfront. net/releases/Pkcs11Provider/aws.greengrass.crypto.pkcs11Provider-latest.jar](https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar)

   Descargue el complemento de proveedor PKCS\$111 en un archivo denominado `aws.greengrass.crypto.Pkcs11Provider.jar`. Sustitúyala por la carpeta que quieras usar. *GreengrassInstaller*

   ```
   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>Al descargar este software, acepta el [acuerdo de licencia del software de Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

1. Use un editor de texto para crear un archivo de configuración llamado `config.yaml` para proporcionárselo al instalador.

   <a name="nano-command-intro"></a>Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano a fin de crear el archivo.

   ```
   nano GreengrassInstaller/config.yaml
   ```

   Copie el siguiente contenido YAML en el archivo. Este archivo de configuración parcial especifica los parámetros del sistema, los parámetros del núcleo de Greengrass y los parámetros del proveedor 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.17.0"
       configuration:
         awsRegion: "us-west-2"
         iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias"
         fipsMode: "true"
         iotDataEndpoint: "data.iot-fips.us-west-2.amazonaws.com"
         greengrassDataPlaneEndpoint: "iotData"
         iotCredEndpoint: "data.credentials.iot-fips.us-west-2.amazonaws.com"
   ```

   A continuación, proceda del modo siguiente:
   + Sustituya cada instancia del PKCS \$111 URIs por la etiqueta de objeto *iotdevicekey* en la que creó la clave privada e importó el certificado.
   + Reemplace cada instancia de `/greengrass/v2` por la carpeta raíz de Greengrass.
   + *MyGreengrassCore*Sustitúyala por el nombre de la AWS IoT cosa.
   + *2.17.0*Sustitúyala por la versión del software AWS IoT Greengrass principal.
   + *us-west-2*Sustitúyala por la Región de AWS ubicación en la que creaste los recursos.
   + *GreengrassCoreTokenExchangeRoleAlias*Sustitúyalo por el nombre del alias de la función de intercambio de fichas.
   + `iotDataEndpoint`Sustitúyalo por el punto final de AWS IoT datos.
   + Reemplace el `iotCredEndpoint` por su punto de conexión de credenciales de AWS IoT .
   + Reemplace los parámetros de configuración del componente `aws.greengrass.crypto.Pkcs11Provider` por los valores de la configuración del HSM en el dispositivo principal.

1. Ejecute el instalador y especifique `--init-config` para proporcionar el archivo de configuración.
   + Reemplace `/greengrass/v2` por la carpeta raíz de Greengrass.
   + Sustituya cada instancia de *GreengrassInstaller* por la carpeta en la que desempaquetó el 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>
En los dispositivos principales de Windows, debe especificar si `--setup-system-service true` desea configurar el software AWS IoT Greengrass principal como un servicio del sistema.

   <a name="installer-setup-system-service-output-message"></a>Si especifica `--setup-system-service true`, el instalador imprime `Successfully set up Nucleus as a system service` si configuró y ejecutó el software como un servicio del sistema. De lo contrario, el instalador no mostrará ningún mensaje si instala el software correctamente.
**nota**  <a name="installer-deploy-dev-tools-without-provision"></a>
No puede usar el argumento `deploy-dev-tools` para implementar herramientas de desarrollo locales cuando ejecuta el instalador sin el argumento `--provision true`. Para obtener información sobre cómo implementar la CLI de Greengrass directamente en su dispositivo, consulte [Interfaz de la línea de comandos de Greengrass](gg-cli.md).

1. <a name="installer-verify-installation"></a>Verifique la instalación mediante la consulta de los archivos de la carpeta raíz.

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

   ```
   ls /greengrass/v2
   ```

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

   ```
   dir C:\greengrass\v2
   ```

------
#### [ PowerShell ]

   ```
   ls C:\greengrass\v2
   ```

------

   Si la instalación se realizó correctamente, la carpeta raíz contiene varias carpetas, como `config`, `packages` y `logs`.

<a name="install-greengrass-core-run-software"></a>Si instaló el software AWS IoT Greengrass Core como un servicio del sistema, el instalador ejecutará el software automáticamente. De no ser así, debe ejecutar el software manualmente. Para obtener más información, consulte [Ejecute el software AWS IoT Greengrass principal](run-greengrass-core-v2.md).

<a name="install-greengrass-core-next-steps-intro"></a>Para obtener más información sobre cómo configurar y utilizar el software AWS IoT Greengrass, consulte lo siguiente:<a name="install-greengrass-core-next-steps-links"></a>
+ [Configurar el software AWS IoT Greengrass principal](configure-greengrass-core-v2.md)
+ [Desarrolle AWS IoT Greengrass componentes](develop-greengrass-components.md)
+ [Implemente AWS IoT Greengrass componentes en los dispositivos](manage-deployments.md)
+ [Interfaz de la línea de comandos de Greengrass](gg-cli.md)

## Instalación de puntos de conexión de FIPS con aprovisionamiento de flota
<a name="FIPS-fleet-provisioning"></a>

Esta característica está disponible para la versión 2.4.0 y versiones posteriores del [componente núcleo de Greengrass](greengrass-nucleus-component.md).

Instale terminales FIPS en su software AWS IoT Greengrass principal y aprovisione la AWS IoT flota de sus dispositivos principales.

**nota**  
El complemento de aprovisionamiento de flotas para [Greengrass](greengrass-nucleus-component.md) nucleus no admite actualmente el almacenamiento de archivos de certificados y claves privadas en un módulo de seguridad de hardware (HSM). Para usar un HSM, [instale el software AWS IoT Greengrass Core con aprovisionamiento](#FIPS-fleet-provisioning) manual.

Para instalar el software AWS IoT Greengrass Core con el aprovisionamiento de AWS IoT flota, debe configurar los recursos Cuenta de AWS que AWS IoT utiliza para aprovisionar los dispositivos principales de Greengrass. Estos recursos incluyen una plantilla de aprovisionamiento, certificados de reclamación y un [rol de IAM para el intercambio de token](device-service-role.md). Después de crear estos recursos, puede reutilizarlos para aprovisionar varios dispositivos principales de una flota. Para obtener más información, consulte [Configurar el aprovisionamiento de AWS IoT flota para los dispositivos principales de Greengrass](fleet-provisioning-setup.md).

**importante**  <a name="install-greengrass-core-requirements-note"></a>
Antes de descargar el software AWS IoT Greengrass Core, compruebe que su dispositivo principal cumpla los [requisitos](greengrass-nucleus-component.md#greengrass-v2-requirements) para instalar y ejecutar el software AWS IoT Greengrass Core v2.0.

**Topics**
+ [Requisitos previos](#fleet-provisioning-prerequisites)
+ [Recupere los puntos finales AWS IoT](#retrieve-iot-endpoints)
+ [Descarga de certificados al dispositivo](#download-claim-certificates)
+ [Configuración del entorno del dispositivo](#set-up-device-environment-fleet-provisioning)
+ [Descargue el software AWS IoT Greengrass principal](#download-greengrass-core-v2-fleet)
+ [Descargue el complemento de aprovisionamiento AWS IoT de flotas](#download-fleet-provisioning-plugin)
+ [Instale el software AWS IoT Greengrass principal](#run-greengrass-core-v2-installer-fleet-provisioning)

### Requisitos previos
<a name="fleet-provisioning-prerequisites"></a>

Para instalar el software AWS IoT Greengrass Core con el aprovisionamiento de AWS IoT flota, primero debe [configurar el aprovisionamiento de AWS IoT flota para los dispositivos principales de Greengrass](fleet-provisioning-setup.md). Tras completar estos pasos una vez, puede utilizar el aprovisionamiento de flotas para instalar el software AWS IoT Greengrass Core en cualquier número de dispositivos.

### Recupere los puntos finales AWS IoT
<a name="retrieve-iot-endpoints"></a>

Obtenga los puntos finales FIPS para usted y guárdelos para usarlos más adelante. Cuenta de AWS El dispositivo usa estos puntos de conexión para conectarse a AWS IoT. Haga lo siguiente:

1. Obtenga el punto de conexión de datos de FIPS para su región en los [puntos de conexión del plano de datos de FIPS de AWS IoT Core](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints). El punto final de datos FIPS para usted Cuenta de AWS debería tener este aspecto: *data.iot-fips.us-west-2.amazonaws.com*

1. Obtenga el punto de conexión de las credenciales de FIPS para su región en los [puntos de conexión del plano de datos de FIPS de AWS IoT Core](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-data-plane-endpoints). El punto final de sus credenciales FIPS Cuenta de AWS debería tener este aspecto: *data.credentials.iot-fips.us-west-2.amazonaws.com*

### Descarga de certificados al dispositivo
<a name="download-claim-certificates"></a>

El dispositivo utiliza un certificado de reclamación y una clave privada para autenticar su solicitud de aprovisionamiento de AWS recursos y adquirir un certificado de dispositivo X.509. Puede incrustar el certificado de reclamación y la clave privada en el dispositivo durante la fabricación o copiar el certificado y la clave en el dispositivo durante la instalación. En esta sección, debe copiar el certificado de reclamación y la clave privada en el dispositivo. También descargue el certificado de la autoridad del certificado raíz (CA) de Amazon en el dispositivo.

**importante**  <a name="installation-fleet-provisioning-secure-claim-private-keys"></a>
Las claves privadas de la notificación de aprovisionamiento deben estar protegidas en todo momento, también en el dispositivo principal de Greengrass. Te recomendamos que utilices CloudWatch las estadísticas y los registros de Amazon para detectar indicios de uso indebido, como el uso no autorizado del certificado de reclamación para aprovisionar dispositivos. Si detecta un uso incorrecto, deshabilite el certificado de notificación de aprovisionamiento para que no se pueda utilizar para el aprovisionamiento de dispositivos. Para obtener más información, consulte [Monitorear AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/monitoring_overview.html) en la *Guía para desarrolladores de AWS IoT Core *.  
Para ayudarte a gestionar mejor el número de dispositivos y los dispositivos que se registran automáticamente en el tuyo Cuenta de AWS, puedes especificar un enlace previo al aprovisionamiento al crear una plantilla de aprovisionamiento de flotas. Un enlace de preaprovisionamiento es una AWS Lambda función que valida los parámetros de plantilla que proporcionan los dispositivos durante el registro. Por ejemplo, puede crear un enlace previo al aprovisionamiento que compruebe un ID de un dispositivo con una base de datos para comprobar que el dispositivo tiene permiso de aprovisionamiento. Para obtener más información, consulte los [enlaces previos al aprovisionamiento](https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html) en la *Guía para desarrolladores de AWS IoT Core *.

**Cómo descargar los certificados de reclamación al dispositivo**

1. Copie el certificado de reclamación y la clave privada en el dispositivo. Si SSH y SCP están habilitados en la computadora de desarrollo y en el dispositivo, puede utilizar el comando `scp` de la computadora de desarrollo para transferir el certificado de reclamación y la clave privada. El siguiente comando de ejemplo transfiere estos archivos a una carpeta denominada `claim-certs` en la computadora de desarrollo al dispositivo. *device-ip-address*Sustitúyala por la dirección IP de tu dispositivo.

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

1. <a name="installation-create-greengrass-root-folder"></a>Cree la carpeta raíz de Greengrass en el dispositivo. Más adelante instalarás el software AWS IoT Greengrass principal en esta carpeta.
**nota**  
Windows tiene una limitación de longitud de ruta de 260 caracteres. Si usa Windows, use una carpeta raíz como `C:\greengrass\v2` o `D:\greengrass\v2` para mantener las rutas de los componentes de Greengrass por debajo del límite de 260 caracteres.

------
#### [ Linux or Unix ]
   + Reemplace `/greengrass/v2` por la carpeta que desee utilizar.

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

------
#### [ Windows Command Prompt ]
   + Reemplace *C:\$1greengrass\$1v2* por la carpeta que desee utilizar.

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

------
#### [ PowerShell ]
   + Reemplace *C:\$1greengrass\$1v2* por la carpeta que desee utilizar.

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

------

1. <a name="installation-set-greengrass-root-folder-permissions"></a>(Solo para Linux) Establezca los permisos de la carpeta principal de la carpeta raíz de Greengrass.
   + */greengrass*Sustitúyalo por el elemento principal de la carpeta raíz.

   ```
   sudo chmod 755 /greengrass
   ```

1. Mueva los certificados de reclamación a la carpeta raíz de Greengrass.
   + Sustituya `/greengrass/v2` o *C:\$1greengrass\$1v2* por la carpeta raíz de 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. Descargue tanto el CA1 certificado como el [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
   ```

------

### Configuración del entorno del dispositivo
<a name="set-up-device-environment-fleet-provisioning"></a>

Siga los pasos de esta sección para configurar un dispositivo Linux o Windows para usarlo como dispositivo AWS IoT Greengrass principal.

#### Configuración de un dispositivo Linux
<a name="set-up-linux-device-environment-fleet-provisioning"></a><a name="set-up-linux-device-environment-procedure"></a>

**Para configurar un dispositivo Linux para AWS IoT Greengrass V2**

1. Instale el motor de ejecución de Java, que el software AWS IoT Greengrass principal necesita para ejecutarse. Le recomendamos que utilice las versiones de compatibilidad a largo plazo de [Amazon Corretto](https://aws.amazon.com/corretto/) u [OpenJDK](https://openjdk.java.net/). Se requiere la versión 8 o posterior. Los siguientes comandos muestran cómo instalar OpenJDK en su dispositivo.
   + Para distribuciones basadas en Debian o en Ubuntu:

     ```
     sudo apt install default-jdk
     ```
   + Para distribuciones basadas en Red Hat:

     ```
     sudo yum install java-11-openjdk-devel
     ```
   + En Amazon Linux 2:

     ```
     sudo amazon-linux-extras install java-openjdk11
     ```
   + En Amazon Linux 2023:

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

   Cuando se complete la instalación, ejecute el siguiente comando para comprobar que Java se ejecuta en su dispositivo Linux.

   ```
   java -version
   ```

   El comando imprime la versión de Java que se ejecuta en el dispositivo. Por ejemplo, en una distribución basada en Debian, el resultado podría ser similar al siguiente ejemplo.

   ```
   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) Cree el usuario y el grupo predeterminado del sistema que ejecutan los componentes del dispositivo. También puede optar por permitir que el instalador del software AWS IoT Greengrass principal cree este usuario y grupo durante la instalación con el argumento del `--component-default-user` instalador. Para obtener más información, consulte [Argumentos del instalador](configure-installer.md).

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

1. Compruebe que el usuario que ejecuta el software AWS IoT Greengrass principal (normalmente`root`) tiene permiso para ejecutar `sudo` con cualquier usuario y grupo.

   1. Ejecute el siguiente comando para abrir el archivo `/etc/sudoers`.

      ```
      sudo visudo
      ```

   1. Compruebe que el permiso del usuario se parezca al siguiente ejemplo.

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

1. (Opcional) Para [ejecutar funciones de Lambda en contenedores](run-lambda-functions.md), debe habilitar la versión 1 de [cgroups](https://en.wikipedia.org/wiki/Cgroups), y habilitar y montar los cgroups de *memoria* y de *dispositivos*. Si no tiene previsto ejecutar funciones de Lambda en contenedores, puede omitir este paso.

   Para habilitar estas opciones de cgroups, arranque el dispositivo con los siguientes parámetros del kernel de Linux.

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

   Para obtener más información acerca de cómo ver y configurar los parámetros del kernel de su dispositivo, consulte la documentación del sistema operativo y del gestor de arranque. Siga las instrucciones para configurar permanentemente los parámetros del kernel.

1. Instale todas las demás dependencias necesarias en su dispositivo tal y como se indica en la lista de requisitos de [Requisitos de los dispositivos](greengrass-nucleus-component.md#greengrass-v2-requirements).

#### Configuración de un dispositivo de Windows
<a name="set-up-windows-device-environment-fleet-provisioning"></a>

**nota**  
Esta característica está disponible para la versión 2.5.0 y versiones posteriores del [componente núcleo de Greengrass](greengrass-nucleus-component.md).<a name="set-up-windows-device-environment-procedure"></a>

**Para configurar un dispositivo Windows para AWS IoT Greengrass V2**

1. Instale el motor de ejecución de Java, que el software AWS IoT Greengrass principal necesita para ejecutarse. Le recomendamos que utilice las versiones de compatibilidad a largo plazo de [Amazon Corretto](https://aws.amazon.com/corretto/) u [OpenJDK](https://openjdk.java.net/). Se requiere la versión 8 o posterior.

1. Compruebe si Java está disponible en la variable del sistema [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) y agréguelo si no lo está. La LocalSystem cuenta ejecuta el software AWS IoT Greengrass principal, por lo que debe agregar Java a la variable de sistema PATH en lugar de a la variable de usuario PATH de su usuario. Haga lo siguiente:

   1. Pulse la tecla Windows para abrir el menú de inicio.

   1. Escriba **environment variables** para buscar las opciones del sistema en el menú de inicio.

   1. En los resultados de la búsqueda del menú de inicio, elija **Editar las variables de entorno del sistema** para abrir la ventana de **Propiedades del sistema**.

   1. Elija **Variables de entorno...** para abrir la ventana **Variables de entorno**.

   1. En **Variables del sistema**, elija **Ruta** y, luego, **Editar**. En la ventana **Editar variables de entorno**, puede ver cada ruta en una línea independiente.

   1. Compruebe si la ruta a la carpeta de la instalación de Java `bin` está presente. La ruta puede tener un aspecto similar al siguiente ejemplo.

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

   1. Si la carpeta de la instalación de Java `bin` no aparece en **Ruta**, elija **Nueva** para agregarla y, a continuación, pulse **Aceptar**.

1. <a name="set-up-windows-device-environment-open-cmd"></a>Abra el símbolo del sistema de Windows (`cmd.exe`) como administrador.

1. <a name="set-up-windows-device-environment-create"></a>Cree el usuario predeterminado en la LocalSystem cuenta del dispositivo Windows. *password*Sustitúyalo por una contraseña segura.

   ```
   net user /add ggc_user password
   ```
**sugerencia**  <a name="windows-password-expiration-tip"></a>
Según su configuración de Windows, es posible que la contraseña del usuario caduque en una fecha futura. Para garantizar que sus aplicaciones de Greengrass sigan funcionando, controle cuándo caduca la contraseña y actualícela antes de que caduque. También puede configurar la contraseña del usuario para que nunca caduque.  
Para comprobar cuándo caducan un usuario y su contraseña, ejecute el siguiente comando.  

     ```
     net user ggc_user | findstr /C:expires
     ```
Para configurar la contraseña de un usuario para que no caduque nunca, ejecute el siguiente comando.  

     ```
     wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
     ```
Si utilizas Windows 10 o una versión posterior, donde el [`wmic`comando está en desuso](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), ejecuta el siguiente PowerShell comando.  

     ```
     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>Descargue e instale la [PsExecutilidad](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) de Microsoft en el dispositivo. 

1. <a name="set-up-windows-device-credentials"></a>Utilice la PsExec utilidad para almacenar el nombre de usuario y la contraseña del usuario predeterminado en la instancia de Credential Manager de la LocalSystem cuenta. *password*Sustitúyala por la contraseña de usuario que configuraste anteriormente.

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

   Si **PsExec License Agreement** se abre, elija **Accept** para aceptar la licencia y ejecute el comando.
**nota**  
En los dispositivos Windows, la LocalSystem cuenta ejecuta el núcleo de Greengrass y debe usar la PsExec utilidad para almacenar la información de usuario predeterminada en la LocalSystem cuenta. El uso de la aplicación Credential Manager almacena esta información en la cuenta de Windows del usuario que ha iniciado sesión actualmente, en lugar de en la LocalSystem cuenta.

### Descargue el software AWS IoT Greengrass principal
<a name="download-greengrass-core-v2-fleet"></a>

Puede descargar la última versión del software AWS IoT Greengrass Core desde la siguiente ubicación:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass](https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip)-nucleus-latest.zip

**nota**  
Puede descargar una versión específica del software AWS IoT Greengrass Core desde la siguiente ubicación. *version*Sustitúyala por la versión que se va a descargar.  

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

**Para descargar el software AWS IoT Greengrass principal**

1. <a name="installation-download-ggc-software-step"></a>En su dispositivo principal, descargue el software AWS IoT Greengrass Core en un archivo denominado`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>Al descargar este software, acepta el [acuerdo de licencia del software de 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) Verificación de la firma del software del núcleo de Greengrass
**nota**  
Esta característica está disponible en la versión 2.9.5 y versiones posteriores del núcleo de Greengrass.

   1. Use el siguiente comando para verificar la firma del artefacto del núcleo de Greengrass:

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

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

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

      El nombre del archivo puede tener un aspecto diferente según la versión de JDK que instale. Reemplace *`jdk17.0.6_10`* por la versión de JDK que instaló.

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

------
#### [ PowerShell ]

      El nombre del archivo puede tener un aspecto diferente según la versión de JDK que instale. Reemplace *`jdk17.0.6_10`* por la versión de JDK que instaló.

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

------

   1. La invocación `jarsigner` produce un resultado que indica los resultados de la verificación.

      1. Si el archivo zip del núcleo de Greengrass está firmado, el resultado contiene la siguiente declaración:

         ```
         jar verified.
         ```

      1. Si el archivo zip del núcleo de Greengrass no está firmado, el resultado contiene la siguiente declaración:

         ```
         jar is unsigned.
         ```

   1. Si ha proporcionado la opción `-certs` Jarsigner junto con las opciones `-verify` y `-verbose`, el resultado también incluye información detallada del certificado de firmante.

1. <a name="installation-unzip-ggc-software-step"></a>Descomprime el software AWS IoT Greengrass Core en una carpeta de tu dispositivo. *GreengrassInstaller*Sustitúyalo por la carpeta que desee 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) Ejecute el siguiente comando para ver la versión del software AWS IoT Greengrass principal.

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

**importante**  <a name="installer-folder-2.4.0-warning"></a>
Si instala una versión del núcleo de Greengrass anterior a la v2.4.0, no elimine esta carpeta después de instalar el software Core. AWS IoT Greengrass El software AWS IoT Greengrass Core utiliza los archivos de esta carpeta para ejecutarse.  
Si descargó la última versión del software, instale la versión 2.4.0 o posterior y podrá eliminar esta carpeta después de instalar el software AWS IoT Greengrass principal.

### Descargue el complemento de aprovisionamiento AWS IoT de flotas
<a name="download-fleet-provisioning-plugin"></a>

Puedes descargar la última versión del complemento de aprovisionamiento de AWS IoT flotas desde la siguiente ubicación:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim](https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar)-latest.jar

**nota**  
Puede descargar una versión específica del complemento de aprovisionamiento de AWS IoT flotas desde la siguiente ubicación. *version*Sustitúyala por la versión que se va a descargar. Para obtener más información sobre cada versión del complemento de aprovisionamiento de flota, consulte [Registro de cambios del complemento de aprovisionamiento de flotas AWS IoT](fleet-provisioning-changelog.md).  

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

El complemento de aprovisionamiento de flota es de código abierto. Para ver su código fuente, consulta el [complemento de aprovisionamiento de AWS IoT flotas](https://github.com/aws-greengrass/aws-greengrass-fleet-provisioning-by-claim) en GitHub.

**Para descargar el complemento de aprovisionamiento de AWS IoT flotas**
+ En su dispositivo, descargue el complemento de aprovisionamiento de AWS IoT flotas en un archivo denominado. `aws.greengrass.FleetProvisioningByClaim.jar` *GreengrassInstaller*Sustitúyalo por la carpeta que desee 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>Al descargar este software, acepta el [acuerdo de licencia del software de Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

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

Ejecute el instalador con argumentos que especifiquen las siguientes acciones:
+ Instálelo desde un archivo de configuración parcial que especifique el uso del complemento de aprovisionamiento de flotas para aprovisionar AWS recursos. El software AWS IoT Greengrass Core utiliza un archivo de configuración que especifica la configuración de todos los componentes de Greengrass del dispositivo. El instalador crea un archivo de configuración completo a partir del archivo de configuración parcial que usted proporciona y de AWS los recursos que crea el complemento de aprovisionamiento de flotas.
+ <a name="install-argument-component-default-user"></a>Especifique si desea usar el usuario del sistema `ggc_user` para ejecutar los componentes de software en el dispositivo principal. En los dispositivos Linux, este comando también especifica el uso del grupo del sistema `ggc_group` y el instalador crea el usuario y el grupo del sistema por usted.
+ <a name="install-argument-system-service"></a>Configure el software AWS IoT Greengrass principal como un servicio del sistema que se ejecute durante el arranque. En los dispositivos Linux, esto requiere el sistema de inicio [Systemd](https://en.wikipedia.org/wiki/Systemd).
**importante**  <a name="windows-system-service-requirement-important-note"></a>
En los dispositivos principales de Windows, debe configurar el software AWS IoT Greengrass principal como un servicio del sistema.

Para obtener más información acerca de los argumentos que puede especificar, consulte [Argumentos del instalador](configure-installer.md).

**nota**  
<a name="jvm-tuning-note"></a>Si utilizas un AWS IoT Greengrass dispositivo con memoria limitada, puedes controlar la cantidad de memoria que utiliza el software AWS IoT Greengrass Core. Para controlar la asignación de memoria, puede configurar las opciones de tamaño de montón de la JVM en el parámetro de configuración `jvmOptions` del componente núcleo. Para obtener más información, consulte [Control de la asignación de memoria con las opciones de JVM](configure-greengrass-core-v2.md#jvm-tuning).

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

1. <a name="installer-check-greengrass-core-software-version"></a>Compruebe la versión del software AWS IoT Greengrass principal.
   + *GreengrassInstaller*Sustitúyala por la ruta a la carpeta que contiene el software.

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

1. Use un editor de texto para crear un archivo de configuración llamado `config.yaml` para proporcionárselo al instalador.

   <a name="nano-command-intro"></a>Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano a fin de crear el archivo.

   ```
   nano GreengrassInstaller/config.yaml
   ```

   Copie el siguiente contenido YAML en el archivo. Este archivo de configuración parcial especifica los parámetros del complemento de aprovisionamiento de flota. Para obtener más información acerca de las opciones que puede especificar, consulte [Configurar el complemento de aprovisionamiento de AWS IoT flotas](fleet-provisioning-configuration.md).

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

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "2.17.0"
       configuration:
         fipsMode: "true"
         greengrassDataPlaneEndpoint: "iotData"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "/greengrass/v2"
         awsRegion: "us-west-2"
         iotDataEndpoint: "data.iot-fips.us-west-2.amazonaws.com"
         iotCredEndpoint: "data.credentials.iot-fips.us-west-2.amazonaws.com"
         iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias"
         provisioningTemplate: "GreengrassFleetProvisioningTemplate"
         claimCertificatePath: "/greengrass/v2/claim-certs/claim.pem.crt"
         claimCertificatePrivateKeyPath: "/greengrass/v2/claim-certs/claim.private.pem.key"
         rootCaPath: "/greengrass/v2/AmazonRootCA1.pem"
         templateParameters:
           ThingName: "MyGreengrassCore"
           ThingGroupName: "MyGreengrassCoreGroup"
   ```

------
#### [ Windows ]

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "2.17.0"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "C:\\greengrass\\v2"
         awsRegion: "us-west-2"
         iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com"
         iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"
         iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias"
         provisioningTemplate: "GreengrassFleetProvisioningTemplate"
         claimCertificatePath: "C:\\greengrass\\v2\\claim-certs\\claim.pem.crt"
         claimCertificatePrivateKeyPath: "C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key"
         rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem"
         templateParameters:
           ThingName: "MyGreengrassCore"
           ThingGroupName: "MyGreengrassCoreGroup"
   ```

------

   A continuación, proceda del modo siguiente:
   + *2.17.0*Sustitúyala por la versión del software AWS IoT Greengrass principal.
   + Sustituya cada instancia de `/greengrass/v2` o *C:\$1greengrass\$1v2* por la carpeta raíz de Greengrass.
**nota**  
En los dispositivos Windows, debe especificar los separadores de rutas como barras invertidas dobles (`\\`), como `C:\\greengrass\\v2`.
   + *us-west-2*Sustitúyala por la AWS región en la que creaste la plantilla de aprovisionamiento y otros recursos.
   + `iotDataEndpoint`Sustitúyalo por su punto final AWS IoT de datos.
   + Reemplace el `iotCredentialEndpoint` por su punto de conexión de credenciales de AWS IoT .
   + *GreengrassCoreTokenExchangeRoleAlias*Sustitúyalo por el nombre del alias de la función de intercambio de fichas.
   + *GreengrassFleetProvisioningTemplate*Sustitúyalo por el nombre de la plantilla de aprovisionamiento de flota.
   + Sustituya `claimCertificatePath` por la ruta al certificado de reclamación del dispositivo.
   + Sustituya `claimCertificatePrivateKeyPath` por la ruta a la clave privada del certificado de reclamación del dispositivo.
   + Sustituya los parámetros de la plantilla (`templateParameters`) por los valores que se usan para aprovisionar el dispositivo. Este ejemplo hace referencia a la [plantilla de ejemplo](fleet-provisioning-setup.md#example-fleet-provisioning-template) que define los parámetros `ThingName` y `ThingGroupName`.

1. Ejecute el instalador. Especifique `--trusted-plugin` si desea proporcionar el complemento de aprovisionamiento de flota y especifique `--init-config` si desea proporcionar el archivo de configuración.
   + Reemplace `/greengrass/v2` por la carpeta raíz de Greengrass.
   + Sustituya cada instancia de por *GreengrassInstaller* la carpeta en la que desempaquetó el 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>
En los dispositivos principales de Windows, debe especificar si `--setup-system-service true` desea configurar el software AWS IoT Greengrass principal como un servicio del sistema.

   <a name="installer-setup-system-service-output-message"></a>Si especifica `--setup-system-service true`, el instalador imprime `Successfully set up Nucleus as a system service` si configuró y ejecutó el software como un servicio del sistema. De lo contrario, el instalador no mostrará ningún mensaje si instala el software correctamente.
**nota**  <a name="installer-deploy-dev-tools-without-provision"></a>
No puede usar el argumento `deploy-dev-tools` para implementar herramientas de desarrollo locales cuando ejecuta el instalador sin el argumento `--provision true`. Para obtener información sobre cómo implementar la CLI de Greengrass directamente en su dispositivo, consulte [Interfaz de la línea de comandos de Greengrass](gg-cli.md).

1. <a name="installer-verify-installation"></a>Verifique la instalación mediante la consulta de los archivos de la carpeta raíz.

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

   ```
   ls /greengrass/v2
   ```

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

   ```
   dir C:\greengrass\v2
   ```

------
#### [ PowerShell ]

   ```
   ls C:\greengrass\v2
   ```

------

   Si la instalación se realizó correctamente, la carpeta raíz contiene varias carpetas, como `config`, `packages` y `logs`.

<a name="install-greengrass-core-run-software"></a>Si instaló el software AWS IoT Greengrass Core como un servicio del sistema, el instalador ejecutará el software automáticamente. De no ser así, debe ejecutar el software manualmente. Para obtener más información, consulte [Ejecute el software AWS IoT Greengrass principal](run-greengrass-core-v2.md).

<a name="install-greengrass-core-next-steps-intro"></a>Para obtener más información sobre cómo configurar y utilizar el software AWS IoT Greengrass, consulte lo siguiente:<a name="install-greengrass-core-next-steps-links"></a>
+ [Configurar el software AWS IoT Greengrass principal](configure-greengrass-core-v2.md)
+ [Desarrolle AWS IoT Greengrass componentes](develop-greengrass-components.md)
+ [Implemente AWS IoT Greengrass componentes en los dispositivos](manage-deployments.md)
+ [Interfaz de la línea de comandos de Greengrass](gg-cli.md)

## Instalación de puntos de conexión de FIPS con aprovisionamiento automático de recursos
<a name="FIPS-auto-installation"></a>

El software AWS IoT Greengrass Core incluye un instalador que configura su dispositivo como un dispositivo principal de Greengrass. Para configurar un dispositivo rápidamente, el instalador puede proporcionar la AWS IoT AWS IoT cosa, el grupo de cosas, la función de IAM y el alias de la AWS IoT función que el dispositivo principal necesita para funcionar. El instalador también puede implementar las herramientas de desarrollo locales en el dispositivo principal, de modo que usted pueda usar el dispositivo para desarrollar y probar componentes de software personalizados. El instalador necesita credenciales de AWS para aprovisionar estos recursos y crear la implementación.

Si no puede proporcionar AWS las credenciales al dispositivo, puede aprovisionar los AWS recursos que el dispositivo principal necesita para funcionar. También puede implementar las herramientas de desarrollo en un dispositivo principal para usarlas como dispositivo de desarrollo. Esto le permite conceder menos permisos al dispositivo al ejecutar el instalador. Para obtener más información, consulte [Instale el software AWS IoT Greengrass principal con aprovisionamiento manual de recursos](manual-installation.md).

**importante**  <a name="install-greengrass-core-requirements-note"></a>
Antes de descargar el software AWS IoT Greengrass Core, compruebe que su dispositivo principal cumpla los [requisitos](greengrass-nucleus-component.md#greengrass-v2-requirements) para instalar y ejecutar el software AWS IoT Greengrass Core v2.0.

**Topics**
+ [Configuración del entorno del dispositivo](#set-up-device-environment)
+ [Proporcione AWS las credenciales al dispositivo](#provide-installer-aws-credentials-auto)
+ [Descargue el software AWS IoT Greengrass principal](#download-greengrass-core-v2-auto)
+ [Instale el software principal AWS IoT Greengrass](#run-greengrass-core-v2-installer-auto)

### Configuración del entorno del dispositivo
<a name="set-up-device-environment"></a>

Siga los pasos de esta sección para configurar un dispositivo Linux o Windows para usarlo como su dispositivo principal de AWS IoT Greengrass .

#### Configuración de un dispositivo Linux
<a name="set-up-linux-device-environment"></a><a name="set-up-linux-device-environment-procedure"></a>

**Para configurar un dispositivo Linux para AWS IoT Greengrass V2**

1. Instale el motor de ejecución de Java, que el software AWS IoT Greengrass principal necesita para ejecutarse. Le recomendamos que utilice las versiones de compatibilidad a largo plazo de [Amazon Corretto](https://aws.amazon.com/corretto/) u [OpenJDK](https://openjdk.java.net/). Se requiere la versión 8 o posterior. Los siguientes comandos muestran cómo instalar OpenJDK en su dispositivo.
   + Para distribuciones basadas en Debian o en Ubuntu:

     ```
     sudo apt install default-jdk
     ```
   + Para distribuciones basadas en Red Hat:

     ```
     sudo yum install java-11-openjdk-devel
     ```
   + En Amazon Linux 2:

     ```
     sudo amazon-linux-extras install java-openjdk11
     ```
   + En Amazon Linux 2023:

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

   Cuando se complete la instalación, ejecute el siguiente comando para comprobar que Java se ejecuta en su dispositivo Linux.

   ```
   java -version
   ```

   El comando imprime la versión de Java que se ejecuta en el dispositivo. Por ejemplo, en una distribución basada en Debian, el resultado podría ser similar al siguiente ejemplo.

   ```
   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) Cree el usuario y el grupo predeterminado del sistema que ejecutan los componentes del dispositivo. También puede optar por permitir que el instalador del software AWS IoT Greengrass principal cree este usuario y grupo durante la instalación con el argumento del `--component-default-user` instalador. Para obtener más información, consulte [Argumentos del instalador](configure-installer.md).

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

1. Compruebe que el usuario que ejecuta el software AWS IoT Greengrass principal (normalmente`root`) tiene permiso para ejecutar `sudo` con cualquier usuario y grupo.

   1. Ejecute el siguiente comando para abrir el archivo `/etc/sudoers`.

      ```
      sudo visudo
      ```

   1. Compruebe que el permiso del usuario se parezca al siguiente ejemplo.

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

1. (Opcional) Para [ejecutar funciones de Lambda en contenedores](run-lambda-functions.md), debe habilitar la versión 1 de [cgroups](https://en.wikipedia.org/wiki/Cgroups), y habilitar y montar los cgroups de *memoria* y de *dispositivos*. Si no tiene previsto ejecutar funciones de Lambda en contenedores, puede omitir este paso.

   Para habilitar estas opciones de cgroups, arranque el dispositivo con los siguientes parámetros del kernel de Linux.

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

   Para obtener más información acerca de cómo ver y configurar los parámetros del kernel de su dispositivo, consulte la documentación del sistema operativo y del gestor de arranque. Siga las instrucciones para configurar permanentemente los parámetros del kernel.

1. Instale todas las demás dependencias necesarias en su dispositivo tal y como se indica en la lista de requisitos de [Requisitos de los dispositivos](greengrass-nucleus-component.md#greengrass-v2-requirements).

#### Configuración de un dispositivo de Windows
<a name="set-up-windows-device-environment"></a>

**nota**  
Esta característica está disponible para la versión 2.5.0 y versiones posteriores del [componente núcleo de Greengrass](greengrass-nucleus-component.md).<a name="set-up-windows-device-environment-procedure"></a>

**Para configurar un dispositivo Windows para AWS IoT Greengrass V2**

1. Instale el motor de ejecución de Java, que el software AWS IoT Greengrass principal necesita para ejecutarse. Le recomendamos que utilice las versiones de compatibilidad a largo plazo de [Amazon Corretto](https://aws.amazon.com/corretto/) u [OpenJDK](https://openjdk.java.net/). Se requiere la versión 8 o posterior.

1. Compruebe si Java está disponible en la variable del sistema [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) y agréguelo si no lo está. La LocalSystem cuenta ejecuta el software AWS IoT Greengrass principal, por lo que debe agregar Java a la variable de sistema PATH en lugar de a la variable de usuario PATH de su usuario. Haga lo siguiente:

   1. Pulse la tecla Windows para abrir el menú de inicio.

   1. Escriba **environment variables** para buscar las opciones del sistema en el menú de inicio.

   1. En los resultados de la búsqueda del menú de inicio, elija **Editar las variables de entorno del sistema** para abrir la ventana de **Propiedades del sistema**.

   1. Elija **Variables de entorno...** para abrir la ventana **Variables de entorno**.

   1. En **Variables del sistema**, elija **Ruta** y, luego, **Editar**. En la ventana **Editar variables de entorno**, puede ver cada ruta en una línea independiente.

   1. Compruebe si la ruta a la carpeta de la instalación de Java `bin` está presente. La ruta puede tener un aspecto similar al siguiente ejemplo.

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

   1. Si la carpeta de la instalación de Java `bin` no aparece en **Ruta**, elija **Nueva** para agregarla y, a continuación, pulse **Aceptar**.

1. <a name="set-up-windows-device-environment-open-cmd"></a>Abra el símbolo del sistema de Windows (`cmd.exe`) como administrador.

1. <a name="set-up-windows-device-environment-create"></a>Cree el usuario predeterminado en la LocalSystem cuenta del dispositivo Windows. *password*Sustitúyalo por una contraseña segura.

   ```
   net user /add ggc_user password
   ```
**sugerencia**  <a name="windows-password-expiration-tip"></a>
Según su configuración de Windows, es posible que la contraseña del usuario caduque en una fecha futura. Para garantizar que sus aplicaciones de Greengrass sigan funcionando, controle cuándo caduca la contraseña y actualícela antes de que caduque. También puede configurar la contraseña del usuario para que nunca caduque.  
Para comprobar cuándo caducan un usuario y su contraseña, ejecute el siguiente comando.  

     ```
     net user ggc_user | findstr /C:expires
     ```
Para configurar la contraseña de un usuario para que no caduque nunca, ejecute el siguiente comando.  

     ```
     wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
     ```
Si utilizas Windows 10 o una versión posterior, donde el [`wmic`comando está en desuso](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), ejecuta el siguiente PowerShell comando.  

     ```
     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>Descargue e instale la [PsExecutilidad](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) de Microsoft en el dispositivo. 

1. <a name="set-up-windows-device-credentials"></a>Utilice la PsExec utilidad para almacenar el nombre de usuario y la contraseña del usuario predeterminado en la instancia de Credential Manager de la LocalSystem cuenta. *password*Sustitúyala por la contraseña de usuario que configuraste anteriormente.

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

   Si **PsExec License Agreement** se abre, elija **Accept** para aceptar la licencia y ejecute el comando.
**nota**  
En los dispositivos Windows, la LocalSystem cuenta ejecuta el núcleo de Greengrass y debe usar la PsExec utilidad para almacenar la información de usuario predeterminada en la LocalSystem cuenta. El uso de la aplicación Credential Manager almacena esta información en la cuenta de Windows del usuario que ha iniciado sesión actualmente, en lugar de en la LocalSystem cuenta.

### Proporcione AWS las credenciales al dispositivo
<a name="provide-installer-aws-credentials-auto"></a>

Proporcione AWS las credenciales del dispositivo para que el instalador pueda aprovisionar los AWS recursos necesarios. Para obtener más información sobre los permisos necesarios, consulte [Política de IAM mínima para que el instalador aprovisione recursos](provision-minimal-iam-policy.md).

**Para proporcionar AWS credenciales al dispositivo**
+ <a name="installer-export-aws-credentials"></a>Proporcione sus AWS credenciales al dispositivo para que el instalador pueda aprovisionar los recursos de IAM AWS IoT y los de su dispositivo principal. Para aumentar la seguridad, le recomendamos que obtenga credenciales temporales para un rol de IAM que permita únicamente los permisos mínimos necesarios para el aprovisionamiento. Para obtener más información, consulte [Política de IAM mínima para que el instalador aprovisione recursos](provision-minimal-iam-policy.md).
**nota**  
El instalador no guarda ni almacena sus credenciales.

  En el dispositivo, realice una de las siguientes acciones para recuperar las credenciales y ponerlas a disposición del instalador del software AWS IoT Greengrass principal:
  + (Recomendado) Utilice credenciales temporales de AWS IAM Identity Center

    1. Proporcione el ID de clave de acceso, la clave de acceso secreta y el token de sesión desde IAM Identity Center. Para obtener más información, consulte la **Actualización manual de credenciales** en [Obtener y actualizar las credenciales temporales](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html#how-to-get-temp-credentials) en la *Guía del usuario de IAM Identity Center.*

    1. Ejecute los siguientes comandos para proporcionar las credenciales al 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 credenciales de seguridad temporales de un rol de (IAM):

    1. Proporcione el ID de clave de acceso, la clave de acceso secreta y el token de sesión desde un rol de IAM que asuma. Para obtener más información acerca de cómo recuperar estas credenciales, consulte [Solicitud de credenciales de seguridad temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) en la *Guía del usuario de IAM*.

    1. Ejecute los siguientes comandos para proporcionar las credenciales al 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 credenciales a largo plazo de un usuario de IAM:

    1. Proporcione el ID de clave de acceso y la clave de acceso secreta del usuario de IAM. Puede crear un usuario de IAM para el aprovisionamiento y luego eliminarlo. Para la política de IAM que debe proporcionarse al usuario, consulte [Política de IAM mínima para que el instalador aprovisione recursos](provision-minimal-iam-policy.md). Para obtener información acerca de cómo recuperar credenciales a largo plazo, consulte [Administración de las claves de acceso de los usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) en la *Guía de usuario de IAM*.

    1. Ejecute los siguientes comandos para proporcionar las credenciales al 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) Si creó un usuario de IAM para aprovisionar su dispositivo de Greengrass, elimínelo.

    1. (Opcional) Si utilizó el ID de clave de acceso y la clave de acceso secreta de un usuario de IAM existente, actualice las claves del usuario para que dejen de ser válidas. Para obtener más información, consulte [Actualización de claves de acceso](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) en la *Guía de usuario de AWS Identity and Access Management *.

### Descargue el software AWS IoT Greengrass principal
<a name="download-greengrass-core-v2-auto"></a>

Puede descargar la última versión del software AWS IoT Greengrass Core desde la siguiente ubicación:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass](https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip)-nucleus-latest.zip

**nota**  
Puede descargar una versión específica del software AWS IoT Greengrass Core desde la siguiente ubicación. *version*Sustitúyala por la versión que se va a descargar.  

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

**Para descargar el software AWS IoT Greengrass principal**

1. <a name="installation-download-ggc-software-step"></a>En su dispositivo principal, descargue el software AWS IoT Greengrass Core en un archivo denominado`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>Al descargar este software, acepta el [acuerdo de licencia del software de 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) Verificación de la firma del software del núcleo de Greengrass
**nota**  
Esta característica está disponible en la versión 2.9.5 y versiones posteriores del núcleo de Greengrass.

   1. Use el siguiente comando para verificar la firma del artefacto del núcleo de Greengrass:

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

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

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

      El nombre del archivo puede tener un aspecto diferente según la versión de JDK que instale. Reemplace *`jdk17.0.6_10`* por la versión de JDK que instaló.

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

------
#### [ PowerShell ]

      El nombre del archivo puede tener un aspecto diferente según la versión de JDK que instale. Reemplace *`jdk17.0.6_10`* por la versión de JDK que instaló.

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

------

   1. La invocación `jarsigner` produce un resultado que indica los resultados de la verificación.

      1. Si el archivo zip del núcleo de Greengrass está firmado, el resultado contiene la siguiente declaración:

         ```
         jar verified.
         ```

      1. Si el archivo zip del núcleo de Greengrass no está firmado, el resultado contiene la siguiente declaración:

         ```
         jar is unsigned.
         ```

   1. Si ha proporcionado la opción `-certs` Jarsigner junto con las opciones `-verify` y `-verbose`, el resultado también incluye información detallada del certificado de firmante.

1. <a name="installation-unzip-ggc-software-step"></a>Descomprime el software AWS IoT Greengrass Core en una carpeta de tu dispositivo. *GreengrassInstaller*Sustitúyalo por la carpeta que desee 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) Ejecute el siguiente comando para ver la versión del software AWS IoT Greengrass principal.

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

**importante**  <a name="installer-folder-2.4.0-warning"></a>
Si instala una versión del núcleo de Greengrass anterior a la v2.4.0, no elimine esta carpeta después de instalar el software Core. AWS IoT Greengrass El software AWS IoT Greengrass Core utiliza los archivos de esta carpeta para ejecutarse.  
Si descargó la última versión del software, instale la versión 2.4.0 o posterior y podrá eliminar esta carpeta después de instalar el software AWS IoT Greengrass principal.

### Instale el software principal AWS IoT Greengrass
<a name="run-greengrass-core-v2-installer-auto"></a>

Ejecute el instalador con argumentos que especifiquen lo siguiente:
+ <a name="install-argument-aws-resources"></a>Cree los AWS recursos que el dispositivo principal necesita para funcionar.
+ <a name="install-argument-component-default-user"></a>Especifique si desea usar el usuario del sistema `ggc_user` para ejecutar los componentes de software en el dispositivo principal. En los dispositivos Linux, este comando también especifica el uso del grupo del sistema `ggc_group` y el instalador crea el usuario y el grupo del sistema por usted.
+ <a name="install-argument-system-service"></a>Configure el software AWS IoT Greengrass Core como un servicio del sistema que se ejecute durante el arranque. En los dispositivos Linux, esto requiere el sistema de inicio [Systemd](https://en.wikipedia.org/wiki/Systemd).
**importante**  <a name="windows-system-service-requirement-important-note"></a>
En los dispositivos principales de Windows, debe configurar el software AWS IoT Greengrass principal como un servicio del sistema.

Para configurar un dispositivo de desarrollo con herramientas de desarrollo local, especifique el argumento `--deploy-dev-tools true`. Una vez finalizada la instalación, la implementación de las herramientas de desarrollo local puede tardar hasta un minuto. 

Para obtener más información acerca de los argumentos que puede especificar, consulte [Argumentos del instalador](configure-installer.md).

**nota**  
<a name="jvm-tuning-note"></a>Si utilizas un AWS IoT Greengrass dispositivo con memoria limitada, puedes controlar la cantidad de memoria que utiliza el software AWS IoT Greengrass Core. Para controlar la asignación de memoria, puede configurar las opciones de tamaño de montón de la JVM en el parámetro de configuración `jvmOptions` del componente núcleo. Para obtener más información, consulte [Control de la asignación de memoria con las opciones de JVM](configure-greengrass-core-v2.md#jvm-tuning).

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

1. Use un editor de texto para crear un archivo de configuración llamado `config.yaml` para proporcionárselo al instalador.

   <a name="nano-command-intro"></a>Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano a fin de crear el archivo.

   ```
   nano GreengrassInstaller/config.yaml
   ```

   Copie el siguiente contenido YAML en el archivo. Este archivo de configuración parcial especifica los parámetros del sistema y los parámetros del núcleo de Greengrass.

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       configuration:
         fipsMode: "true"
         iotDataEndpoint: "data.iot-fips.us-west-2.amazonaws.com"
         iotCredEndpoint: "data.credentials.iot-fips.us-west-2.amazonaws.com"
         greengrassDataPlaneEndpoint: "iotData"
   ```
   + *us-west-2*Sustitúyalo por el Región de AWS lugar donde creó los recursos.
   + Reemplace el *iotDataEndpoint* por su punto de conexión de datos de AWS IoT .
   + Reemplace el *iotCredEndpoint* por su punto de conexión de credenciales de AWS IoT .

1. Ejecute el instalador AWS IoT Greengrass principal. Reemplace los valores de los argumentos en su comando de la siguiente manera.
**nota**  
Windows tiene una limitación de longitud de ruta de 260 caracteres. Si usa Windows, use una carpeta raíz como `C:\greengrass\v2` o `D:\greengrass\v2` para mantener las rutas de los componentes de Greengrass por debajo del límite de 260 caracteres.<a name="installer-replace-arguments"></a>

   1. `/greengrass/v2`o bien*C:\$1greengrass\$1v2*: la ruta a la carpeta raíz que se utilizará para instalar el software AWS IoT Greengrass Core.

   1. *GreengrassInstaller*. La ruta a la carpeta en la que desempaquetó el instalador del software AWS IoT Greengrass Core.

   1. *region*. El Región de AWS lugar en el que encontrar o crear recursos.

   1. *MyGreengrassCore*. El nombre del AWS IoT dispositivo principal de Greengrass. Si el objeto no existe, el instalador la crea. El instalador descarga los certificados para autenticarse como tal. AWS IoT Para obtener más información, consulte [Autenticación y autorización de dispositivos para AWS IoT Greengrass](device-auth.md).
**nota**  <a name="install-argument-thing-name-constraint"></a>
El nombre del objeto no puede contener dos puntos (`:`).

   1. *MyGreengrassCoreGroup*. El nombre del grupo de AWS IoT cosas de su dispositivo principal de Greengrass. Si el grupo de objetos no existe, el instalador lo crea y le agrega un objeto. Si el grupo de objetos existe y tiene una implementación activa, el dispositivo principal descarga y ejecuta el software que especifique la implementación.
**nota**  <a name="install-argument-thing-group-name-constraint"></a>
El nombre del grupo de objetos no puede contener dos puntos (`:`).

   1. *GreengrassV2IoTThingPolicy*. El nombre de la AWS IoT política que permite a los dispositivos principales de Greengrass comunicarse con AWS IoT y. AWS IoT Greengrass Si la AWS IoT política no existe, el instalador crea una AWS IoT política permisiva con este nombre. Puede restringir los permisos de esta política según su caso de uso. Para obtener más información, consulte [AWS IoT Política mínima para los dispositivos AWS IoT Greengrass V2 principales](device-auth.md#greengrass-core-minimal-iot-policy).

   1. *GreengrassV2TokenExchangeRole*. El nombre de la función de IAM que permite al dispositivo principal de Greengrass obtener AWS credenciales temporales. Si el rol no existe, el instalador lo crea y asocia una política denominada `GreengrassV2TokenExchangeRoleAccess`. Para obtener más información, consulte [Autorizar a los dispositivos principales a interactuar con AWS los servicios](device-service-role.md).

   1. *GreengrassCoreTokenExchangeRoleAlias*. El alias de la función de IAM que permite al dispositivo principal de Greengrass obtener credenciales temporales más adelante. Si el alias del rol no existe, el instalador lo crea y lo dirige al rol de IAM que especifique. Para obtener más información, consulte [Autorizar a los dispositivos principales a interactuar con AWS los servicios](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>
En los dispositivos principales de Windows, debe especificar si `--setup-system-service true` desea configurar el software AWS IoT Greengrass Core como un servicio del sistema.

   El instalador imprime los siguientes mensajes si la operación es exitosa:
   + Si especifica `--provision`, el instalador imprime `Successfully configured Nucleus with provisioned resource details` si configuró los recursos correctamente.
   + Si especifica `--deploy-dev-tools`, el instalador imprime `Configured Nucleus to deploy aws.greengrass.Cli component` si creó la implementación correctamente.
   + Si especifica `--setup-system-service true`, el instalador imprime `Successfully set up Nucleus as a system service` si configuró y ejecutó el software como un servicio.
   + Si no especifica `--setup-system-service true`, el instalador imprime `Launched Nucleus successfully` si se ejecutó correctamente y ejecutó el software.

1. Omita este paso si instaló la versión 2.0.4 o una versión posterior de [Núcleo de Greengrass](greengrass-nucleus-component.md). Si descargó la versión más reciente del software, instaló la versión 2.0.4 o una versión posterior.

   Ejecute el siguiente comando para establecer los permisos de archivo necesarios para la carpeta raíz del software AWS IoT Greengrass Core. `/greengrass/v2`Sustitúyala por la carpeta raíz que especificó en el comando de instalación y */greengrass* sustitúyala por la carpeta principal de la carpeta raíz.

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

<a name="install-greengrass-core-run-software"></a>Si instaló el software AWS IoT Greengrass principal como un servicio del sistema, el instalador ejecutará el software automáticamente. De no ser así, debe ejecutar el software manualmente. Para obtener más información, consulte [Ejecute el software AWS IoT Greengrass principal](run-greengrass-core-v2.md).

**nota**  
De forma predeterminada, el rol de IAM que crea el instalador no permite el acceso a los artefactos de componentes de los buckets de S3. Para implementar componentes personalizados que definan artefactos en Amazon S3, debe agregar permisos al rol para permitir que su dispositivo principal recupere artefactos de componentes. Para obtener más información, consulte [Cómo permitir el acceso a los buckets de S3 para los artefactos del componente](device-service-role.md#device-service-role-access-s3-bucket).  
Si aún no tiene un bucket de S3 para los artefactos de los componentes, puede agregar estos permisos más adelante, después de crear un bucket.

<a name="install-greengrass-core-next-steps-intro"></a>Para obtener más información sobre cómo configurar y utilizar el software AWS IoT Greengrass, consulte lo siguiente:<a name="install-greengrass-core-next-steps-links"></a>
+ [Configurar el software AWS IoT Greengrass principal](configure-greengrass-core-v2.md)
+ [Desarrolle AWS IoT Greengrass componentes](develop-greengrass-components.md)
+ [Implemente AWS IoT Greengrass componentes en los dispositivos](manage-deployments.md)
+ [Interfaz de la línea de comandos de Greengrass](gg-cli.md)

## Componentes propios que cumplen con las normas de 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/es_es/greengrass/v2/developerguide/FIPS.html) El administrador de flujos no es compatible con el punto AWS IoT Analytics final FIPS  | 
| aws.greengrass.LogManager | logs-fips. us-east-1.amazonaws.com | 
| aws.greengrass.crypto.Pkcs11Provider |  | 
| aws.greengrass.ShadowManager |  | 
| aws.greengrass.DockerApplicationManager | consejos electrónicos. us-east-1.amazonaws.com | 
| aws.greengrass.SecretManager | administrador de secretos - fips. us-east-1.amazonaws.com | 
| aws.greengrass.telemetry.NucleusEmitter |  | 
| aws.greengrass.clientdevices.IPDetector |  | 
| aws.greengrass.DiskSpooler |  | 