如何将 IAM 角色与 AppStream 2.0 流实例一起使用
创建 IAM 角色后,可以在启动映像生成器或创建实例集时将其应用于映像生成器或实例集流实例。您也可以将 IAM 角色应用到现有实例集。有关在启动映像生成器时如何应用 IAM 角色的信息,请参阅启动映像生成器来安装和配置流应用程序。有关在创建实例集时如何应用 IAM 角色的信息,请参阅在 Amazon AppStream 2.0 中创建实例集。
当您将 IAM 角色应用于映像生成器或实例集流实例时,AppStream 2.0 会检索临时凭证并在该实例上创建 appstream_machine_role 凭证配置文件。临时凭证有效期为 1 小时,每小时检索一次新凭证。以前的凭证不会过期,因此只要它们有效,您就可以使用它们。您可以借助 AWS 命令行界面(AWS CLI)、适用于 PowerShell 的 AWS 工具或采用您所选语言的 AWS SDK,使用凭证配置文件以编程方式调用 AWS 服务。
当您进行 API 调用时,请将 appstream_machine_role 指定为凭证配置文件。否则,由于权限不足,操作将失败。
在预置流实例时,AppStream 2.0 代入指定的角色。由于 AppStream 2.0 使用附加到您的 VPC 进行 AWS API 调用的弹性网络接口,因此您的应用程序或脚本必须等待弹性网络接口在进行 AWS API 调用之前可用。如果在弹性网络接口可用之前进行 API 调用,则调用将失败。
以下示例演示如何使用 appstream_machine_role 凭证配置文件描述流实例(EC2 实例)和创建 Boto 客户端。Boto 是适用于 Python 的 Amazon Web Services(AWS)SDK。
使用 AWS CLI 描述流实例(EC2 实例)
aws ec2 describe-instances --region us-east-1 --profile appstream_machine_role
使用适用于 PowerShell 的 AWS 工具描述流实例(EC2 实例)
您必须使用 3.3.563.1 或更高版本的适用于 PowerShell 的 AWS 工具,以及 3.3.103.22 或更高版本的适用于 .NET 的 Amazon Web Services SDK。您可以从适用于 PowerShell 的 AWS 工具
Get-EC2Instance -Region us-east-1 -ProfileName appstream_machine_role
使用适用于 Python 的 AWS SDK 创建 Boto 客户端
session = boto3.Session(profile_name='appstream_machine_role')