本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Active Directory 故障排除
以下是在 Amazon 2.0 中设置和使用 Amazon AppStream 2.0 活动目录时可能出现的问题。有关通知代码故障排除的帮助信息,请参阅 通知代码故障排除。
问题
- 我的图像生成器和队列实例处于该PENDING状态。
- 我的用户无法使用该SAML应用程序登录。
- 我的实例集实例能用于一个用户,但不能正确循环。
- 我的用户组策略对象无法成功应用。
- 我的 AppStream 2.0 直播实例没有加入 Active Directory 域。
- 用户登录要花很长时间才能完成加入域的流式传输会话。
- 我的用户在加入域的流式传输会话中无法访问域资源,但可以访问加入域的映像生成器中的资源。
- 我的用户收到错误“基于证书的身份验证不可用”,并要求输入域密码。或者,当用户启动启用了基于证书的身份验证的会话时,会收到“已与会话断开连接”错误。
- 更改 Active Directory (AD) 服务帐户后,我遇到了加入域名失败的问题。
我的图像生成器和队列实例处于该PENDING状态。
映像生成器和实例集实例最多可能需要 25 分钟才能转入准备就绪状态并变得可用。如果您的实例变为可用时间超过 25 分钟,请在 Active Directory 中验证是否在正确的组织单位中创建了新的计算机对象(OUs)。如果有新对象,则流实例将很快可用。如果对象不存在,请在 AppStream 2.0 Directory Config 中查看目录配置详细信息:目录名称(目录的完全限定域名、服务帐户登录凭据和 OU 可分辨名称)。
镜像生成器和队列错误显示在 AppStream 2.0 控制台的队列或映像生成器的 “通知” 选项卡上。也可以使用 AppStream 2.0 API 通过DescribeFleets操作或 desc ribe-fleets CLI 命令查看舰队错误。
我的用户无法使用该SAML应用程序登录。
AppStream 2.0 依赖您的身份提供商提供的 SAML _Subject “nameID” 属性来填充用户名字段以登录您的用户。该用户名的格式可以是“
”或“domain
\usernameuser@domain.com
”。如果您使用的是 “
” 格式,则domain
\username
可以是网络BIOS名称或完全限定域名。如果使用 “domain
user@domain.com
” 格式,则可以使用该 UserPrincipalName 属性。如果您已验证您的 SAML _Subject 属性配置正确,但问题仍然存在,请与联系 AWS Support。有关更多信息,请参阅 AWS Support 中心
我的实例集实例能用于一个用户,但不能正确循环。
当一个用户完成会话后,实例集实例会进行循环,确保每个用户都有一个新实例。当循环的实例集实例联机时,它使用以前实例的计算机名称加入域。要确保此操作成功,服务账户需要拥有计算机对象所加入的组织单位 (OU) 的更改密码和重置密码权限。请检查服务账户权限,然后重试。如果问题仍然存在,请与联系 AWS Support。有关更多信息,请参阅 AWS Support 中心
我的用户组策略对象无法成功应用。
默认情况下,计算机对象基于它们所在的 OU 来应用计算机级策略,基于用户所在的 OU 应用用户级策略。如果您的用户级策略未应用,可以执行以下操作之一:
-
将用户级策略移到用户 Active Directory 对象所在的 OU 中
-
启用计算机级别的环回处理,这将在计算机对象 OU 中应用用户级策略。
有关更多信息,请参阅 Microsoft 支持网站上的组策略环回处理
我的 AppStream 2.0 直播实例没有加入 Active Directory 域。
要用于 AppStream 2.0 的 Active Directory 域名必须能够通过其启动流媒体实例VPC的完全限定域名 (FQDN) 进行访问。
测试域能否访问
-
在与 AppStream 2.0 相同的VPC子网和安全组中启动一个 Amazon EC2 实例。
-
手动将EC2实例加入您的 Active Directory 域,方法是使用您打算在 AppStream 2.0 中使用的服务帐号FQDN(例如
yourdomain.example.com
)。在 Windows PowerShell 控制台中使用以下命令:netdom join
computer
/domain:FQDN
/OU:path
/ud:user
/pd:password
如果此手动加入操作失败,请转至下一步。
-
如果您无法手动加入您的域名,请打开命令提示符并验证是否FQDN可以使用该
nslookup
命令解决问题。例如:nslookup
yourdomain.exampleco.com
域名解析成功时会返回一个有效的 IP 地址。如果您无法解决您的问题FQDN,则可能需要使用为域名设置的DHCP选项来更新VPCDNS服务器。然后,返回到这一步。有关更多信息,请参阅 Amazon VPC 用户指南中的DHCP选项集。
-
如果问题FQDN解决了,请使用
telnet
命令验证连通性。telnet
yourdomain.exampleco.com
389连接成功后会显示一个空白命令提示符窗口,其中不包含任何连接错误。您可能需要在EC2实例上安装 Telnet 客户端功能。有关更多信息,请参阅 Microsoft 文档中的安装 Telnet 客户端
。
如果您无法手动将EC2实例加入您的域,但成功解决FQDN并测试了与 Telnet 客户端的连接,则您的VPC安全组可能阻止了访问。Active Directory 需要特定的网络端口设置。有关更多信息,请参阅 Microsoft 文档中的 Active Directory and Active Directory Domain Services Port Requirements
用户登录要花很长时间才能完成加入域的流式传输会话。
AppStream 在用户提供域密码后,2.0 会执行 Windows 登录操作。成功进行身份验证后, AppStream 2.0 将启动应用程序。登录和启动时间受多个变量影响,如域控制器的网络连接或将组策略设置应用流实例所用的时间。如果域身份验证耗时太长,请尝试执行以下操作。
-
通过选择正确的域控制器,最大限度地减少从 AppStream 2.0 区域到域控制器的网络延迟。例如,如果您的实例集在
us-east-1
,则通过 Active Directory 站点和服务区域映射使用对us-east-1
具有高带宽和低延迟的域控制器。有关更多信息,请参阅 Microsoft 文档中的 Active Directory 站点和服务。 -
确保您的组策略设置和用户登录脚本的应用或运行不会耗时过长。
如果您的域用户登录到 AppStream 2.0 失败并显示消息 “发生了未知错误”,则您可能需要更新中描述的组策略设置开始在 Amazon AppStream 2.0 中使用活动目录之前。否则,这些设置可能会阻止 AppStream 2.0 对您的域用户进行身份验证和登录。
我的用户在加入域的流式传输会话中无法访问域资源,但可以访问加入域的映像生成器中的资源。
确认您的队列是在与映像生成器相同的VPC子网和安全组中创建的,并且您的用户具有访问和使用域资源所需的权限。
我的用户收到错误“基于证书的身份验证不可用”,并要求输入域密码。或者,当用户启动启用了基于证书的身份验证的会话时,会收到“已与会话断开连接”错误。
如果会话的基于证书的身份验证不成功,就会出现这些错误。启用基于证书的身份验证以允许回退到密码登录时,会显示“基于证书的身份验证不可用”错误。如果启用基于证书的身份验证但不允许回退,则会显示“已与会话断开连接”错误。
用户可以在 Web 客户端上刷新页面或从 Windows 客户端重新连接,因为这可能是基于证书的身份验证的间歇性问题。如果问题仍然存在,则基于证书的身份验证失败可能是由以下问题之一导致的:
-
AppStream 2.0 无法与 AWS 私有 CA 通信,或者 AWS 私有 CA 未颁发证书。检查 CloudTrail 以确定是否已颁发证书。有关更多信息,请参阅什么是 AWS CloudTrail? 和管理基于证书的身份验证。
-
域控制器没有用于智能卡登录的域控制器证书,或者该证书已过期。有关更多信息,请参阅前提条件中的步骤 7.a。
-
该证书不可信。有关更多信息,请参阅前提条件中的步骤 7.c。
-
SAML_Subjec userPrincipalName t NameID 的格式不正确,或者无法解析为用户的实际域。有关更多信息,请参阅前提条件中的步骤 1。
-
您的SAML断言中的(可选) ObjectSid 属性与 SAML _Subject NameID 中指定的用户的 Active Directory 安全标识符 (SID) 不匹配。确认您的SAML联盟中的属性映射正确,并且您的SAML身份提供商正在同步 Active Directory 用户的SID属性。
-
AppStream 2.0 代理不支持基于证书的身份验证。使用 AppStream 2.0 代理版本 10-13-2022 或更高版本。
-
有些组策略设置会修改智能卡登录的默认 Active Directory 设置,或者在从智能卡读卡器中移除智能卡时执行操作。除了上面列出的错误之外,这些设置还可能会导致其他意外行为。基于证书的身份验证向实例操作系统提供虚拟智能卡,并在登录完成后将其删除。有关更多信息,请参阅 Primary Group Policy settings for smart cards
和 Additional smart card Group Policy settings and registry keys 。如果您要使用基于证书的身份验证,请不要启用堆栈中的 Active Directory 的智能卡登录。有关更多信息,请参阅 智能卡。 -
私有 CA 的CRL分发点不在线,也无法从 AppStream 2.0 队列实例或域控制器访问。有关更多信息,请参阅前提条件中的步骤 5。
其他故障排除步骤包括查看 AppStream 2.0 实例 Windows 事件日志。登录失败时检查的常见事件是 4625(F):账户登录失败
如果问题仍然存在,请与联系 AWS Support。有关更多信息,请参阅 AWS Support 中心
更改 Active Directory (AD) 服务帐户后,我遇到了加入域名失败的问题。
如果您的现有队列的映像基于 2024 年 8 月 Microsoft Windows Server 操作系统更新
微软发布了 KB5020276
从 2024 年 8 月 13 日起实施 Microsoft 补丁后,如果您更改现有 AppStream 2.0 队列的 AD 服务帐户,则新的服务帐户将无法再重复使用 AD 中的现有计算机对象。这会导致 AppStream 2.0 队列的域加入失败,队列通知下会显示以下错误消息之一:
-
DOMAIN_ JOIN INTERNAL _ SERVICE _ ERROR “找不到群组名称。”
-
Active Directory 中存在同名的账户。安全政策禁止重复使用该账户
为了控制哪个帐户可以重复使用现有计算机对象,Microsoft 实施了一项名为 “域控制器:允许在加入域期间重复使用计算机帐户” 的新组策略设置。此设置允许您指定在域加入操作期间绕过检查的可信服务帐户列表。对于自行管理的 AD 配置,我们建议您按照 Microsoft 记录的步骤
对于托管 Active Directory (MAD),您必须在更改 AppStream 2.0 域名加入服务账户后重新启动 AppStream 2.0 队列。
如果问题仍然存在,请与联系 AWS Support。有关更多信息,请参阅 AWS Support 中心