

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 憑證型身分驗證
<a name="certificate-based-authentication"></a>

您可以將憑證型身分驗證與加入 Microsoft Active Directory 的 WorkSpaces 應用程式機群搭配使用。若使用這種方式，就不會在使用者登入時提示使用者輸入 Active Directory 網域密碼。使用憑證型身分驗證搭配 Active Directory 網域，您可以：
+ 依賴 SAML 2.0 身分提供者來驗證使用者，並提供 SAML 聲明以比對 Active Directory 中的使用者。
+ 建立較少使用者提示的單一登入體驗。
+ 使用 SAML 2.0 身分提供者啟用無密碼身分驗證流程。

憑證型身分驗證會在您的 中使用 AWS 私有憑證授權機構 (AWS Private CA) 資源 AWS 帳戶。使用 AWS 私有 CA，您可以建立私有憑證授權機構 (CA) 階層，包括根 CA 和次級 CAs。您也可以建立自己的 CA 階層並從中發行憑證，以驗證內部使用者。如需詳細資訊，請參閱[什麼是 AWS 私有 CA](https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html) 。

當您使用 AWS 私有 CA 進行憑證型身分驗證時，WorkSpaces 應用程式會在工作階段保留時，為每個 WorkSpaces 應用程式機群執行個體自動為您的使用者請求憑證。它會使用隨憑證佈建的虛擬智慧卡，對 Active Directory 進行使用者身分驗證。

執行 Windows 執行個體的 WorkSpaces 應用程式加入網域的機群 （單一工作階段和多工作階段機群） 都支援憑證型身分驗證 (CBA)。若要在多工作階段機群上啟用 CBA，您必須使用 WorkSpaces 應用程式映像，該映像使用 02-07-2025 當天或之後發行的 WorkSpaces 應用程式代理程式。或者，您的映像必須使用 02-11-2025 當天或之後發行的受管 WorkSpaces 應用程式映像更新。

**Topics**
+ [先決條件](certificate-based-authentication-prereq.md)
+ [啟用憑證型身分驗證](certificate-based-authentication-enable.md)
+ [管理憑證型身分驗證](certificate-based-authentication-manage.md)
+ [啟用跨帳戶 PCA 共用](pca-sharing.md)

# 先決條件
<a name="certificate-based-authentication-prereq"></a>

使用憑證型身分驗證之前，請先完成下列步驟。

1. 設定加入網域的機群並設定 SAML 2.0。確認針對 SAML\$1Subject `NameID` 使用 `username@domain.com` `userPrincipalName` 格式。如需詳細資訊，請參閱[步驟 5：建立 SAML 身分驗證回應聲明](external-identity-providers-setting-up-saml.md#external-identity-providers-create-assertions)。
**注意**  
如果您想要使用憑證型身分驗證，則不要在堆疊中啟用 **Active Directory 的智慧卡登入**。如需詳細資訊，請參閱[智慧卡](feature-support-USB-devices-qualified.md#feature-support-USB-devices-qualified-smart-cards)。

1. 搭配映像使用 WorkSpaces 應用程式代理程式 10-13-2022 版或更新版本。如需詳細資訊，請參閱[讓您的 Amazon WorkSpaces 應用程式映像保持在Up-to-Date狀態](keep-image-updated.md)。

1. 在您的 SAML 聲明中設定 `ObjectSid` 屬性。您可以使用此屬性執行與 Active Directory 使用者的強式映射。如果 `ObjectSid` 屬性不符合 SAML\$1Subject `NameID` 中指定之使用者的 Active Directory 安全識別碼 (SID)，則憑證型身分驗證會失敗。如需詳細資訊，請參閱[步驟 5：建立 SAML 身分驗證回應聲明](external-identity-providers-setting-up-saml.md#external-identity-providers-create-assertions)。2025 年 9 月 10 日之後，憑證型身分驗證`ObjectSid`必須使用 。如需詳細資訊，請參閱 [KB5014754：Windows 網域控制站上的憑證型身分驗證變更](https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16)。

1. 將 `sts:TagSession` 許可新增至您搭配 SAML 2.0 組態使用的 IAM 角色信任政策。如需詳細資訊，請參閱[在 AWS STS中傳入工作階段標籤](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html.html)。需有此許可才能使用憑證型身分驗證。如需詳細資訊，請參閱[步驟 2：建立 SAML 2.0 聯合 IAM 角色](external-identity-providers-setting-up-saml.md#external-identity-providers-grantperms)。

1. 如果您沒有使用 Active Directory 設定私有憑證授權機構 (CA)，請使用 AWS 私有憑證授權機構。 AWS 私有憑證授權機構需要使用憑證型身分驗證。如需詳細資訊，請參閱[規劃您的 AWS 私有 CA 部署](https://docs.aws.amazon.com/privateca/latest/userguide/PcaPlanning.html)。下列 AWS 私有 CA 設定在許多憑證型身分驗證使用案例中很常見：
   + **CA 類型選項**
     + **短期憑證 CA 使用模式**：如果 CA 僅發行最終使用者憑證以進行憑證型身分驗證，則建議此選項。
     + **具有根 CA 的單一層級階層**：選擇從屬 CA，以將它與現有 CA 階層整合。
   + **金鑰演算法選項**：RSA 2048
   + **主體辨別名稱選項**：使用最適合的選項來識別 Active Directory 受信任的根憑證授權單位存放區中的此 CA。
   + **憑證撤銷選項**：CRL 散發
**注意**  
憑證型身分驗證需要可從 WorkSpaces 應用程式機群執行個體和網域控制器存取的線上 CRL 分佈點。這需要未經驗證存取針對 AWS 私有 CA CRL 項目設定的 Amazon S3 儲存貯體，或者在封鎖公開存取的情況下，則需要可存取 S3 儲存貯體的 CloudFront 散發。如需這些選項的詳細資訊，請參閱[規劃憑證撤銷清單 (CRL)](https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html)。

1. 使用有權指定 CA `euc-private-ca` 以搭配 WorkSpaces 應用程式憑證型身分驗證使用的金鑰來標記您的私有 CA。此金鑰不需要值。如需詳細資訊，請參閱[管理私有 CA 的標籤](https://docs.aws.amazon.com/privateca/latest/userguide/PcaCaTagging.html)。如需與 WorkSpaces 應用程式搭配使用的 AWS 受管政策的詳細資訊，以授予 中 資源的許可 AWS 帳戶，請參閱 [AWS 存取 WorkSpaces 應用程式資源所需的受管政策](managed-policies-required-to-access-appstream-resources.md)。

1. 憑證型身分驗證會使用虛擬智慧卡進行登入。如需詳細資訊，請參閱[使用第三方憑證授權單位啟用智慧卡登入的指引](https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities)。請遵循下列步驟：

   1. 使用網域控制站憑證設定網域控制站，以驗證智慧卡使用者。如果您在 Active Directory 中設定了 Active Directory Certificate Services 企業 CA，它會自動使用啟用智慧卡登入的憑證註冊網域控制站。如果您沒有 Active Directory Certificate Services，請參閱[要求來自第三方 CA 的網域控制站憑證](https://learn.microsoft.com/en-US/troubleshoot/windows-server/windows-security/requirements-domain-controller)。 AWS 建議 Active Directory 企業憑證授權單位自動管理網域控制站憑證的註冊。
**注意**  
如果您使用 AWS Managed Microsoft AD，您可以在滿足網域控制站憑證需求的 Amazon EC2 執行個體上設定 Certificate Services。如需使用 [Active Directory Certificate Services 設定的 Managed Microsoft AD 部署範例，請參閱將 Active Directory 部署至新的 Amazon Virtual Private Cloud](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-ad-deploying-new-vpc.html)。 AWS   
使用 AWS Managed Microsoft AD 和 Active Directory Certificate Services，您還必須建立從控制器的 VPC 安全群組到執行 Certificate Services 的 Amazon EC2 執行個體的傳出規則。您必須提供安全群組對 TCP 連接埠 135 和連接埠 49152 到 65535 的存取權，才能啟用憑證自動註冊。Amazon EC2 執行個體也必須在這些連接埠上允許來自網域執行個體 (包括網域控制站) 的傳入存取。如需尋找 AWS Managed Microsoft AD 安全群組的詳細資訊，請參閱[設定 VPC 子網路和安全群組](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_setup_trust_prepare_mad.html#tutorial_setup_trust_open_vpc)。

   1. 在 AWS 私有 CA 主控台上，或使用 SDK 或 CLI 匯出私有 CA 憑證。如需詳細資訊，請參閱[匯出私有憑證](https://docs.aws.amazon.com/acm/latest/userguide/export-private.html)。

   1. 將私有 CA 發佈至 Active Directory。登入網域控制站或加入網域的電腦。將私有 CA 憑證複製到任何 `<path>\<file>`，並以網域管理員的身分執行下列命令。您也可以使用群組政策和 Microsoft PKI Health 工具 (PKIView) 來發佈 CA。如需詳細資訊，請參閱[組態指示](https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities#configuration-instructions)。

      ```
      certutil -dspublish -f <path>\<file> RootCA
      ```

      ```
      certutil -dspublish -f <path>\<file> NTAuthCA
      ```

      確定命令已順利完成，然後移除私有 CA 憑證檔案。根據您的 Active Directory 複寫設定，CA 可能需要幾分鐘的時間才能發佈到您的網域控制器和 WorkSpaces 應用程式機群執行個體。
**注意**  
Active Directory 在加入網域時，必須將 CA 自動分發到 WorkSpaces 應用程式機群執行個體的信任根憑證授權機構和企業 NTAuth 存放區。

對於 Windows 作業系統，CA （憑證授權單位） 的分佈會自動發生。不過，對於 Rocky Linux 和 Red Hat Enterprise Linux (Rocky Linux)，您必須從 WorkSpaces 應用程式目錄組態所使用的 CA 下載根 CA 憑證。如果您的 KDC 根 CA 憑證 (KDC root CA) 不同，您也必須下載這些憑證。在使用憑證型身分驗證之前，必須將這些憑證匯入映像或快照。

在影像上，應該有一個名為 / 的檔案`etc/sssd/pki/sssd_auth_ca_db.pem`。它看起來應該如下所示：

```
-----BEGIN CERTIFICATE-----
Base64-encoded certificate chain from ACM Private CA 
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate body from ACM private CA
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded root CA KDC certificate chain
-----END CERTIFICATE-----
```

**注意**  
跨區域或帳戶複製映像，或重新建立映像與新 Active Directory 的關聯時，將需要使用映像建置器上的相關憑證重新設定此檔案，並在使用前再次快照。

以下是下載根 CA 憑證的指示：

1. 在映像建置器上，建立名為 的檔案`/etc/sssd/pki/sssd_auth_ca_db.pem`。

1. 開啟 [AWS Private CA 主控台](https://console.aws.amazon.com/acm-pca/)。

1. 選擇與 WorkSpaces 應用程式目錄組態搭配使用的私有憑證。

1. 選擇 **CA 憑證**索引標籤。

1. 在映像建置器上將憑證鏈和憑證內文複製到 `/etc/sssd/pki/sssd_auth_ca_db.pem` 。

如果 KDCs 使用的根 CA 憑證與 WorkSpaces 應用程式目錄組態使用的根 CA 憑證不同，請依照這些範例步驟下載它們：

1. 連線至與映像建置器加入相同網域的 Windows 執行個體。

1. 打開 `certlm.msc`。

1. 在左側窗格中，選擇**信任的根憑證授權機構**，然後選擇**憑證**。

1. 對於每個根 CA 憑證，開啟內容 （按一下滑鼠右鍵） 選單。

1. 選擇**所有任務**，選擇**匯出**以開啟憑證匯出精靈，然後選擇**下一步**。

1. 選擇 **Base64-encoded的 X.509 (.CER)**，然後選擇**下一步**。

1. 選擇**瀏覽**、輸入檔案名稱，然後選擇**下一步**。

1. 選擇**完成**。

1. 在文字編輯器中開啟匯出的憑證。

1. 將檔案的內容複製到映像建置器`/etc/sssd/pki/sssd_auth_ca_db.pem`上的 。

# 啟用憑證型身分驗證
<a name="certificate-based-authentication-enable"></a>

完成下列步驟，以啟用憑證型身分驗證。

**啟用憑證型身分驗證**

1. 在 https：//[https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) 開啟 WorkSpaces 應用程式主控台。

1. 在導覽窗格中，選擇**目錄組態**。選取您要設定的目錄組態，然後選擇**編輯**。

1. 選擇**啟用憑證型身分驗證**。

1. 確認清單中已關聯您的私有 CA ARN。若要顯示在清單中，您應該將私有 CA 存放在相同的 AWS 帳戶 和 中 AWS 區域。您也必須使用名為 `euc-private-ca` 的金鑰標記私有 CA。

1. 設定目錄登入後援。若使用後援，使用者就可在憑證型身分驗證失敗時，使用自己的 AD 網域密碼登入。只有在使用者知道自己的網域密碼的情況下，才建議使用此方式。當後援關閉時，如果發生鎖定畫面或 Windows 登出，工作階段可能會中斷使用者的連線。如果開啟後援，工作階段會提示使用者輸入其 AD 網域密碼。

1. 選擇 **Save Changes** (儲存變更)。

1. 憑證型身分驗證現已啟用。當使用者從 WorkSpaces 應用程式 Web 用戶端或 Windows 用戶端 (1.1.1099 版及更新版本） 使用加入網域的機群向 WorkSpaces 應用程式堆疊進行 SAML 2.0 驗證時，他們將不再收到網域密碼的提示。使用者連線至已啟用憑證型身分驗證的工作階段時，將會看到「正在使用憑證型身分驗證連線...」的訊息。

# 管理憑證型身分驗證
<a name="certificate-based-authentication-manage"></a>

啟用憑證型身分驗證後，請檢閱下列任務。

**Topics**
+ [私有 CA 憑證](certificate-based-authentication-manage-CA.md)
+ [最終使用者憑證](certificate-based-authentication-manage-certs.md)
+ [稽核報告](certificate-based-authentication-manage-audit.md)
+ [記錄和監控](certificate-based-authentication-manage-logging.md)

# 私有 CA 憑證
<a name="certificate-based-authentication-manage-CA"></a>

在一般組態中，私有 CA 憑證的有效期為 10 年。如需有關取代憑證已過期的私有 CA，或重新簽發具有新有效期的私有 CA 的詳細資訊，請參閱[管理私有 CA 生命週期](https://docs.aws.amazon.com/privateca/latest/userguide/ca-lifecycle.html)。

# 最終使用者憑證
<a name="certificate-based-authentication-manage-certs"></a>

Private AWS CA for WorkSpaces 應用程式憑證型身分驗證發行的最終使用者憑證不需要續約或撤銷。這些憑證都短期的。WorkSpaces 應用程式會自動為每個新工作階段發行新憑證，或為持續時間較長的工作階段每 24 小時發行一次新憑證。WorkSpaces 應用程式工作階段會管理這些最終使用者憑證的使用。如果您結束工作階段，WorkSpaces 應用程式會停止使用該憑證。這些最終使用者憑證的有效期比一般 AWS Private CA CRL 分佈短。因此，最終使用者憑證不需要撤銷，也不會出現在 CRL 中。

# 稽核報告
<a name="certificate-based-authentication-manage-audit"></a>

您可以建立稽核報告，以列出私有 CA 已發行或撤銷的所有憑證。如需詳細資訊，請參閱[使用包含您私有 CA 的稽核報告](https://docs.aws.amazon.com/privateca/latest/userguide/PcaAuditReport.html)。

# 記錄和監控
<a name="certificate-based-authentication-manage-logging"></a>

您可以使用 CloudTrail 記錄 WorkSpaces 應用程式對私有 CA 的 API 呼叫。如需詳細資訊，請參閱[什麼是 AWS CloudTrail？](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)和[使用 CloudTrail](https://docs.aws.amazon.com/privateca/latest/userguide/PcaCtIntro.html)。在 CloudTrail 事件歷史記錄中，您可以從 WorkSpaces **EcmAssumeRoleSession**使用者名稱製作的 **acm-pca.amazonaws.com** 事件來源檢視 **GetCertificate** 和 **IssueCertificate** 事件名稱。系統會為每個 WorkSpaces 應用程式憑證型身分驗證請求記錄這些事件。如需詳細資訊，請參閱[「使用 CloudTrail 事件歷史記錄檢視事件」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

# 啟用跨帳戶 PCA 共用
<a name="pca-sharing"></a>

私有 CA (PCA) 跨帳戶共用可讓其他帳戶授予使用集中式 CA 的許可。CA 可以使用 [AWS Resource Access Manager](https://aws.amazon.com/ram/) (RAM) 來產生和發行憑證，以管理許可。這消除了每個帳戶中私有 CA 的需求。私有 CA 跨帳戶共用可與 WorkSpaces 應用程式憑證型身分驗證 (CBA) 搭配使用 AWS 區域。

若要搭配 WorkSpaces 應用程式 CBA 使用共用私有 CA 資源，請完成下列步驟：

1. 在集中式 中設定 CBA 的私有 CA AWS 帳戶。如需詳細資訊，請參閱[憑證型身分驗證](certificate-based-authentication.md)。

1. 與 WorkSpaces 應用程式資源利用 CBA AWS 帳戶 的資源共用私有 CA。若要這樣做，請遵循[如何使用 AWS RAM 來共用 ACM Private CA 跨帳戶](https://aws.amazon.com/blogs/security/how-to-use-aws-ram-to-share-your-acm-private-ca-cross-account/)中的步驟。您不需要完成步驟 3 即可建立憑證。您可以與個人共用私有 CA AWS 帳戶，或透過 共用 AWS Organizations。如果您與個別帳戶共用，則需要使用 AWS Resource Access Manager 主控台或 APIs 接受資源帳戶中的共用私有 CA。

   設定共用時，請確認 AWS Resource Access Manager 資源帳戶中私有 CA 的資源共用正在使用 `AWSRAMBlankEndEntityCertificateAPICSRPassthroughIssuanceCertificateAuthority`受管許可範本。此範本與發行 CBA 憑證時 WorkSpaces 應用程式服務角色所使用的 PCA 範本一致。

1. 共用成功後，請使用資源帳戶中的 Private CA 主控台來檢視共用的 Private CA。

1. 使用 API 或 CLI 將私有 CA ARN 與 WorkSpaces 應用程式目錄組態中的 CBA 建立關聯。目前，WorkSpaces 應用程式主控台不支援選取共用的私有 CA ARNs。以下是 CLI 命令範例：

   `aws appstream update-directory-config --directory-name <value> --certificate-based-auth-properties Status=<value>,CertificateAuthorityArn=<value>` 