Rol de servicio 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 servicio de Greengrass

El rol de servicio de Greengrass es un rol de servicio de AWS Identity and Access Management (IAM) que autoriza a AWS IoT Greengrass a acceder a recursos de servicios de AWS en su nombre. Esto permite a AWS IoT Greengrass realizar tareas esenciales como, por ejemplo, recuperar funciones de AWS Lambda y administrar sombras de AWS IoT.

Para permitir a AWS IoT Greengrass acceder a sus recursos, el rol de servicio de Greengrass debe estar asociado a su Cuenta de AWS y especificar AWS IoT Greengrass como entidad de confianza. El rol debe incluir la política administrada AWSGreenGrassResourceAccessRolePolicy o una política personalizada que defina permisos equivalentes para las características de AWS IoT Greengrass que utilice. AWS mantiene esta política y define el conjunto de permisos que AWS IoT Greengrass utiliza para acceder a los recursos de AWS.

Puede reutilizar el mismo rol de servicio de Greengrass en todas las Región de AWS, pero lo debe asociar a su cuenta en cada Región de AWS donde utilice AWS IoT Greengrass. La implementación de grupos falla si el rol de servicio no existe en la Cuenta de AWS y región actual.

En las secciones siguientes se describe cómo crear y administrar el rol de servicio de Greengrass en la AWS Management Console o la AWS CLI.

nota

Además del rol de servicio que autoriza el acceso de nivel de servicio, puede asignar un rol de grupo a un AWS IoT Greengrass. El rol de grupo es un rol independiente de IAM que controla cómo las funciones de Lambda Greengrass y los conectores del grupo pueden acceder a los servicios de AWS.

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

La consola de AWS IoT facilita la administración del rol de servicio de Greengrass. Por ejemplo, al crear o implementar un grupo de Greengrass, la consola comprueba si su Cuenta de AWS está asociada a un rol de servicio de Greengrass en la Región de AWS seleccionada actualmente en la consola. De lo contrario, la consola puede crear y configurar un rol de servicio por usted. Para obtener más información, consulte Creación del rol de servicio 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 ver, crear o cambiar el rol de servicio.

 

Buscar el rol de servicio de Greengrass (consola)

Siga estos pasos para buscar el rol de servicio que AWS IoT Greengrass utiliza en la Región de AWS actual.

  1. En el panel de navegación de la consola AWS IoT, seleccione Configuración.

  2. Desplácese hasta la sección Greengrass service role (Rol de servicio de Greengrass) para ver el rol de servicio y sus políticas.

    Si no ve ningún rol de servicio, puede dejar que la consola cree o configure uno por usted. Para obtener más información, consulte Creación del rol de servicio de Greengrass.

 

Creación del rol de servicio de Greengrass (consola)

La consola puede crear y configurar un rol de servicio de Greengrass predeterminado por usted. Este rol incluye las siguientes propiedades.

Propiedad Valor
Nombre Greengrass_ServiceRole
Entidad de confianza AWS service: greengrass
Política AWSGreengrassResourceAccessRolePolicy
nota

Si la configuración del dispositivo de Greengrass crea el rol de servicio, el nombre del rol es GreengrassServiceRole_random-string.

Al crear o implementar un grupo de Greengrass desde la consola AWS IoT, la consola comprueba si hay un rol de servicio de Greengrass asociado a su Cuenta de AWS en la Región de AWS seleccionada actualmente en la consola. Si no lo hay, la consola le pedirá que permita a AWS IoT Greengrass leer y escribir en los servicios de AWS en su nombre.

Si concede permiso, la consola comprueba si existe un rol denominado Greengrass_ServiceRole en su Cuenta de AWS.

  • Si el rol existe, la consola asocia el rol de servicio a su Cuenta de AWS en la Región de AWS actual.

  • Si el rol no existe, la consola crea un rol de servicio de Greengrass predeterminado y lo asocia a su Cuenta de AWS en la Región de AWS actual.

nota

Si desea crear un rol de servicio con políticas de rol personalizadas, utilice la consola de IAM para crear o modificar el rol. Para obtener más información, consulte Creación de un rol para delegar permisos a un servicio AWS o Modificación de un rol en la Guía del usuario de IAM. Asegúrese de que el rol concede permisos equivalentes a la política administrada de AWSGreengrassResourceAccessRolePolicy para las características y recursos que utiliza. 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.

Si crea un rol de servicio, vuelva a la consola AWS IoT y asocie el rol al grupo. Puede hacerlo en el rol de servicio de Greengrass en la página Configuración del grupo.

 

Cambiar el rol de servicio de Greengrass (consola)

Utilice el siguiente procedimiento para seleccionar un rol de servicio de Greengrass diferente y asociarlo a su Cuenta de AWS en la Región de AWS seleccionada actualmente en la consola.

  1. En el panel de navegación de la consola AWS IoT, seleccione Configuración.

  2. En Rol de servicio de Greengrass, seleccione Elegir un rol diferente.

    Se abre el cuadro de diálogo Actualizar el rol de servicio de Greengrass y muestra los roles de IAM Cuenta de AWS que se definen AWS IoT Greengrass como una entidad de confianza.

  3. Elija el rol de servicio de Greengrass que desee asignar.

  4. Elija Adjuntar rol.

nota

Para permitir que la consola cree un rol de servicio de Greengrass predeterminado por usted, seleccione Create role for me (Crear rol por mí) en lugar de seleccionar un rol de la lista. El enlace Crear rol por mí no aparece si hay un rol denominado Greengrass_ServiceRole en su Cuenta de AWS.

 

Desasociar el rol de servicio de Greengrass (consola)

Utilice el siguiente procedimiento para desasociar el rol de servicio de Greengrass de su Cuenta de AWS en la Región de AWS seleccionada actualmente en la consola. Este revoca los permisos de AWS IoT Greengrass para acceder a los servicios de AWS en la Región de AWS actual.

importante

La desasociación del rol de servicio podría interrumpir las operaciones activas.

  1. En el panel de navegación de la consola AWS IoT, seleccione Configuración.

  2. En Rol de servicio de Greengras, seleccione Desasociar rol.

  3. En el cuadro de diálogo de confirmación, elija Desconectar.

nota

Si ya no necesita el rol, puede eliminarlo en la consola de IAM. Para obtener más información, consulte Eliminación de roles o perfiles de instancia en la Guía del usuario de IAM.

Otros roles podrían permitir que AWS IoT Greengrass obtenga acceso a los recursos. Para buscar todos los roles que permiten que AWS IoT Greengrass asuma los permisos en su nombre, en la consola de IAM, en la página Roles, busque los roles que incluyan AWS service: greengrass en la columna Entidades de confianza.

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

En los procedimientos siguientes, suponemos que la AWS CLI está instalada y configurada para utilizar su ID de Cuenta de AWS. Para obtener más información, consulte Instalación de la interfaz de línea de comandos AWS y Configuración de la AWS CLIen la AWS Command Line InterfaceGuía del usuario.

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

 

Obtener el rol de servicio de Greengrass (CLI)

Utilice el procedimiento siguiente para descubrir si un rol de servicio de Greengrass está asociado a su Cuenta de AWS en una Región de AWS.

  • Obtenga el rol de servicio. Sustituya región por su Región de AWS (por ejemplo, us-west-2).

    aws Greengrass get-service-role-for-account --region region

    Si ya hay un rol de servicio de Greengrass asociado a su cuenta, se devuelven los siguientes metadatos de rol.

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

    Si no se devuelve ningún metadato de rol, entonces debe crear el rol de servicio (si no existe) y asociarlo a su cuenta en la Región de AWS.

 

Creación del rol de servicio de Greengrass (CLI)

Siga los pasos que se indican a continuación para crear un rol y asociarlo a su Cuenta de AWS.

Para crear el rol de servicio 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 Greengrass_ServiceRole, 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 Greengrass_ServiceRole --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:*" } } } ] }'
    Windows command prompt
    aws iam create-role --role-name Greengrass_ServiceRole --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:*\"},\"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 a su cuenta.

  3. Asocie la política de AWSGreengrassResourceAccessRolePolicy al rol.

    aws iam attach-role-policy --role-name Greengrass_ServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy
Para asociar el rol de servicio con su Cuenta de AWS
  • Asocie el rol a su cuenta. Reemplace arn-rol por el ARN del rol de servicio y región por su Región de AWS (por ejemplo, us-west-2).

    aws greengrass associate-service-role-to-account --role-arn role-arn --region region

    Si se ejecuta correctamente, se devuelve la siguiente respuesta.

    { "AssociatedAt": "timestamp" }

 

Eliminar el rol de servicio de Greengrass (CLI)

Utilice los pasos siguientes para desasociar el rol de servicio de Greengrass de su Cuenta de AWS.

  • Desasocie el rol de servicio de su cuenta. Sustituya región por su Región de AWS (por ejemplo, us-west-2).

    aws greengrass disassociate-service-role-from-account --region region

    Si se ejecuta correctamente, se devuelve la siguiente respuesta.

    { "DisassociatedAt": "timestamp" }
    nota

    Debe eliminar el rol de servicio si no lo está utilizando en ninguna Región de AWS. Use primero delete-role-policy para desasociar la política administrada AWSGreengrassResourceAccessRolePolicy 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