Instale el software AWS IoT Greengrass principal con aprovisionamiento manual de recursos - AWS IoT Greengrass

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.

Instale el software AWS IoT Greengrass principal con aprovisionamiento manual de recursos

El software AWS IoT Greengrass Core incluye un instalador que configura su dispositivo como un dispositivo principal de Greengrass. Para configurar un dispositivo manualmente, puede crear los recursos de IAM AWS IoT y los necesarios para que los utilice el dispositivo. Si crea estos recursos manualmente, no necesita proporcionar AWS las credenciales al instalador.

Al instalar manualmente el software AWS IoT Greengrass Core, también puede configurar el dispositivo para que utilice un proxy de red o se conecte AWS al puerto 443. Es posible que tengas que especificar estas opciones de configuración si tu dispositivo funciona con un firewall o un proxy de red, por ejemplo. Para obtener más información, consulte Realizar la conexión en el puerto 443 o a través de un proxy de red.

También puede configurar el software AWS IoT Greengrass Core para que utilice un módulo de seguridad de hardware (HSM) a través de la interfaz PKCS #11. Esta función le permite almacenar de forma segura los archivos de certificados y claves privadas para que no queden expuestos ni duplicados en el software. Puede almacenar claves privadas y certificados en un módulo de hardware, como un HSM, un módulo de plataforma segura (TPM) u otro elemento criptográfico. Esta función solo está disponible en dispositivos Linux. Para obtener más información sobre la seguridad del hardware y los requisitos para su uso, consulteIntegración de la seguridad de hardware.

importante

Antes de descargar el software AWS IoT Greengrass Core, compruebe que su dispositivo principal cumpla los requisitos para instalar y ejecutar el software AWS IoT Greengrass Core v2.0.

Recupere los puntos finales AWS IoT

Obtenga los AWS IoT puntos finales que desee y guárdelos para usarlos más adelante. Cuenta de AWS El dispositivo utiliza estos puntos finales para conectarse a ellos. AWS IoT Haga lo siguiente:

  1. Obtenga el punto final AWS IoT de datos para su. Cuenta de AWS

    aws iot describe-endpoint --endpoint-type iot:Data-ATS

    La respuesta es similar a la del siguiente ejemplo, si la solicitud se realiza correctamente.

    { "endpointAddress": "device-data-prefix-ats.iot.us-west-2.amazonaws.com" }
  2. Obtenga el punto final de AWS IoT credenciales para su. Cuenta de AWS

    aws iot describe-endpoint --endpoint-type iot:CredentialProvider

    La respuesta es similar a la del siguiente ejemplo, si la solicitud se realiza correctamente.

    { "endpointAddress": "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" }

Crea cualquier cosa AWS IoT

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 tu ordenador de desarrollo, ejecuta el siguiente comando.

    • MyGreengrassCoreSustitúyalo por el nombre de la cosa que se va a utilizar. Este nombre también es el nombre de su dispositivo principal de Greengrass.

      nota

      El nombre del objeto no puede contener dos puntos (:).

    aws iot create-thing --thing-name MyGreengrassCore

    Si la solicitud se realiza correctamente, la respuesta es similar a la del siguiente ejemplo.

    { "thingName": "MyGreengrassCore", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "thingId": "8cb4b6cd-268e-495d-b5b9-1713d71dbf42" }
  2. (Opcional) Añada la AWS IoT cosa a un grupo de cosas nuevo o existente. Los grupos de cosas se utilizan para gestionar las flotas de los dispositivos principales de Greengrass. Al implementar componentes de software en sus dispositivos, puede dirigirlos a dispositivos individuales o a grupos de dispositivos. Puede añadir un dispositivo a un grupo de cosas con una implementación activa de Greengrass para implementar los componentes de software de ese grupo de cosas en el dispositivo. Haga lo siguiente:

    1. (Opcional) Cree un grupo de AWS IoT cosas.

      • MyGreengrassCoreGroupSustitúyalo por el nombre del grupo de cosas que desee crear.

        nota

        El nombre del grupo de cosas no puede contener dos puntos (:).

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

      La respuesta es similar a la del siguiente ejemplo si la solicitud se realiza correctamente.

      { "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" }
    2. Añada la AWS IoT cosa a un grupo de cosas.

      • MyGreengrassCoreSustitúyala por el nombre de la AWS IoT cosa.

      • MyGreengrassCoreGroupSustitú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.

Crea el certificado de la cosa

Cuando registras un dispositivo como una AWS IoT cosa, ese dispositivo puede usar un certificado digital para autenticarse AWS. Este certificado permite que el dispositivo se comunique con AWS IoT y AWS IoT Greengrass.

En esta sección, puede crear y descargar certificados que el dispositivo puede usar para conectarse AWS.

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 función 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, consulteIntegración de la seguridad de hardware.

Cree el certificado y la clave privada en el AWS IoT servicio

Para crear el certificado de cosa
  1. Crea una carpeta donde descargues los certificados de la AWS IoT cosa.

    mkdir greengrass-v2-certs
  2. 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

    La respuesta es similar a la del siguiente ejemplo, si la solicitud se realiza correctamente.

    { "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 configurarlo más adelante.

Cree el certificado a partir de una clave privada en un HSM

nota

Esta función está disponible para la versión 2.5.3 y versiones posteriores del componente núcleo de Greengrass. AWS IoT Greengrass actualmente no admite esta función en los dispositivos principales de Windows.

Para crear el certificado de la cosa
  1. En el dispositivo principal, inicialice un token PKCS #11 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

    Para utilizar un módulo de seguridad de hardware con claves ECC, debe utilizar Greengrass nucleus v2.5.6 o posterior.

    Para usar un módulo de seguridad de hardware y un administrador de secretos, 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 ID de objeto, 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 AWS IoT Greengrass software Core.

  2. Cree una solicitud de firma de certificado (CSR) a partir de la clave privada. AWS IoT usa esta CSR para crear un certificado específico para la clave privada que generaste en el HSM. Para obtener información sobre cómo crear una CSR a partir de la clave privada, consulte la documentación de su HSM. La CSR es un archivo, como. iotdevicekey.csr

  3. Copie la CSR del dispositivo a su ordenador de desarrollo. Si SSH y SCP están habilitados en el ordenador de desarrollo y en el dispositivo, puede utilizar el scp comando del ordenador de desarrollo para transferir la CSR. device-ip-addressSustitúyala por la dirección IP del dispositivo y sustituya ~/iotdevicekey.csr por la ruta al archivo CSR del dispositivo.

    scp device-ip-address:~/iotdevicekey.csr iotdevicekey.csr
  4. En tu ordenador de desarrollo, crea una carpeta en la que descargues el certificado del dispositivo. AWS IoT

    mkdir greengrass-v2-certs
  5. Utilice el archivo CSR para crear y descargar el certificado del dispositivo en AWS IoT su ordenador 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

    La respuesta es similar a la del siguiente ejemplo, si la solicitud se realiza correctamente.

    { "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.

Configure el certificado del objeto

Adjunte el certificado del AWS IoT objeto al elemento que creó anteriormente y añada una AWS IoT política al certificado para definir los AWS IoT permisos del dispositivo principal.

Para configurar el certificado de la cosa
  1. Adjunte el certificado a la AWS IoT cosa.

    • Reemplácelo MyGreengrassCorecon el nombre de su AWS IoT cosa.

    • Sustituya el certificado Amazon Resource Name (ARN) por el ARN del certificado que creó en el paso anterior.

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

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

  2. Cree y adjunte una AWS IoT política que defina los AWS IoT permisos de su dispositivo principal de Greengrass. La siguiente política permite el acceso a todos los temas de MQTT y a las operaciones de Greengrass, de modo que su dispositivo funcione con aplicaciones personalizadas y con cambios futuros que requieran nuevas operaciones de Greengrass. Puede restringir esta política en función de su caso de uso. Para obtener más información, consulte AWS IoTPolítica mínima para los dispositivos AWS IoT Greengrass V2 principales.

    Si ya ha configurado un dispositivo principal de Greengrass, puede adjuntar su AWS IoT política en lugar de crear una nueva.

    Haga lo siguiente:

    1. Cree un archivo que contenga el documento AWS IoT de política que requieren los dispositivos principales de Greengrass.

      Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano para crear el archivo.

      nano greengrass-v2-iot-policy.json

      Copia el siguiente JSON en el archivo.

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

      • Sustituya GreengrassV2IoT por el nombre ThingPolicy de la política que desee crear.

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

      Si la solicitud se realiza correctamente, la respuesta es similar a la del siguiente ejemplo.

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

      • Sustituya GreengrassV2IoT por el nombre ThingPolicy de la política que desee adjuntar.

      • Sustituya el ARN de destino por el ARN del certificado de su dispositivo. AWS IoT

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

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

Crea un rol de intercambio de fichas

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 para interactuar conAWSServicios de.

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 fichas de un dispositivo, pero mantener la configuración del dispositivo igual. Para obtener más información, consulte Autorizar llamadas directas a AWS los servicios en la Guía para AWS IoT Core desarrolladores.

En esta sección, se crea una función de IAM de intercambio de fichas y un alias de AWS IoT función que apunte a esa función. Si ya ha configurado un dispositivo principal de Greengrass, puede utilizar su función de intercambio de fichas y su alias de función en lugar de crear otros nuevos. A continuación, configura el dispositivo para que utilice ese rol y ese alias. AWS IoT

Para crear un rol de IAM de intercambio de fichas
  1. Cree una función de IAM que su dispositivo pueda utilizar como función de intercambio de fichas. Haga lo siguiente:

    1. Cree un archivo que contenga el documento de política de confianza que requiere la función de intercambio de tokens.

      Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano para crear el archivo.

      nano device-role-trust-policy.json

      Copia el siguiente JSON en el archivo.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Cree la función de intercambio de fichas con el documento de política de confianza.

      • Sustituya GreengrassV2 TokenExchangeRole por el nombre del rol de IAM que desee crear.

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

      Si la solicitud se realiza correctamente, la respuesta es similar a la del 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" } ] } }
    3. Cree un archivo que contenga el documento de política de acceso que requiere la función de intercambio de tokens.

      Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano para crear el archivo.

      nano device-role-access-policy.json

      Copia 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 los componentes de los depósitos de S3. Para implementar componentes personalizados que definan artefactos en Amazon S3, debe añadir permisos al rol para permitir que su dispositivo principal recupere artefactos de componentes. Para obtener más información, consulte Permitir el acceso a los buckets de S3 para los artefactos de componente.

      Si aún no tiene un depósito de S3 para los artefactos de los componentes, puede añadir estos permisos más adelante, después de crear un depósito.

    4. Cree la política de IAM a partir del documento de política.

      • Sustituya GreengrassV2 TokenExchangeRoleAccess por el nombre de la política de IAM que desee crear.

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

      Si la solicitud se realiza correctamente, la respuesta es similar a la del 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" } }
    5. Adjunte la política de IAM a la función de intercambio de fichas.

      • Sustituya GreengrassV2 TokenExchangeRole por el nombre de la función de IAM.

      • Sustituya 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.

  2. Cree un alias de AWS IoT rol que apunte al rol de intercambio de fichas.

    • GreengrassCoreTokenExchangeRoleAliasSustitúyalo por el nombre del alias del rol que se va a crear.

    • Sustituya 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 correctamente, la respuesta es similar a la del ejemplo siguiente.

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

    Para crear un alias de rol, debe tener permiso para transferir el rol de IAM de intercambio de fichas. AWS IoT Si recibe un mensaje de error al intentar crear un alias de rol, compruebe que su 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 en la Guía del AWS Identity and Access Management usuario.

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

      Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano para crear el archivo.

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

      Copia el siguiente JSON en el archivo.

      • Sustituya el ARN del recurso por el ARN del alias de su rol.

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

      • GreengrassCoreTokenExchangeRoleAliasPolicySustitú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 correctamente, la respuesta es similar a la del ejemplo siguiente.

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

      • GreengrassCoreTokenExchangeRoleAliasPolicySustitúyala por el nombre de la AWS IoT política de alias del rol.

      • Sustituya el ARN de destino por el ARN del certificado de su dispositivo. 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.

Descargue los certificados al dispositivo

Anteriormente, descargó el certificado de su dispositivo en su ordenador de desarrollo. En esta sección, copia el certificado en el dispositivo principal para configurar el dispositivo con los certificados a los que se conecta AWS IoT. También descargas el certificado de la autoridad de certificación raíz (CA) de Amazon. Si utiliza un HSM, también importará el archivo de certificado al HSM en esta sección.

  • Si creó anteriormente el certificado y la 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 Thing a partir 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.

Descargue los certificados con la clave privada y los archivos de certificado

Para descargar certificados al dispositivo
  1. Copia AWS IoT el certificado de la máquina de desarrollo al dispositivo. Si SSH y SCP están habilitados en el ordenador de desarrollo y en el dispositivo, puede utilizar el scp comando del ordenador de desarrollo para transferir el certificado. device-ip-addressSustitúyalo por la dirección IP de tu dispositivo.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Cree la carpeta raíz de Greengrass en el dispositivo. Más adelante instalará el software AWS IoT Greengrass principal en esta carpeta.

    Linux or Unix
    • /greengrass/v2Sustitúyalo por la carpeta que desee utilizar.

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • Sustituya C:\greengrass\v2 por la carpeta que desee utilizar.

    mkdir C:\greengrass\v2
    PowerShell
    • Sustituya C:\greengrass\v2 por la carpeta que desee utilizar.

    mkdir C:\greengrass\v2
  3. (Solo para Linux) Establezca los permisos de la carpeta principal de la raíz de Greengrass.

    • Sustituya /greengrass por el archivo principal de la carpeta raíz.

    sudo chmod 755 /greengrass
  4. Copia los certificados de la AWS IoT cosa a la carpeta raíz de Greengrass.

    Linux or Unix
    • /greengrass/v2Sustitúyala por la carpeta raíz de Greengrass.

    sudo cp -R ~/greengrass-v2-certs/* /greengrass/v2
    Windows Command Prompt
    • Sustituya C:\greengrass\v2 por la carpeta que desee utilizar.

    robocopy %USERPROFILE%\greengrass-v2-certs C:\greengrass\v2 /E
    PowerShell
    • Sustituya C:\greengrass\v2 por la carpeta que desee utilizar.

    cp -Path ~\greengrass-v2-certs\* -Destination C:\greengrass\v2
  5. Descarga el certificado de la autoridad de certificación raíz (CA) de Amazon. AWS IoT Los certificados están asociados al certificado de CA raíz de Amazon de forma predeterminada.

    Linux or Unix
    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/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

Descargue los certificados con la clave privada y el certificado en un HSM

nota

Esta función está disponible para la versión 2.5.3 y versiones posteriores del componente núcleo de Greengrass. AWS IoT Greengrass actualmente no admite esta función en los dispositivos principales de Windows.

Para descargar certificados al dispositivo
  1. Copia AWS IoT el certificado de la máquina de desarrollo al dispositivo. Si SSH y SCP están habilitados en el ordenador de desarrollo y en el dispositivo, puede utilizar el scp comando del ordenador de desarrollo para transferir el certificado. device-ip-addressSustitúyalo por la dirección IP de tu dispositivo.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Cree la carpeta raíz de Greengrass en el dispositivo. Más adelante instalará el software AWS IoT Greengrass principal en esta carpeta.

    Linux or Unix
    • /greengrass/v2Sustitúyalo por la carpeta que desee utilizar.

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • Sustituya C:\greengrass\v2 por la carpeta que desee utilizar.

    mkdir C:\greengrass\v2
    PowerShell
    • Sustituya C:\greengrass\v2 por la carpeta que desee utilizar.

    mkdir C:\greengrass\v2
  3. (Solo para Linux) Establezca los permisos de la carpeta principal de la raíz de Greengrass.

    • Sustituya /greengrass por el archivo principal de la carpeta raíz.

    sudo chmod 755 /greengrass
  4. Importe el archivo de certificado de la cosa,~/greengrass-v2-certs/device.pem.crt, al HSM. Consulte la documentación de su HSM para saber cómo importar certificados al mismo. Importe el certificado con el mismo token, ID de ranura, PIN de usuario, etiqueta de objeto e ID de objeto (si su HSM utiliza alguno) con los que generó la clave privada en el HSM anteriormente.

    nota

    Si generaste la clave privada anteriormente sin un ID de objeto y el certificado tiene un ID de objeto, establece 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 ID de objeto para el objeto de clave privada.

  5. (Opcional) Elimine el archivo de certificado de la cosa para que solo exista en el HSM.

    rm ~/greengrass-v2-certs/device.pem.crt
  6. Descarga el certificado de la autoridad de certificación raíz (CA) de Amazon. AWS IoT Los certificados están asociados al certificado de CA raíz de Amazon de forma predeterminada.

    Linux or Unix
    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/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

Configura el entorno del dispositivo

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

Configura un dispositivo Linux

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 soporte a largo plazo de Amazon Corretto u OpenJDK. Se requiere la versión 8 o superior. Los siguientes comandos le 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
    • Para 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 tener un aspecto similar al del 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)
  2. (Opcional) Cree el usuario y el grupo predeterminados 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 de instalación.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Compruebe que el usuario que ejecuta el software AWS IoT Greengrass principal (normalmenteroot) tiene permiso para ejecutar sudo con cualquier usuario y grupo.

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

      sudo visudo
    2. Compruebe que el permiso del usuario es similar al del ejemplo siguiente.

      root ALL=(ALL:ALL) ALL
  4. (Opcional) Para ejecutar funciones Lambda en contenedores, debe habilitar cgroups v1 y debe habilitar y montar los cgroups de memoria y dispositivos. Si no planea ejecutar funciones Lambda en contenedores, puede omitir este paso.

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

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    Para obtener información sobre cómo ver y configurar los parámetros del núcleo 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 núcleo.

  5. Instale todas las demás dependencias necesarias en su dispositivo tal y como se indica en Requisitos de los dispositivos la lista de requisitos de.

Configura un dispositivo Windows

nota

Esta función está disponible para la versión 2.5.0 y versiones posteriores del componente núcleo de Greengrass.

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 soporte a largo plazo de Amazon Corretto u OpenJDK. Se requiere la versión 8 o superior.

  2. Compruebe si Java está disponible en la variable de sistema PATH 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.

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

    3. En los resultados de la búsqueda del menú de inicio, seleccione Editar las variables de entorno del sistema para abrir la ventana de propiedades del sistema.

    4. Seleccione Variables de entorno... para abrir la ventana Variables de entorno.

    5. En Variables de sistema, seleccione Ruta y, a continuación, elija Editar. En la ventana Editar variables de entorno, puede ver cada ruta en una línea independiente.

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

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. Si la bin carpeta de la instalación de Java no aparece en Path, seleccione Nueva para añadirla y, a continuación, pulse Aceptar.

  3. Abre la línea de comandos de Windows (cmd.exe) como administrador.

  4. Cree el usuario predeterminado en la LocalSystem cuenta del dispositivo Windows. Sustituya la contraseña por una contraseña segura.

    net user /add ggc_user password
    sugerencia

    Según la 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 caduque 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, ejecuta 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 wmiccomando está obsoleto, ejecuta el siguiente PowerShell comando.

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. Descargue e instale la PsExecutilidad de Microsoft en el dispositivo.

  6. 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. Sustituya la contraseña por la contraseña del usuario que configuró anteriormente.

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

    Si se PsExec License Agreementabre, Acceptacepte 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

Puede descargar la última versión del software AWS IoT Greengrass Core desde la siguiente ubicación:

nota

Puede descargar una versión específica del software AWS IoT Greengrass Core desde la siguiente ubicación. Sustituya la versión por la versión que desea descargar.

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
Para descargar el software AWS IoT Greengrass principal
  1. En su dispositivo principal, descargue el software AWS IoT Greengrass Core en un archivo denominadogreengrass-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

    Al descargar este software, acepta el acuerdo de licencia del software de Greengrass Core.

  2. (Opcional) Para verificar la firma del software Greengrass Nucleus

    nota

    Esta función está disponible con la versión 2.9.5 y posteriores del núcleo de Greengrass.

    1. Usa el siguiente comando para verificar la firma del artefacto 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. jdk17.0.6_10Sustitúyalo 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 en función de la versión de JDK que instale. jdk17.0.6_10Sustitúyalo 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
    2. La jarsigner invocación 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.
      2. Si el archivo zip del núcleo de Greengrass no está firmado, el resultado contiene la siguiente declaración:

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

  3. Descomprime el software AWS IoT Greengrass principal en una carpeta de tu dispositivo. GreengrassInstallerSustitú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
  4. (Opcional) Ejecute el siguiente comando para ver la versión del software AWS IoT Greengrass principal.

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

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

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 AWS los recursos 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.

  • Especifique si desea utilizar el usuario ggc_user del sistema para ejecutar los componentes de software en el dispositivo principal. En los dispositivos Linux, este comando también especifica el uso del grupo ggc_group del sistema, y el instalador crea el usuario y el grupo del sistema automáticamente.

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

    importante

    En los dispositivos principales de Windows, debe configurar el software AWS IoT Greengrass Core como un servicio del sistema.

Para obtener más información sobre los argumentos que puede especificar, consulteArgumentos de instalación.

nota

Si utiliza un AWS IoT Greengrass dispositivo con memoria limitada, puede 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 pila de la JVM en el parámetro de jvmOptions configuración del componente core. Para obtener más información, consulte Controle la asignación de memoria con las opciones de JVM.

  • 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

Para instalar el software AWS IoT Greengrass Core
  1. Compruebe la versión del software AWS IoT Greengrass principal.

    • GreengrassInstallerSustitúyala por la ruta a la carpeta que contiene el software.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Utilice un editor de texto para crear un archivo de configuración con el nombre config.yaml para proporcionárselo al instalador.

    Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano para crear el archivo.

    nano GreengrassInstaller/config.yaml

    Copia el siguiente contenido de 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.12.3" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"

    A continuación, proceda del modo siguiente:

    • Sustituya cada instancia de /greengrass/v2 por la carpeta raíz de Greengrass.

    • MyGreengrassCoreSustitúyala por el nombre de la AWS IoT cosa.

    • Sustituya la versión 2.12.3 por la versión del software AWS IoT Greengrass Core.

    • Sustituya us-west-2 por Región de AWS el lugar donde creó los recursos.

    • GreengrassCoreTokenExchangeRoleAliasSustitúyalo por el nombre del alias de la función de intercambio de fichas.

    • iotDataEndpointSustitúyalo por el punto final de AWS IoT datos.

    • Sustituya el iotCredEndpoint punto final por el de sus AWS IoT credenciales.

    nota

    En este archivo de configuración, puede personalizar otras opciones de configuración de Nucleus, como los puertos y el proxy de red que se van a utilizar, como se muestra en el siguiente ejemplo. Para obtener más información, consulte Configuración 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.12.3" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "https://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357"
  3. Ejecute el instalador y especifique si desea --init-config proporcionar el archivo de configuración.

    • Sustituya /greengrass/v2 o C:\greengrass\v2 por la carpeta raíz de Greengrass.

    • Sustituya cada instancia de por GreengrassInstallerla 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

    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.

    Si lo especifica--setup-system-service true, el instalador Successfully set up Nucleus as a system service imprimirá 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

    No puede usar el deploy-dev-tools argumento para implementar herramientas de desarrollo local cuando ejecuta el instalador sin el --provision true argumento. Para obtener información sobre cómo implementar la CLI de Greengrass directamente en su dispositivo, consulte. Interfaz de línea de comandos Greengrass

  4. Verifique la instalación consultando 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 carpetasconfig, comopackages, ylogs.

Instale el software AWS IoT Greengrass principal con la clave privada y el certificado en un HSM

nota

Esta función está disponible para la versión 2.5.3 y versiones posteriores del componente núcleo de Greengrass. AWS IoT Greengrass actualmente no admite esta función en los dispositivos principales de Windows.

Para instalar el software AWS IoT Greengrass principal
  1. Compruebe la versión del software AWS IoT Greengrass principal.

    • GreengrassInstallerSustitúyala por la ruta a la carpeta que contiene el software.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Para permitir que el software AWS IoT Greengrass principal utilice la clave privada y el certificado del HSM, instale el componente de proveedor PKCS #11 al instalar el software AWS IoT Greengrass principal. El componente de proveedor PKCS #11 es un complemento que puede configurar durante la instalación. Puede descargar la última versión del componente de proveedor PKCS #11 desde la siguiente ubicación:

    Descargue el complemento del proveedor PKCS #11 en un archivo denominadoaws.greengrass.crypto.Pkcs11Provider.jar. GreengrassInstallerSustitúyalo por la carpeta que desee usar.

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

    Al descargar este software, acepta el acuerdo de licencia del software de Greengrass Core.

  3. Utilice un editor de texto para crear un archivo de configuración llamado así config.yaml para proporcionárselo al instalador.

    Por ejemplo, en un sistema basado en Linux, puede ejecutar el siguiente comando para usar GNU nano para crear el archivo.

    nano GreengrassInstaller/config.yaml

    Copia el siguiente contenido de 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 #11.

    --- system: certificateFilePath: "pkcs11:object=iotdevicekey;type=cert" privateKeyPath: "pkcs11:object=iotdevicekey;type=private" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.12.3" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" aws.greengrass.crypto.Pkcs11Provider: configuration: name: "softhsm_pkcs11" library: "/usr/local/Cellar/softhsm/2.6.1/lib/softhsm/libsofthsm2.so" slot: 1 userPin: "1234"

    A continuación, proceda del modo siguiente:

    • Sustituya cada instancia de iotdevicekey de los URI del PKCS #11 por la etiqueta de objeto en la que creó la clave privada e importó el certificado.

    • Sustituya cada instancia de /greengrass/v2 por la carpeta raíz de Greengrass.

    • MyGreengrassCoreSustitúyala por el nombre de la AWS IoT cosa.

    • Sustituya la versión 2.12.3 por la versión del software AWS IoT Greengrass Core.

    • Sustituya us-west-2 por Región de AWS el lugar donde creó los recursos.

    • GreengrassCoreTokenExchangeRoleAliasSustitúyalo por el nombre del alias de la función de intercambio de fichas.

    • iotDataEndpointSustitúyalo por el punto final de AWS IoT datos.

    • Sustituya el iotCredEndpoint punto final por el de sus AWS IoT credenciales.

    • Sustituya los parámetros de configuración del aws.greengrass.crypto.Pkcs11Provider componente por los valores de la configuración del HSM en el dispositivo principal.

    nota

    En este archivo de configuración, puede personalizar otras opciones de configuración del núcleo, como los puertos y el proxy de red que se van a utilizar, como se muestra en el siguiente ejemplo. Para obtener más información, consulte Configuración del núcleo de Greengrass.

    --- system: certificateFilePath: "pkcs11:object=iotdevicekey;type=cert" privateKeyPath: "pkcs11:object=iotdevicekey;type=private" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.12.3" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "https://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" aws.greengrass.crypto.Pkcs11Provider: configuration: name: "softhsm_pkcs11" library: "/usr/local/Cellar/softhsm/2.6.1/lib/softhsm/libsofthsm2.so" slot: 1 userPin: "1234"
  4. Ejecute el instalador y especifique si desea --init-config proporcionar el archivo de configuración.

    • /greengrass/v2Sustitúyala por la carpeta raíz de Greengrass.

    • Sustituya cada instancia de por GreengrassInstallerla 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

    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.

    Si lo especifica--setup-system-service true, el instalador Successfully set up Nucleus as a system service imprimirá 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

    No puede usar el deploy-dev-tools argumento para implementar herramientas de desarrollo local cuando ejecuta el instalador sin el --provision true argumento. Para obtener información sobre cómo implementar la CLI de Greengrass directamente en su dispositivo, consulte. Interfaz de línea de comandos Greengrass

  5. Verifique la instalación consultando 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 carpetasconfig, comopackages, ylogs.

Si ha instalado el software AWS IoT Greengrass principal como un servicio del sistema, el instalador ejecutará el software automáticamente. De lo contrario, debe ejecutar el software manualmente. Para obtener más información, consulte Ejecute el software AWS IoT Greengrass principal.

Para obtener más información sobre cómo configurar y utilizar el software AWS IoT Greengrass, consulte lo siguiente: