思杰虚拟应用程序和桌面服务

AWS云环境

本文将引导您将AWS (AWS)帐户设置为可以与Citrix虚拟应用程序和桌面服务一起使用的资源位置。资源位置包括一组基本组件,非常适合概念验证或其他不需要资源分布在多个可用分区上的部署。完成这些任务后,您可以安装vda、供应机器、创建机器目录和创建Delivery group。

当您完成本文中的任务时,您的资源位置包括以下组件:

  • VPC (virtual private cloud)是指在一个可用分区内,包含公有子网和私有子网的VPC。
  • 一个同时作为Active Directory域控制器和DNS服务器运行的实例,位于VPC的私有子网中。
  • 安装Citrix Cloud Connector的两个域连接实例,位于VPC的私有子网中。
  • 一个充当堡垒主机的实例,位于VPC的公共子网中。此实例用于启动到私有子网中的实例的RDP连接,以实现管理目的。设置完资源位置后,可以关闭此实例,使其不再易于访问。当需要管理私有子网中的其他实例(如VDA实例)时,可以重新启动bastion主机实例。

任务概述

创建VPC (virtual private cloud),包括公有子网和私有子网。当您完成此任务时,AWS将在公网子网中部署一个弹性IP地址的NAT实例。这使得私有子网中的实例可以访问Internet。公共子网中的实例可以被入站公共流量访问,而私有子网中的实例则不能。

配置安全组.安全组作为虚拟防火墙,对VPC中的实例进行流量控制。向安全组中添加规则,允许公共子网中的实例与私有子网中的实例通信。您还需要将这些安全组与VPC中的每个实例关联。

创建DHCP选项集.对于Amazon VPC,默认情况下提供DHCP和DNS服务,这将影响如何在Active Directory域控制器上配置DNS。Amazon的DHCP不能被禁用,Amazon的DNS只能用于公共DNS解析,而不能用于Active Directory名称解析。为了指定应该通过DHCP传递给实例的域和名称服务器,您可以创建一个DHCP选项集。用于为VPC内的所有实例分配Active Directory域后缀和DNS服务器。为了确保在实例加入域时自动注册主机(A)和反向查找(PTR)记录,您可以为添加到私有子网的每个实例配置网络适配器属性。

在VPC中添加bastion主机、域控制器和Citrix Cloud Connectors.通过bastion主机,您可以登录到私有子网中的实例来设置域,将实例加入域,并安装Citrix Cloud Connector。

任务1:创建VPC

  1. 从AWS管理控制台选择VPC
  2. 在“VPC面板”中,选择开始VPC向导
  3. 选择公网子网和私有子网的VPC然后选择选择
  4. 根据需要,输入VPC名称,修改IP CIDR块和公私子网IP范围。
  5. 如果选择NAT网关,请选中请使用NAT实例
  6. 对于NAT实例,指定实例类型和使用的密钥对。密钥对使您以后可以安全地连接到实例。
  7. 在“启用DNS主机名”中,保留是的选中。
  8. 选择创建VPC.AWS创建了公共子网和私有子网、Internet网关、路由表和默认安全组。

注意:

在AWS控制台中修改VPC名称将会破坏Citrix Cloud中已有的主机单元。当主机单元损坏时,您无法创建目录或将机器添加到现有目录中。来自已知问题:PMCS-7701

任务2:配置安全组

本任务为您的VPC创建并配置以下安全组:

  • NAT实例的安全组。
  • 公共安全组,您的公共子网中的实例将与之关联。
  • 私有安全组,私有子网中的实例将与之关联。

创建安全组

  1. 在“VPC面板”中,选择安全组
  2. 为NAT实例创建安全组。选择创建安全组并输入组的名称标记和描述。在“VPC”中选择已创建的VPC。选择是的,创建
  3. 重复步骤2创建公共安全组和私有安全组。

配置NAT安全组

  1. 2 .在安全组列表中选择NAT安全组。

  2. 选择入站规则选项卡,选择编辑使用实例创建如下规则:

    类型
    所有流量 选择Private安全组。
    22 (SSH) 0.0.0.0/0
  3. 完成后,选择保存

配置Public安全组

  1. 在安全组列表中,选择“Public”安全组。

  2. 选择入站规则选项卡,选择“编辑”,创建如下规则:

    类型
    所有流量 选择Private安全组。
    所有流量 选择“Public security”组。
    ICMP 0.0.0.0/0
    22 (SSH) 0.0.0.0/0
    80 (HTTP) 0.0.0.0/0
    443 (HTTPS) 0.0.0.0/0
    1494 (ICA / HDX) 0.0.0.0/0
    2598(会话可靠性) 0.0.0.0/0
    3389 (RDP) 0.0.0.0/0
  3. 完成后,选择保存

  4. 选择出站规则选项卡,选择编辑使用实例创建如下规则:

    类型 目的地
    所有流量 选择Private安全组。
    所有流量 0.0.0.0/0
    ICMP 0.0.0.0/0
  5. 完成后,选择保存

配置私有安全组

  1. 在安全组列表中,选择“私有安全组”。

  2. 如果您还没有设置来自公共安全组的流量,您可能必须设置TCP端口;选择入站规则选项卡,选择编辑使用实例创建如下规则:

    类型
    所有流量 选择NAT安全组。
    所有流量 选择Private安全组。
    所有流量 选择“Public security”组。
    ICMP 选择“Public security”组。
    TCP 53 选择“Public security”组。
    Udp 53 (dns 选择“Public security”组。
    80 (HTTP) 选择“Public security”组。
    TCP 135 选择“Public security”组。
    TCP 389 选择“Public security”组。
    UDP 389 选择“Public security”组。
    443 (HTTPS) 选择“Public security”组。
    TCP 1494 (ica / hdx) 选择“Public security”组。
    TCP 2598(会话可靠性) 选择“Public security”组。
    3389 (RDP) 选择“Public security”组。
    TCP 49152 - 65535 选择“Public security”组。
  3. 完成后,选择保存。

  4. 选择出站规则选项卡,选择编辑使用实例创建如下规则:

    类型 目的地
    所有流量 选择Private安全组。
    所有流量 0.0.0.0/0
    ICMP 0.0.0.0/0
    Udp 53 (dns 0.0.0.0/0
  5. 完成后,选择保存

任务3:关联NAT实例和NAT安全组

  1. 从AWS管理控制台选择EC2
  2. 从EC2仪表板中选择实例
  3. 选中NAT实例,然后选择动作>组网>修改安全组
  4. 清除默认安全组复选框。
  5. 选择前面创建的NAT安全组,然后选择指定安全组

任务4:启动实例

以下步骤创建四个EC2实例,并解密Amazon生成的默认Administrator密码。

  1. 从AWS管理控制台选择EC2

  2. 从EC2仪表板中选择启动实例

  3. 选择Windows Server机器映像和实例类型。

  4. 在“配置实例详情”界面,输入实例名称,并选择之前创建的VPC。

  5. 子网,为每个实例作出以下选择:

    • “堡垒主机”:选择“公共子网”。
    • 域控制器和连接器:选择私有子网。
  6. 自动分配公网IP地址,为每个实例作出以下选择:

    • 堡垒主机:选择启用。
    • 域控制器和连接器:选择使用默认设置禁用
  7. 网络接口,在域控制器和云连接器实例的私有子网的IP范围内输入一个主IP地址。

  8. 在“添加存储”页面,根据需要修改磁盘大小。

  9. 在Tag Instance页面上,为每个实例输入一个友好的名称。

  10. 在“配置安全组”页面,选择选择已存在的安全组然后对每个实例进行以下选择:

    • “Bastion主机”:选择“Public security”组。
    • 域控制器和云连接器:选择私有安全组。
  11. 检查您的选择,然后选择发射

  12. 创建新的密钥对或选择已存在的密钥对。如果您创建了新的密钥对,请下载您的私钥(.pem)文件并保存在安全的地方。在获得实例的默认Administrator密码时,必须提供您的私钥。

  13. 选择启动实例.选择视图实例显示实例的列表。等待新启动的实例通过所有状态检查后再访问它。

  14. 获取每个实例的默认Administrator密码:

    1. 从实例列表中选择实例,然后选择连接
    2. 选择得到密码并在提示时提供您的私钥(.pem)文件。
    3. 选择解密密码.AWS将显示默认密码。
  15. 重复步骤2-14,直到创建了四个实例:公共子网中的bastion主机实例,私有子网中的三个实例,用于域控制器和两个Cloud Connectors。

任务5:创建DHCP选项集

  1. 在“VPC面板”中,选择DHCP选项集

  2. 输入如下信息:

    • 名称标签:为集合输入一个友好的名称。
    • 域名:输入配置域控制器实例时使用的完全限定域名。
    • 域名服务器:输入分配给域控制器实例的私有IP地址和字符串AmazonProvidedDNS,以逗号分隔。
    • NTP服务器:不填写。
    • NetBIOS name servers:域控制器实例的私网IP地址。
    • NetBIOS节点类型:Enter2
  3. 选择是的,创建。

  4. 将新集合关联到VPC:

    1. 在“VPC面板”中,选择你的vpc然后选择之前创建的VPC。
    2. 选择>编辑DHCP选项设置
    3. 当出现提示时,选择您创建的新集合,然后选择保存

任务6:配置实例

  1. 使用RDP客户端连接到bastion主机实例的公网IP地址。当出现提示时,输入Administrator帐户的凭据。

  2. 从bastion主机实例,启动Remote Desktop Connection并连接到要配置的实例的私有IP地址。当出现提示时,输入实例的Administrator凭据。

  3. 对于私有子网中的所有实例,需要配置DNS:

    1. 选择开始>控制面板>网络和Internet >网络和共享中心>更改适配器设置.双击显示的网络连接。
    2. 选择属性,选择因特网协议第4版(TCP/IPv4),然后选择属性
    3. 选择先进的然后选择DNS选项卡。确保启用以下设置并选择好吧

      • 在DNS中注册此连接的地址
      • 在DNS注册中使用此连接的DNS后缀
  4. 使用实例配置域控制器。

    1. 使用服务器管理器添加具有所有默认功能的Active Directory域服务角色。
    2. 将实例提升到域控制器。在升级过程中,启用DNS并使用创建DHCP选项集时指定的域名。在出现提示时重新启动实例。
  5. 要配置第一个云连接器:

    1. 将实例加入域,并在提示时重新启动。从bastion主机实例,使用RDP重新连接到实例。
    2. 登录到Citrix Cloud。选择资源位置从左上菜单。
    3. 下载云连接器。
    4. 出现提示时,运行cwcconnector.exe文件并提供您的Citrix Cloud凭证。按照向导操作。
    5. 完成后,选择刷新进入“资源位置”界面。注册云连接器后,实例将出现在页面上。
  6. 重复步骤5配置第二个Cloud Connector。

创建连接

当您从“完全配置”界面创建连接时:

  • 您必须提供API密钥和密钥值。您可以从AWS导出包含这些值的密钥文件,然后导入它们。区域、可用分区、VPC名称、子网、域名、安全组、凭据。
  • 根AWS帐户的凭据文件(从AWS控制台检索)的格式与为标准AWS用户下载的凭据文件不同。因此,Citrix虚拟应用程序和桌面管理不能使用该文件填充API密钥和秘密密钥字段。确保您正在使用AWS身份访问管理(IAM)凭据文件。

注意:

在创建连接后,尝试更新API密钥和秘密密钥可能会失败。若要解决此问题,请检查您的代理服务器或防火墙限制,并确保以下地址是可联系的:https:// * .amazonaws.com

主机连接默认值

在“Full Configuration”界面中,在AWS云环境下创建主机连接时,会显示如下默认值:

选项 绝对 百分比
同时动作(所有类型) 125 One hundred.
每分钟最大新动作 125

MCS默认支持最多100个并发发放操作。

您可以使用Citrix Studio配置这些值先进的章节。编辑连接屏幕:

身份和访问管理(IAM)

服务端点URL

标准区域服务端点URL

当您使用MCS时,一个新的AWS连接将添加一个API密钥和一个API秘密。有了这些信息,以及经过身份验证的帐户,MCS使用AWS descripregions EC2 API调用向AWS查询受支持的区域。使用通用的EC2服务端点URL进行查询https://ec2.amazonaws.com/.然后可以使用MCS从支持的区域列表中选择连接的区域。将自动为区域选择首选AWS服务端点URL。但是,在创建服务端点URL之后,就不能再设置或修改URL了。

非标准服务端点URL

在某些情况下,您可能不需要为连接自动选择AWS服务端点URL。对于这种情况,可以使用Citrix Cloud SDK和PowerShell使用非标准服务端点URL创建连接。例如,要使用服务端点URL创建连接https://ec2.cn-north-1.amazonaws.com.cn

  1. 设置AWS托管的云连接器,并确保它具有连接性。
  2. 运行以下PowerShell命令查看云连接器列表。

    PS C:\> asnp citrix。*PS C:\> Get-XDAuthentication PS C:\> Get-ConfigEdgeServer 
  3. 从新创建的Cloud Connector中找到zoneid,并将其输入到以下PowerShell命令中。将斜体项替换为相应的值。

    PS C:\> $hyp= New-Item -Path xdhyp:\Connections -ZoneUidZoneUid- name《我的新关系》-ConnectionType "AWS" -HypervisorAddress @("https://ec2.cn-north-1.amazonaws.com.cn") -UserName“APIkey”密码“API秘密”坚持PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp。HypervisorConnectionUid

  4. 刷新满配>主机选项卡,以验证EC2连接已经创建。
  5. 使用新连接添加资源位置。

AWS租赁

AWS提供了以下租赁选项:共享租赁(默认类型)和专用租赁。共享租赁意味着来自不同客户的多个Amazon EC2实例可能驻留在同一物理硬件上。专用租赁意味着您的EC2实例仅在硬件上与您部署的其他实例一起运行。其他客户不使用相同的硬件。

MCS可以通过Full Configuration界面或PowerShell方式发放AWS专用主机。

使用Full Configuration界面配置AWS专用主机租赁

在使用MCS创建目录以在AWS中配置计算机时,将机器目录设置>安全页面显示以下选项:

  • 使用共享硬件.此设置适用于大多数部署。多个客户共享硬件,即使它们彼此之间不进行交互。使用共享硬件是运行Amazon EC2实例最便宜的选择。

  • 使用专用主机.Amazon EC2专用主机是具有完全专用的EC2实例容量的物理服务器,允许您使用现有的每个套接字或每个vm软件许可证。专用主机具有基于实例类型的预置利用率。例如,单个分配的C4 Large实例类型的专用主机只能运行16个实例。看到AWS的网站获取更多信息。

    对AWS主机的配置要求包括:

    • 导入的BYOL(自带许可证)映像(AMI)。使用专用主机,使用和管理现有的许可证。
    • 具有足够利用率以满足供应请求的专用主机的分配。
    • 启用auto-placement

    此设置适用于有许可限制或需要使用专用主机的安全需求的部署。使用专用主机,您可以拥有整个物理主机,并按小时计费。拥有该主机可以让您在该主机允许的情况下启动尽可能多的EC2实例,而无需支付更多费用。

    您也可以通过PowerShell发放AWS专用主机。要做到这一点,请使用New-ProvScheme参数CmdletTenancyType设置为宿主.看到Citrix开发人员文档获取更多信息。

  • 使用专用实例.此设置更适合具有特定安全性或遵从性需求的部署。使用专用实例,您仍然可以享受与其他AWS客户分开的主机的好处,但不必为整个主机付费。您不需要担心主机的容量,但是您需要为实例收取更高的费用。

使用PowerShell配置AWS专用主机租赁

您可以使用通过PowerShell定义的主机租赁权创建一个机器目录。

Amazon [EC2]专用主机是具有完全专用的[EC2]实例容量的物理服务器,允许您使用现有的每个套接字或每个虚拟机软件许可证。

专用主机具有基于实例类型的预置利用率。例如,单个分配的C4 Large实例类型的专用主机只能运行16个实例。看到AWS的网站获取更多信息。

对AWS主机的配置要求包括:

  • 导入的BYOL(自带许可证)映像(AMI)。使用专用主机,使用和管理现有的许可证。
  • 具有足够利用率以满足供应请求的专用主机的分配。
  • 启用auto-placement

若要使用PowerShell提供给AWS中的专用主机,请使用New-ProvScheme参数TenancyType设置为宿主

请参阅Citrix开发人员文档获取更多信息。

AWS实例属性捕获

当您在AWS中使用机器创建服务(Machine Creation Services, MCS)创建目录以供应机器时,您可以选择一个AMI来表示该目录的主映像/黄金映像。从这个AMI, MCS使用磁盘的快照。在以前的版本中,如果您想在您的机器上使用角色或标记,您可以使用AWS控制台单独设置它们。默认情况下启用此功能。

提示:

要使用AWS实例属性捕获,必须有一个与AMI关联的VM。

为了改进这个过程,MCS读取属性,并将机器的身份访问管理(Identity Access Management, IAM)角色和标记应用到为给定目录提供的机器。在使用此可选特性时,目录创建过程将查找选定的AMI源实例,读取一组有限的属性。然后将这些属性存储在AWS启动模板中,该模板用于为该目录配置机器。目录中的任何机器都继承捕获的实例属性。

捕获的属性包括:

  • IAM角色——应用于已供应的实例。
  • 标签——应用于已供应的实例、它们的磁盘和网卡。这些标记应用于临时的Citrix资源,包括:S3桶和对象、卷和worker资源、ami、快照和启动模板。

提示:

临时Citrix资源的标记是可选的,可以使用自定义属性进行配置AwsOperationalResourcesTagging

捕获AWS实例属性

您可以通过指定自定义属性来使用此功能,AwsCaptureInstanceProperties,在为AWS托管连接创建配置方案时:

" AwsCaptureInstanceProperties,true "…<标准provscheme参数

请参阅Citrix开发人员文档获取更多信息。

在“完全配置”界面中应用AWS实例属性并标记操作资源

在使用MCS创建目录以在AWS中提供机器时,您可以控制是否将IAM角色和标记属性应用到这些机器。您还可以控制是否将机器标记应用于操作资源。您有以下两种选择:

AWS机器标记和模板属性

  • 将机器模板属性应用到虚拟机
    • 控制是否将与所选机器模板关联的IAM角色和标记属性应用于此目录中的虚拟机。
  • 将机器标记应用于操作资源
    • 控制是否将机器标记应用到AWS环境中创建的每个项目,以方便提供机器。操作资源是作为目录创建的副产品创建的。它们包括临时资源和持久资源,例如准备虚拟机实例和AMI。

AWS操作资源标记

Amazon Machine Image (AMI)表示一种用于在Amazon Cloud环境(通常称为EC2)中创建虚拟机的虚拟设备。您可以使用AMI来部署使用EC2环境的服务。创建目录以使用MCS为AWS提供计算机时,选择AMI作为那个目录的黄金形象。

重要的是:

使用操作资源标记需要通过捕获实例属性和启动模板来创建目录。具体操作请参见上一节AWS实例属性捕获

要创建AWS目录,必须首先为希望作为黄金映像的实例创建一个AMI。MCS从该实例中读取标记,并将它们合并到启动模板中。然后,启动模板标签应用于在您的AWS环境中创建的所有Citrix资源,包括:

  • 虚拟机
  • 虚拟机磁盘
  • 虚拟机网络接口
  • S3 bucket
  • S3对象
  • 发布模板
  • 埃米斯

标记操作资源

使用PowerShell标记资源:

  1. 从DDC主机打开一个PowerShell窗口。
  2. 执行命令asnp citrix加载特定于citrix的PowerShell模块。

要为已供应的VM标记资源,请使用新的自定义属性AwsOperationalResourcesTagging.这个属性的语法是:

“AwsCaptureInstanceProperties,true;AwsOperationalResourcesTagging,true "…<标准provscheme参数>

定义IAM权限

使用本节的信息定义AWS上Citrix Virtual Apps and台式机服务的IAM权限。亚马逊的IAM服务允许拥有多个用户的帐户,这些用户可以进一步组织成组。这些用户可以拥有不同的权限,以控制他们执行与该帐户相关的操作的能力。有关IAM权限的更多信息,请参见IAM JSON策略参考

对新建用户组应用IAM权限策略。

  1. 登录AWS管理控制台并选择我的服务在下拉列表中。
  2. 选择创建一个新的用户组
  3. 键入新用户组的名称并选择继续
  4. 权限页面,选择定制的政策.选择选择
  5. 类型的名称权限政策
  6. 政策文件部分,输入相关权限。

输入策略信息后,选择继续完成用户组。该组中的用户只被授予执行Citrix虚拟应用程序和桌面服务所需的操作的权限。

重要的是:

使用上面示例中提供的策略文本列出Citrix虚拟应用程序和桌面服务用于在AWS帐户中执行操作的操作,而不将这些操作限制到特定资源。Citrix建议您使用该示例进行测试。对于生产环境,您可以选择对资源添加进一步的限制。

添加IAM权限

中的权限设置AWS管理控制台部分:

  1. 总结面板中,选择权限选项卡。
  2. 选择添加权限。

身份和访问管理(IAM)

添加权限到屏幕,授予权限:

为IAM策略配置权限

中以以下内容为例JSON标签:

JSON的例子

提示:

上面提到的JSON示例可能不包括您的环境的所有权限。看到如何定义在AWS上运行Citrix虚拟应用和桌面时的身份访问管理权限获取更多信息。

关于AWS权限

本节包含AWS权限的完整列表。

注意:

我:PassRole许可只需要role_based_auth

创建主机连接

使用从AWS获得的信息添加新的主机连接。

{"Version": "2012-10-17", "Statement": [{"Action": ["ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2: describevpc "], "Effect": "Allow", "Resource": "*"}]} 

虚拟机电源管理

机器实例被打开或关闭。

{"Version": "2012-10-17", "Statement": [{"Action": ["ec2:AttachVolume", "ec2:CreateVolume", "ec2:DeleteVolume", "ec2:DescribeInstances", "ec2:DescribeVolumes", "ec2:DetachVolume", "ec2:StartInstances", "ec2:StopInstances"], "Effect": "Allow", "Resource": "*"}]} 

创建、更新、删除虚拟机

使用作为AWS实例发放的虚拟机创建、更新或删除机器目录。

{“版本”:“2012-10-17”,“声明”:[{“行动”:["ec2:AttachVolume", "ec2:AssociateIamInstanceProfile", "ec2:CreateImage", "ec2:CreateLaunchTemplate", "ec2:CreateTags", "ec2:CreateVolume", "ec2:DeleteVolume", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", "ec2: DescribeIamInstanceProfileAssociations ", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribeNetworkInterfaces", "ec2: descriaberegions ",“ec2: descripbesecuritygroups”,“ec2: descripbesnapshots”,“ec2: descripbesubnets”,“ec2: descripbetags”,“ec2: descripbevolumes”,“ec2: descripbevpc”,“ec2:DetachVolume”,“ec2:DisassociateIamInstanceProfile”,“ec2:RunInstances”,“ec2:StartInstances”,“ec2:StopInstances”,“ec2:TerminateInstances”],“Effect”:“Allow”,“Resource”:“*”},{“Action”:["s3:CreateBucket", "s3:DeleteBucket", "s3:PutBucketAcl", "s3:PutBucketTagging", "s3:PutObject", "s3:GetObject", "s3:DeleteObject" "s3:PutObjectTagging"], "Effect": "Allow", "Resource": "arn:aws:s3:::citrix*"}, {"Action": ["ebs:ListSnapshotBlocks", "ebs:GetSnapshotBlock", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot", "ebs:StartSnapshot" "ec2:CreateSnapshot"], "Effect": "Allow", "Resource": "*"}]} 

重要的是:

  • EBS动作和ec2:CreateSnapshot仅在使用直接磁盘上传时才需要。
  • 如果使用直接磁盘上传,则不需要S3部分。
  • 直接磁盘上传功能需要额外的权限。联系Citrix的支持获取更多信息。

创建卷的EBS加密

如果AMI已加密,则EBS可以自动加密新创建的卷,或者将EBS配置为加密所有新卷。但是,要实现该功能,必须在IAM策略中包含以下权限。

{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": ["kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlainText", "kms:ReEncrypt"], "Resource": "*"}]} 

注意:

可以根据用户的判断,通过包含Resource和Condition块,将权限限制为特定的键。例如,KMS权限与条件

{"版本":"2012-10-17","声明":[{"效果":"允许","动作":["kms:CreateGrant", "kms:解密","kms:DescribeKey", "kms: generatedatakeywithout明文","kms:ReEncrypt"], "资源":["arn:aws:kms:us-east: 2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"], "条件":{"Bool": {"kms:GrantIsForAWSResource": true}}}}} 

下面的密钥策略语句是KMS密钥的完整默认密钥策略,允许帐户使用IAM策略来授权KMS密钥上的所有操作(KMS:*)。

{“Sid”:“让我政策”,“效果”:“允许”、“主要”:{“AWS”:“在攻击:AWS:我::111122223333:根”},“行动”:“公里:“,”资源 ": "" } 

有关更多信息,请参见AWS密钥管理服务官方文档

IAM基于角色的鉴权

添加以下权限以支持基于角色的身份验证。

{“版本”:“2012-10-17”,“声明”:[{“效应”:“允许”、“行动”:“我:PassRole”、“资源”:“在攻击:aws:我::*:角色 /*" } ] } 

最小IAM权限策略

以下JSON可用于当前支持的所有特性。可用于创建主机连接、创建虚拟机、更新虚拟机、删除虚拟机以及电源管理等操作。策略可以应用于用户,如定义IAM权限部分,也可以使用基于角色的身份验证role_based_auth安全密钥和秘密密钥。

重要的是:

使用role_based_auth,在搭建云连接器时,首先在云连接器ec2实例上配置所需的IAM角色。使用Citrix Studio添加托管连接,并为身份验证密钥和秘密提供role_based_auth。带有这些设置的主机连接然后使用基于角色的身份验证。

{“版本”:“2012-10-17”,“声明”:[{“行动”:[" ec2: AttachVolume”、“ec2: AssociateIamInstanceProfile”、“ec2: CreateImage”,“ec2: CreateLaunchTemplate”、“ec2: CreateNetworkInterface”,“ec2: CreateSecurityGroup”、“ec2: CreateTags”、“ec2: CreateVolume”、“ec2: DeleteLaunchTemplate”、“ec2: DeleteNetworkInterface”、“ec2: DeleteSnapshot”、“ec2: DeleteTags”、“ec2: DeleteVolume”、“ec2: DeregisterImage”、“ec2: DescribeAccountAttributes”、“ec2: DescribeAvailabilityZones”、“ec2: DescribeIamInstanceProfileAssociations”、“ec2: DescribeImages”、“ec2: DescribeInstances”,“ec2:描述实例类型”,“ec2:描述aunchtemplates”,“ec2:描述aunchtemplateversions”,“ec2:描述etworkinterfaces”,“ec2:描述区域”,“ec2:描述ecuritygroups”,“ec2:描述napshots”,“ec2:描述ubnets”,“ec2:描述ags”,“ec2:描述volumes”,“ec2:描述vpcs”,“ec2:DetachVolume”,“ec2:DisassociateIamInstanceProfile”,“ec2:RebootInstances”,“ec2:RunInstances”,“ec2:StartInstances”,“ec2:StopInstances”,“ec2:TerminateInstances”],“Effect”:“允许”,“资源”:"*"}, {"Action": ["s3:CreateBucket", "s3:DeleteBucket", "s3:DeleteObject", "s3:GetObject", "s3:PutBucketAcl", "s3:PutBucketTagging", "s3:PutObjectTagging"], "Effect": "Allow", "Resource": "arn:aws:s3:::citrix*"}, {"Action": ["ebs:ListSnapshotBlocks", "ebs:GetSnapshotBlock", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot", "ebs:StartSnapshot", "ec2:CreateSnapshot"], "Effect": "Allow", "Resource": "*"}, {"Effect": "Allow", "Action": "Action": ["ebs: listsnapshotblock ", "ebs:StartSnapshot", "ec2:CreateSnapshot"], "Effect": "Allow", "Action": "Action": "["kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlainText", "kms:ReEncryptTo", "kms:ReEncryptFrom"], "Resource": "*"}, {"Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*"}]} 

注意:

  • EBS动作和ec2:CreateSnapshot仅在使用直接磁盘上传时才需要。
  • 使用直接磁盘上传时,不需要S3部分。
  • 如果不使用EBS卷加密,则不需要KMS部分。
  • iam:PassRole权限部分只需要role_based_auth
  • 可以根据您的需求和环境添加特定的资源级别权限,而不是完全访问。参考AWS文档解密EC2资源级权限而且AWS资源的访问管理欲知详情。

更多的信息