

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为 AWS 托管的 Microsoft AD 启用单点登录
<a name="ms_ad_single_sign_on"></a>

AWS Directory Service 允许您的用户 WorkDocs 从加入该目录的计算机进行访问，而无需单独输入其凭据。

启用单点登录之前，您需要执行其他步骤，以便使用户的 Web 浏览器可以支持单点登录。用户可能需要修改其 Web 浏览器设置来启用单点登录。

**注意**  
只有在已加入到 Directory Service 目录中的计算机上才支持单点登录。未加入目录中的计算机上无法使用单点登录。

如果您的目录是 AD Connector 目录，且 AD Connector 服务账户没有权限添加或删除其服务委托人名称属性，则对于下面的步骤 5 和 6，您有两个选项：

1. 您可以继续操作，系统将提示您输入具有以下权限的目录用户的用户名和密码：可在 AD Connector 服务账户上添加或删除服务委托人名称属性。这些凭证仅用于启用单点登录，不由服务进行存储。不会更改 AD Connector 服务账户权限。

1. 您可以委托权限以允许 AD Connector 服务帐户添加或删除自身的服务主体名称属性，您可以使用有权修改 AD Connector 服务帐户权限的帐户在加入域的计算机上运行以下 PowerShell 命令。以下命令将使 AD Connector 服务账户能够仅为其自身添加和删除服务委托人名称属性。

```
$AccountName = 'ConnectorAccountName'
# DO NOT modify anything below this comment.
# Getting Active Directory information.
Import-Module 'ActiveDirectory'
$RootDse = Get-ADRootDSE
[System.GUID]$ServicePrincipalNameGuid = (Get-ADObject -SearchBase $RootDse.SchemaNamingContext -Filter { lDAPDisplayName -eq 'servicePrincipalName' } -Properties 'schemaIDGUID').schemaIDGUID
# Getting AD Connector service account Information.
$AccountProperties = Get-ADUser -Identity $AccountName
$AclPath = $AccountProperties.DistinguishedName
$AccountSid = New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' $AccountProperties.SID.Value
# Getting ACL settings for AD Connector service account.
$ObjectAcl = Get-ACL -Path "AD:\$AclPath"
# Setting ACL allowing the AD Connector service account the ability to add and remove a Service Principal Name (SPN) to itself
$AddAccessRule = New-Object -TypeName 'System.DirectoryServices.ActiveDirectoryAccessRule' $AccountSid, 'WriteProperty', 'Allow', $ServicePrincipalNameGUID, 'None'
$ObjectAcl.AddAccessRule($AddAccessRule)
Set-ACL -AclObject $ObjectAcl -Path "AD:\$AclPath"
```

**使用启用或禁用单点登录 WorkDocs**

1. 在 [AWS Directory Service 控制台](https://console.aws.amazon.com/directoryservicev2/)导航窗格中，选择**目录**。

1. 在**目录**页面上，选择您的目录 ID。

1. 在 **Directory details (目录详细信息)** 页面上，选择 **Application management (应用程序管理)** 选项卡。

1. 在 “**应用程序访问 URL**” 部分，选择 “**启用**” 以启用单点登录。 WorkDocs

   如果您没有看到**启用**按钮，则可能需要首先创建访问 URL，然后才能显示此选项。有关如何创建访问 URL 的更多信息，请参阅[为 AWS 托管 Microsoft AD 创建访问网址](ms_ad_create_access_url.md)。

1. 在**为此目录启用单点登录**对话框中，选择**启用**。单点登录已为目录启用。

1. 如果以后要使用禁用单点登录 WorkDocs，请选择 “**禁用**”，然后在 “**禁用此目录的单点登录” 对话框中**，再次选择 “**禁用**”。

**Topics**
+ [IE 和 Chrome 的单点登录](#ie_sso)
+ [Firefox 的单点登录](#firefox_sso)

## IE 和 Chrome 的单点登录
<a name="ie_sso"></a>

要使 Microsoft 的 Internet Explorer（IE）和 Google 的 Chrome 浏览器可以支持单点登录，必须在客户端计算机上执行以下任务：
+ 将您的访问网址（例如 https://*<alias>*.awsapps.com）添加到允许进行单点登录的网站列表中。
+ 启用活动脚本 (JavaScript)。
+ 允许自动登录。
+ 启用集成身份验证。

您或您的用户手动执行这些任务，也可以使用组策略设置更改这些设置。

**Topics**
+ [Windows 上单点登录的手动更新](#ie_sso_manual_windows)
+ [OS X 上单点登录的手动更新](#chrome_sso_manual_mac)
+ [单点登录的组策略设置](#ie_sso_gpo)

### Windows 上单点登录的手动更新
<a name="ie_sso_manual_windows"></a>

要在 Windows 计算机上手动启用单点登录，请在客户端计算机上执行以下步骤。其中一些设置可能已正确设置。

**在 Windows 上为 Internet Explorer 和 Chrome 手动启用单点登录**

1. 要打开 **Internet Properties** 对话框，请选择 **Start** 菜单，在搜索框中键入 `Internet Options`，然后选择 **Internet Options**。

1. 通过执行以下步骤将访问 URL 添加到适用于单点登录的经审批站点列表中：

   1. 在 **Internet Properties** 对话框中选择 **Security** 选项卡。

   1. 选择 **Local intranet**，然后选择 **Sites**。

   1. 在 **Local intranet** 对话框中，选择 **Advanced**。

   1. 将访问 URL 添加到网站列表，然后选择 **Close**。

   1. 在 **Local intranet** 对话框中，选择 **OK**。

1. 要启用活动脚本，请执行以下步骤：

   1. 在 **Internet Properties** 对话框的 **Security** 选项卡中，选择 **Custom level**。

   1. 在 **Security Settings - Local Intranet Zone** 对话框中，向下滚动到 **Scripting**，然后在 **Active scripting** 下选择 **Enable**。

   1. 在 **Security Settings - Local Intranet Zone** 对话框中，选择 **OK**。

1. 要启用自动登录，请执行以下步骤：

   1. 在 **Internet Properties** 对话框的 **Security** 选项卡中，选择 **Custom level**。

   1. 在 **Security Settings - Local Intranet Zone** 对话框中，向下滚动到 **User Authentication** 并在 **Logon** 下选择 **Automatic logon only in Intranet zone**。

   1. 在 **Security Settings - Local Intranet Zone** 对话框中，选择 **OK**。

   1. 在 **Security Settings - Local Intranet Zone** 对话框中，选择 **OK**。

1. 要启用集成身份验证，请执行以下步骤：

   1. 在 **Internet Properties** 对话框中选择 **Advanced** 选项卡。

   1. 向下滚动到 **Security**，然后选择 **Enable Integrated Windows Authentication**。

   1. 在 **Internet Properties** 对话框中，选择 **OK**。

1. 关闭并重新打开浏览器让这些更改生效。

### OS X 上单点登录的手动更新
<a name="chrome_sso_manual_mac"></a>

要在 OS X 上为 Chrome 手动启用单点登录，请在客户端计算机上执行以下步骤。需要计算机上的管理员权限才能完成这些步骤。

**在 OS X 上为 Chrome 手动启用单点登录**

1. 通过运行以下命令将您的访问网址添加到[AuthServerAllowlist](https://chromeenterprise.google/policies/#AuthServerAllowlist)策略中：

   ```
   defaults write com.google.Chrome AuthServerAllowlist "https://<alias>.awsapps.com"
   ```

1. 打开 **System Preferences**，转到 **Profiles** 面板，然后删除 `Chrome Kerberos Configuration` 配置文件。

1. 重新启动 Chrome，然后在 Chrome 中打开 chrome://policy 以确认新设置已实施。

### 单点登录的组策略设置
<a name="ie_sso_gpo"></a>

域管理员可以实施组策略设置以在加入域的客户端计算机上进行单点登录更改。

**注意**  
如果您使用 Chrome 政策管理网域内计算机上的 Chrome 网络浏览器，则必须将访问网址添加到[AuthServerAllowlist](https://chromeenterprise.google/policies/#AuthServerAllowlist)政策中。有关设置 Chrome 策略的更多信息，请转到 [Policy Settings in Chrome](https://source.chromium.org/chromium/chromium/src/+/main:docs/enterprise/add_new_policy.md)。

**使用组策略设置为 Internet Explorer 和 Chrome 启用单点登录**

1. 通过执行以下步骤创建新的组策略对象：

   1. 打开组策略管理工具，导航到您的域并选择 **Group Policy Objects**。

   1. 在主菜单中，选择 **Action**，然后选择 **New**。

   1. 在**新建 GPO** 对话框中，为组策略对象输入一个描述性名称（如 `IAM Identity Center Policy`），将**源 Starter GPO** 保留为**（无）**。单击**确定**。

1. 通过执行以下步骤将访问 URL 添加到适用于单点登录的经审批站点列表中：

   1. 在组策略管理工具中，导航到您的域，选择**组策略对象**，打开 IAM Identity Center 策略的上下文（右键单击）菜单，然后选择**编辑**。

   1. 在策略树中，导航到 **User Configuration** > **Preferences** > **Windows Settings**。

   1. 在 **Windows Settings** 列表中，打开 **Registry** 的上下文 (右键单击) 菜单并选择 **New registry item**。

   1. 在 **New Registry Properties** 对话框中，输入以下设置，然后选择 **OK**：  
**Action**  
`Update`  
**Hive**  
`HKEY_CURRENT_USER`  
**路径**  
`Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\awsapps.com\<alias>`  
的*<alias>*值来自您的访问网址。如果访问 URL 是 `https://examplecorp.awsapps.com`，则别名是 `examplecorp`，注册表项是 `Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\awsapps.com\examplecorp`。  
**Value name**  
`https`  
**值类型**  
`REG_DWORD`  
**Value data**  
`1`

1. 要启用活动脚本，请执行以下步骤：

   1. 在组策略管理工具中，导航到您的域，选择**组策略对象**，打开 IAM Identity Center 策略的上下文（右键单击）菜单，然后选择**编辑**。

   1. 在策略树中，导航到 **Computer Configuration** > **Policies** > **Administrative Templates** > **Windows Components** > **Internet Explorer** > **Internet Control Panel** > **Security Page** > **Intranet Zone**。

   1. 在 **Intranet Zone** 列表中，打开 **Allow active scripting** 的上下文 (右键单击) 菜单，选择 **Edit**。

   1. 在 **Allow active scripting** 对话框中，输入以下设置，然后选择 **OK**：
      + 选择 **Enabled** 单选按钮。
      + 在 **Options** 下，将 **Allow active scripting** 设置为 **Enable**。

1. 要启用自动登录，请执行以下步骤：

   1. 在组策略管理工具中，导航到您的域，选择“Group Policy Objects”，打开 SSO 策略的上下文 (右键单击) 菜单，然后选择 **Edit**。

   1. 在策略树中，导航到 **Computer Configuration** > **Policies** > **Administrative Templates** > **Windows Components** > **Internet Explorer** > **Internet Control Panel** > **Security Page** > **Intranet Zone**。

   1. 在 **Intranet Zone** 列表中，打开 **Logon options** 的上下文 (右键单击) 菜单，选择 **Edit**。

   1. 在 **Logon options** 对话框中，输入以下设置，然后选择 **OK**：
      + 选择 **Enabled** 单选按钮。
      + 在 **Options** 下，将 **Logon options** 设置为 **Automatic logon only in Intranet zone**。

1. 要启用集成身份验证，请执行以下步骤：

   1. 在组策略管理工具中，导航到您的域，选择**组策略对象**，打开 IAM Identity Center 策略的上下文（右键单击）菜单，然后选择**编辑**。

   1. 在策略树中，导航到 **User Configuration** > **Preferences** > **Windows Settings**。

   1. 在 **Windows Settings** 列表中，打开 **Registry** 的上下文 (右键单击) 菜单并选择 **New registry item**。

   1. 在 **New Registry Properties** 对话框中，输入以下设置，然后选择 **OK**：  
**Action**  
`Update`  
**Hive**  
`HKEY_CURRENT_USER`  
**路径**  
`Software\Microsoft\Windows\CurrentVersion\Internet Settings`  
**Value name**  
`EnableNegotiate`  
**值类型**  
`REG_DWORD`  
**Value data**  
`1`

1. 如果 **Group Policy Management Editor** 窗口仍打开，关闭该窗口。

1. 通过执行以下步骤将新策略分配给您的域：

   1. 在组策略管理树中，打开您的域的上下文 (右键单击) 菜单，然后选择 **Link an Existing GPO**。

   1. 在**组策略对象**列表中，选择 IAM Identity Center 策略，然后选择**确定**。

这些更改会在客户端上的下一次策略更新之后，或是在下次用户登录时生效。

## Firefox 的单点登录
<a name="firefox_sso"></a>

要允许 Mozilla Firefox 浏览器支持单点登录，请将您的访问网址（例如 https://*<alias>*.awsapps.com）添加到允许进行单点登录的网站列表中。这可以手动执行，也可以使用脚本自动进行。

**Topics**
+ [单点登录的手动更新](#firefox_sso_manual)
+ [单点登录的自动更新](#firefox_sso_script)

### 单点登录的手动更新
<a name="firefox_sso_manual"></a>

要在 Firefox 中将访问 URL 手动添加到经审批站点列表中，请在客户端计算机上执行以下步骤。

**在 Firefox 中将访问 URL 手动添加到经审批站点列表中**

1. 打开 Firefox，然后打开 `about:config` 页面。

1. 打开 `network.negotiate-auth.trusted-uris` 首选项，然后将访问 URL 添加到站点列表中。使用逗号 (,) 分隔多个条目。

### 单点登录的自动更新
<a name="firefox_sso_script"></a>

作为域管理员，可以使用脚本在网络上的所有计算机上将访问 URL 添加到 Firefox `network.negotiate-auth.trusted-uris` 用户首选项。欲了解更多信息，请访问 [https://support.mozilla。 org/en-US/questions/939037](https://support.mozilla.org/en-US/questions/939037)。