Rol de grupo de Greengrass - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes funciones nuevas y es compatible con plataformas adicionales.

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.

Rol de grupo de Greengrass

El rol de grupo de Greengrass es un rol de IAM que autoriza la ejecución de código en un núcleo de Greengrass para acceder a sus recursos de AWS. Cree el rol y administre los permisos en AWS Identity and Access Management (IAM) y asocie el rol a su grupo de Greengrass. Un grupo de Greengrass tiene un rol de grupo. Para agregar o cambiar permisos, puede asociar un rol diferente o cambiar las políticas de IAM asociadas al rol.

El rol debe definir AWS IoT Greengrass como entidad de confianza. En función de su caso comercial, el rol de grupo podría contener políticas de IAM que definan:

En las secciones siguientes se describe cómo asociar o desasociar un rol de grupo de Greengrass en la AWS Management Console o en la AWS CLI.

nota

Además del rol de grupo que autoriza el acceso desde el núcleo de Greengrass, puede asignar un rol de servicio de Greengrass que permita a AWS IoT Greengrass acceder a los recursos de AWS en su nombre.

Administración del rol de grupo de Greengrass (consola)

Puede utilizar la consola AWS IoT para las siguientes tareas de administración de roles:

nota

El usuario que ha iniciado sesión en la consola debe tener permisos para administrar el rol.

 

Buscar el rol de grupo de Greengrass (consola)

Siga estos pasos para buscar el rol que está asociado a un grupo de Greengrass.

  1. En el panel de navegación de la consola AWS IoT, en Administrar, expanda los dispositivos Greengrass y, a continuación, elija Grupos (V1).

  2. Seleccione el grupo de destino.

  3. En la página de configuración de grupo, elija Ver configuración.

Si un rol está asociado al grupo, aparece en Rol de grupo.

 

Agregar o cambiar el rol de grupo de Greengrass (consola)

Siga estos pasos para elegir un rol de IAM de su Cuenta de AWS para agregarlo a un grupo de Greengrass.

Un rol de grupo tiene los siguientes requisitos:

  • AWS IoT Greengrass definido como entidad de confianza.

  • Las políticas de permisos asociadas al rol deben conceder los permisos a los recursos de AWS necesarios para las funciones de Lambda y conectores del grupo y para los componentes del sistema de Greengrass.

nota

Le recomendamos que incluya también las claves de contexto de condición global aws:SourceArn y aws:SourceAccount en su política de confianza para ayudar a prevenir el problema de seguridad del suplente confuso. Las claves de contexto de condición restringen el acceso para permitir solo las solicitudes que provienen de la cuenta especificada y del espacio de trabajo de Greengrass. Para obtener más información sobre el problema del suplente confuso, consulte Prevención del suplente confuso entre servicios.

Utilice la consola de IAM para crear y configurar el rol y sus permisos. Para ver los pasos que crean un rol de ejemplo que permite el acceso a una tabla de Amazon DynamoDB, consulte Configuración del rol del grupo. Para ver los pasos generales, consulte Creación de un rol para un servicio de AWS (consola) en la Guía del usuario de IAM.

 

Una vez configurado el rol, utilice la consola AWS IoT para agregar el rol al grupo.

nota

Este procedimiento solo es necesario para elegir un rol para el grupo. No es necesario después de cambiar los permisos del rol de grupo seleccionado actualmente.

  1. En el panel de navegación de la consola AWS IoT, en Administrar, expanda los dispositivos Greengrass y, a continuación, elija Grupos (V1).

  2. Seleccione el grupo de destino.

  3. En la página de configuración de grupo, elija Ver configuración.

  4. En Rol de grupo, elija agregar o cambiar el rol:

    • Para añadir el rol, elija Asociar rol y, a continuación, seleccione el suyo de la lista de roles. Estos son los roles de su Cuenta de AWS que definen AWS IoT Greengrass como entidad de confianza.

    • Para elegir un rol diferente, elija Editar rol y luego seleccione su rol de la lista de roles.

  5. Seleccione Save.

 

Quitar el rol de grupo de Greengrass (consola)

Siga estos pasos para desasociar el rol de un grupo Greengrass.

  1. En el panel de navegación de la consola AWS IoT, en Administrar, expanda los dispositivos Greengrass y, a continuación, elija Grupos (V1).

  2. Seleccione el grupo de destino.

  3. En la página de configuración de grupo, elija Ver configuración.

  4. En Rol del grupo, elija Desasociar rol.

  5. En el cuadro de diálogo de confirmación, elija Desasociar rol. Este paso quita el rol del grupo, pero no lo elimina. Si desea eliminar el rol, utilice la consola de IAM.

Administración del rol de grupo de Greengrass (CLI)

Puede utilizar la AWS CLI para las siguientes tareas de administración de roles:

 

Obtener el rol de grupo de Greengrass (CLI)

Siga estos pasos para averiguar si un grupo Greengrass tiene un rol asociado.

  1. Obtenga el ID del grupo de destino de la lista de sus grupos.

    aws greengrass list-groups

    A continuación se muestra un ejemplo de respuesta de list-groups. Cada grupo de la respuesta incluye una propiedad Id que contiene el ID de grupo.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    Para obtener más información, incluidos ejemplos que utilizan la opción query para filtrar resultados, consulte Obtener el ID del grupo.

  2. Copie el Id del grupo de destino de la salida.

  3. Obtener el rol de grupo. Sustituya ID-grupo por el ID del grupo de destino.

    aws greengrass get-associated-role --group-id group-id

    Si un rol está asociado con el grupo Greengrass, se devuelven los siguientes metadatos de rol.

    { "AssociatedAt": "timestamp", "RoleArn": "arn:aws:iam::account-id:role/path/role-name" }

    Si el grupo no tiene un rol asociado, se devuelve el siguiente error.

    An error occurred (404) when calling the GetAssociatedRole operation: You need to attach an IAM role to this deployment group.

 

Crear el rol de grupo de Greengrass (CLI)

Siga estos pasos para crear un rol y asociarlo a un grupo de Greengrass.

Para crear el rol de grupo mediante IAM
  1. Cree el rol con una política de confianza que permita a AWS IoT Greengrass adoptar el rol. Este ejemplo crea un rol denominado MyGreengrassGroupRole, pero puede utilizar un nombre distinto. Le recomendamos que incluya también las claves de contexto de condición global aws:SourceArn y aws:SourceAccount en su política de confianza para ayudar a prevenir el problema de seguridad del suplente confuso. Las claves de contexto de condición restringen el acceso para permitir solo las solicitudes que provienen de la cuenta especificada y del espacio de trabajo de Greengrass. Para obtener más información sobre el problema del suplente confuso, consulte Prevención del suplente confuso entre servicios.

    Linux, macOS, or Unix
    aws iam create-role --role-name MyGreengrassGroupRole --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:greengrass:region:account-id:/greengrass/groups/group-id" } } } ] }'
    Windows command prompt
    aws iam create-role --role-name MyGreengrassGroupRole --assume-role-policy-document "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"greengrass.amazonaws.com\"},\"Action\":\"sts:AssumeRole\",\"Condition\":{\"ArnLike\":{\"aws:SourceArn\":\"arn:aws:greengrass:region:account-id:/greengrass/groups/group-id\"},\"StringEquals\":{\"aws:SourceAccount\":\"account-id\"}}}]}"
  2. Copie el ARN del rol de los metadatos del rol en la salida. Puede utilizar el ARN para asociar el rol con su grupo.

  3. Asocie políticas administradas o en línea al rol para dar soporte a su caso de negocio. Por ejemplo, si una función de Lambda definida por el usuario lee desde Amazon S3, puede asociar la política de AmazonS3ReadOnlyAccess administrada al rol.

    aws iam attach-role-policy --role-name MyGreengrassGroupRole --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

    Si se realiza correctamente, no se devuelve ninguna respuesta.

 

Para asociar el rol con su grupo de Greengrass
  1. Obtenga el ID del grupo de destino de la lista de sus grupos.

    aws greengrass list-groups

    A continuación se muestra un ejemplo de respuesta de list-groups. Cada grupo de la respuesta incluye una propiedad Id que contiene el ID de grupo.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    Para obtener más información, incluidos ejemplos que utilizan la opción query para filtrar resultados, consulte Obtener el ID del grupo.

  2. Copie el Id del grupo de destino de la salida.

  3. Asocie el rol a su grupo. Sustituya id-grupo por el ID del grupo de destino y arn-rol por el ARN del rol de grupo.

    aws greengrass associate-role-to-group --group-id group-id --role-arn role-arn

    Si se ejecuta correctamente, se devuelve la siguiente respuesta.

    { "AssociatedAt": "timestamp" }

 

Quitar el rol de grupo Greengrass (CLI)

Siga estos pasos para desasociar el rol de grupo del grupo de Greengrass.

  1. Obtenga el ID del grupo de destino de la lista de sus grupos.

    aws greengrass list-groups

    A continuación se muestra un ejemplo de respuesta de list-groups. Cada grupo de la respuesta incluye una propiedad Id que contiene el ID de grupo.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    Para obtener más información, incluidos ejemplos que utilizan la opción query para filtrar resultados, consulte Obtener el ID del grupo.

  2. Copie el Id del grupo de destino de la salida.

  3. Desasociar el rol del grupo. Sustituya ID-grupo por el ID del grupo de destino.

    aws greengrass disassociate-role-from-group --group-id group-id

    Si se ejecuta correctamente, se devuelve la siguiente respuesta.

    { "DisassociatedAt": "timestamp" }
    nota

    Puede eliminar el rol de grupo si no lo está utilizando. Use primero delete-role-policy para desasociar la política administrada del rol y, a continuación, utilice delete-role para eliminar el rol. Para obtener más información, consulte Eliminación de roles o perfiles de instancia en la Guía del usuario de IAM.

Véase también