Uso de un rol de IAM para conceder permisos a aplicaciones y scripts que se ejecutan en instancias de streaming AppStream 2.0 - 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 un rol de IAM para conceder permisos a aplicaciones y scripts que se ejecutan en instancias de streaming AppStream 2.0

Las aplicaciones y los scripts que se ejecutan en instancias de streaming AppStream 2.0 deben incluir AWS credenciales en sus solicitudes AWS de API. Puede crear un rol de IAM para administrar estas credenciales. Un rol de IAM especifica un conjunto de permisos que puede 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. AppStream2.0 gestiona el cambio de credenciales temporal por usted.

Prácticas recomendadas para usar roles de IAM con instancias de transmisión AppStream 2.0

Cuando utilices roles de IAM con instancias de streaming AppStream 2.0, te recomendamos que sigas estas prácticas:

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

    Siga los principios de mínimos privilegios al crear políticas de IAM y adjuntarlas a las funciones de IAM asociadas a las instancias de streaming AppStream 2.0. Cuando utilice una aplicación o un script que requiera acceso a las acciones o los recursos de la AWS API, determine 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.

  • Crea un rol de IAM para cada recurso AppStream 2.0.

    Crear un rol de IAM único para cada recurso AppStream 2.0 es una práctica que sigue los principios de mínimos privilegios. 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 su rol de IAM puede utilizarse 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 las condiciones de la política de uso para aumentar la seguridad en la Guía del usuario de IAM.

Configuración de un rol de IAM existente para usarlo con instancias de transmisión AppStream 2.0

En este tema se describe cómo configurar un rol de IAM existente para poder usarlo con generadores de imágenes e instancias de streaming de flotas.

Requisitos previos

La función de IAM que desee utilizar con un generador de imágenes AppStream 2.0 o una instancia de transmisión de flotas debe cumplir los siguientes requisitos previos:

  • El rol de IAM debe estar en la misma cuenta de Amazon Web Services que la instancia de streaming AppStream 2.0.

  • La función de IAM no puede ser una función de servicio.

  • La política de relaciones de confianza que se adjunta 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íticas define AppStream 2.0 como una entidad de confianza.

  • Si está aplicando la función de IAM a un generador de imágenes, el generador de imágenes debe ejecutar una versión del agente AppStream 2.0 publicada el 3 de septiembre de 2019 o después. Si va a aplicar el rol de IAM en una flota, esta debe utilizar una imagen que utilice una versión del agente publicada en la misma fecha o con posterioridad. Para obtener más información, consulte AppStreamNotas sobre la versión 2.0 del agente.

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 usuario de IAM con los permisos necesarios para enumerar y actualizar las funciones de IAM. Si no tiene los permisos necesarios, solicite al administrador de su cuenta de Amazon Web Services que realice estos pasos en su cuenta o que le conceda los permisos necesarios.

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

  2. Seleccione Roles (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 Trust relationships (Relaciones de confianza) y, a continuación, Edit trust relationship (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. El rol de IAM que seleccionó 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 transmisión AppStream 2.0

En este tema se describe cómo crear un nuevo rol de IAM para poder usarlo con generadores de imágenes e instancias de streaming de flotas.

  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 Create role.

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

  4. En la lista de AWS servicios, selecciona AppStream2.0.

  5. En Seleccione su caso de uso, ya está seleccionada la opción AppStreamAppStream2.0: Permite que las instancias 2.0 llamen a AWS los servicios en su nombre. Elija Next: Permissions (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 Creación de 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 situada junto a las políticas de permisos que desea conceder a 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 entidades de IAM en la Guía del usuario de IAM.

  8. Elija Next: Tags (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 Next: Review (Siguiente: revisar).

  10. En Nombre de rol, escriba un nombre de rol que sea único en su cuenta de Amazon Web Services. Dado que es posible que otros recursos de AWS hagan referencia al rol, no se puede editar el nombre del rol después de crearlo.

  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, seleccione Create role (Crear rol).

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

Tras crear un rol de IAM, puede aplicarlo a un generador de imágenes o a una instancia de transmisión de flotas al lanzar el generador de imágenes o crear una flota. También puede aplicar un rol de IAM a las flotas existentes. Para obtener información sobre cómo aplicar la función de IAM al iniciar un generador de imágenes, consulteLanzar un constructor de imágenes para instalar y configurar aplicaciones de streaming. Para obtener información sobre cómo aplicar la función de IAM al crear una flota, consulteCreación de una flota.

Cuando aplica un rol de IAM a su generador de imágenes o instancia de streaming de flota, AppStream 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 se recuperan nuevas 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 (AWSCLI), AWS las herramientas o el AWS SDK con el idioma que elija. 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.

AppStream2.0 asume la función especificada mientras se aprovisiona la instancia de transmisión. Dado que la AppStream versión 2.0 utiliza la elastic network interface que está conectada a la VPC para las llamadas a la AWS API, la aplicación o el script deben esperar a que la elastic network interface esté disponible antes de realizar 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 transmisión (instancias EC2) mediante la CLI AWS

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

Describa las instancias de transmisión (instancias de EC2) mediante AWS herramientas para PowerShell

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

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')