Uso de una función de IAM para conceder permisos a las aplicaciones y scripts que se ejecutan en instancias de streaming 2.0 AppStream - Amazon AppStream 2.0

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.

Uso de una función de IAM para conceder permisos a las aplicaciones y scripts que se ejecutan en instancias de streaming 2.0 AppStream

Las aplicaciones y los scripts que se ejecutan en instancias de streaming AppStream 2.0 deben incluir AWS credenciales en sus solicitudes de AWS API. Puede crear un rol de IAM para administrar estas credenciales. Un rol de IAM especifica un conjunto de permisos que puedes usar para acceder a AWS los recursos. Sin embargo, este rol no se asocia de manera exclusiva a una persona. En su lugar, puede asumirlo cualquier usuario que lo necesite.

Puede aplicar un rol de IAM a una instancia de streaming AppStream 2.0. Cuando la instancia de streaming cambia al rol (lo asume), el rol proporciona credenciales de seguridad temporales. La aplicación o los scripts utilizan estas credenciales para realizar acciones de API y tareas de administración en la instancia de streaming. AppStream La versión 2.0 gestiona el cambio temporal de credenciales por ti.

Prácticas recomendadas para utilizar las funciones de IAM con instancias de streaming AppStream 2.0

Cuando utilice funciones de IAM con instancias de streaming AppStream 2.0, le recomendamos que siga estas prácticas:

  • Limita los permisos que concedes a las acciones y los recursos de la AWS API.

    Siga los principios de privilegios mínimos al crear y adjuntar políticas de IAM a las funciones de IAM asociadas a las instancias de streaming AppStream 2.0. Cuando utilices una aplicación o un script que requiera acceso a acciones o recursos de la AWS API, determina las acciones y los recursos específicos que se requieren. A continuación, cree políticas que permitan a la aplicación o al script realizar únicamente tales acciones. Para obtener más información, consulte Concesión de mínimos privilegios en la Guía del usuario de IAM.

  • Cree una función de IAM para cada recurso de la AppStream versión 2.0.

    Crear un rol de IAM único para cada recurso AppStream 2.0 es una práctica que sigue los principios de privilegios mínimos. Esto también le permite modificar los permisos de un recurso sin que ello afecte a otros recursos.

  • Límite dónde se pueden utilizar las credenciales.

    Las políticas de IAM le permiten definir las condiciones en las que el rol de IAM se puede utilizar para acceder a un recurso. Por ejemplo, puede incluir condiciones para especificar un rango de direcciones IP desde el que pueden proceder las solicitudes. Esto impide que las credenciales se utilicen fuera de su entorno. Para obtener más información, consulte Utilizar condiciones de política para mayor seguridad en la Guía del usuario de IAM.

Configuración de una función de IAM existente para usarla con instancias de streaming AppStream 2.0

En este tema, se describe cómo configurar un rol de IAM existente para utilizarlo con constructores de imágenes e instancias de streaming de flota.

Requisitos previos 

El rol de IAM que desee utilizar con un generador de imágenes AppStream 2.0 o una instancia de streaming de flotas debe cumplir los siguientes requisitos previos:

  • La función de IAM debe estar en la misma cuenta de Amazon Web Services que la instancia de streaming AppStream 2.0.

  • El rol de IAM no puede ser un rol de servicio.

  • La política de relaciones de confianza asociada a la función de IAM debe incluir el servicio AppStream 2.0 como principal. Un principal es una entidad AWS que puede realizar acciones y acceder a los recursos. La política también debe incluir la acción sts:AssumeRole. Esta configuración de política define a AppStream 2.0 como una entidad de confianza.

  • Si va a aplicar la función de IAM a un generador de imágenes, el creador de imágenes debe ejecutar una versión del agente AppStream 2.0 publicada a partir del 3 de septiembre de 2019. Si va a aplicar la función de IAM a una flota, la flota debe utilizar una imagen que utilice una versión del agente publicada en la misma fecha o posteriormente. Para obtener más información, consulte AppStream Notas de la versión 2.0 Agent.

Para permitir que el director del servicio AppStream 2.0 asuma una función de IAM existente

Para realizar los siguientes pasos, debe iniciar sesión en la cuenta como un usuario de IAM que tenga los permisos necesarios para enumerar y actualizar los roles de IAM. Si no tiene los permisos necesarios, pida al administrador de su cuenta de Amazon Web Services que realice estos pasos en su cuenta o que le conceda los permisos requeridos.

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Seleccione Roles en el panel de navegación.

  3. En la lista de roles de su cuenta, elija el nombre del rol que desee modificar.

  4. Elija la pestaña Relaciones de confianza y, a continuación, Editar relación de confianza.

  5. En Policy Document (Documento de política), compruebe que la política de relación de confianza incluya la acción sts:AssumeRole para la entidad principal del servicio appstream.amazonaws.com:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "appstream.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  6. Cuando haya terminado de editar la política de confianza, elija Update Trust Policy (Actualizar política de confianza) para guardar los cambios.

  7. La función de IAM que haya seleccionado se mostrará en la consola AppStream 2.0. Este rol concede permisos a las aplicaciones y los scripts para realizar acciones de la API y tareas de administración en las instancias de streaming.

Cómo crear un rol de IAM para usarlo con instancias de streaming AppStream 2.0

En este tema, se describe cómo crear un rol de IAM existente para utilizarlo con constructores de imágenes e instancias de streaming de flota.

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Roles y luego seleccione Crear rol.

  3. En Seleccionar el tipo de entidad de confianza, elija Servicio de AWS .

  4. En la lista de AWS servicios, elija AppStream 2.0.

  5. En Seleccione su caso de uso, ya está seleccionada la opción AppStream AppStream 2.0: permite que las instancias 2.0 llamen a AWS los servicios en su nombre. Elija Siguiente: permisos.

  6. Si es posible, seleccione la política que desea utilizar para la política de permisos o elija Create policy (Crear política) para abrir una pestaña nueva del navegador y crear una política nueva desde cero. Para obtener más información, consulte el paso 4 del procedimiento Crear políticas de IAM (consola) en la Guía del usuario de IAM.

    Después de crear la política, cierre esa pestaña y vuelva a la pestaña original. Seleccione la casilla de verificación situada junto a las políticas de permisos que desee que tenga la AppStream versión 2.0.

  7. (Opcional) Configure un límite de permisos. Se trata de una característica avanzada que está disponible para los roles de servicio, pero no para los roles vinculados a servicios. Para obtener más información, consulte Límites de permisos para las entidades de IAM en la Guía del usuario de IAM.

  8. Elija Siguiente: etiquetas. Opcionalmente, puede asociar etiquetas como pares de clave-valor. Para obtener más información, consulte Etiquetado de usuarios y roles de IAM en la Guía del usuario de IAM.

  9. Elija Siguiente: Revisar.

  10. En Nombre de rol, escriba un nombre de rol único en su cuenta de Amazon Web Services. Como otros AWS recursos pueden hacer referencia al rol, no puedes editar el nombre del rol una vez creado.

  11. En Role description (Descripción del rol), conserve la descripción del rol predeterminada o escriba una nueva.

  12. Revise el rol y, a continuación, elija Crear rol.

Cómo utilizar el rol de IAM con instancias de streaming AppStream 2.0

Después de crear un rol de IAM, puede aplicarlo en un constructor de imágenes o una instancia de streaming de flota al lanzar el constructor de imágenes o crear una flota. También puede aplicar un rol de IAM en las flotas existentes. Para obtener información acerca de cómo aplicar un rol de IAM al lanzar un constructor de imágenes, consulte Lanzar un generador de imágenes para instalar y configurar aplicaciones de streaming. Para obtener información acerca de cómo aplicar un rol de IAM al crear una flota, consulte Creación de una flota.

Cuando aplicas una función de IAM a tu instancia de streaming de flota o generador de imágenes, la AppStream versión 2.0 recupera las credenciales temporales y crea el perfil de credenciales appstream_machine_role en la instancia. Las credenciales temporales son válidas durante 1 hora y las nuevas credenciales se recuperan cada hora. Las credenciales anteriores no vencen, por lo que puede utilizarlas mientras sean válidas. Puede usar el perfil de credenciales para llamar a AWS los servicios mediante programación mediante la interfaz de línea de AWS comandos (AWS CLI), AWS las herramientas o el AWS SDK con el idioma que prefiera. PowerShell

Cuando realice llamadas a la API, especifique appstream_machine_role como el perfil de credenciales. De lo contrario, la operación falla debido a los permisos insuficientes.

AppStream La versión 2.0 asume la función especificada mientras se aprovisiona la instancia de streaming. Como la AppStream versión 2.0 usa la interfaz de red elástica que está conectada a la VPC para las llamadas a la AWS API, la aplicación o el script deben esperar a que la interfaz de red elástica esté disponible antes de realizar las llamadas a la AWS API. Si las llamadas a la API se realizan antes de que la interfaz de red elástica esté disponible, las llamadas fallan.

En los siguientes ejemplos, se muestra cómo puede utilizar el perfil de credenciales appstream_machine_role para describir las instancias de streaming (instancias EC2) y crear el cliente de Boto. Boto es el SDK de Amazon Web Services (AWS) para Python.

Describa las instancias de streaming (instancias EC2) mediante la CLI AWS

aws ec2 describe-instances --region us-east-1 --profile appstream_machine_role

Describa las instancias de streaming (instancias EC2) mediante herramientas para AWS PowerShell

Debe usar AWS Tools para la PowerShell versión 3.3.563.1 o posterior, con el Amazon Web Services SDK para .NET versión 3.3.103.22 o posterior. Puede descargar el instalador de AWS Herramientas para Windows, que incluye AWS Herramientas para PowerShell y el SDK de Amazon Web Services para .NET, desde el PowerShell sitio web AWS Herramientas para.

Get-EC2Instance -Region us-east-1 -ProfileName appstream_machine_role

Creación del cliente Boto mediante el AWS SDK para Python

session = boto3.Session(profile_name='appstream_machine_role')