

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

# 身分驗證
<a name="authentication"></a>

 使用 WorkSpaces 應用程式時，身分驗證可以在 Amazon WorkSpaces 應用程式之外進行，或做為 WorkSpaces 應用程式服務的一部分進行。選擇對 WorkSpaces 應用程式部署進行身分驗證的方式，是設計的基本考量。組織針對不同的使用案例進行多個 WorkSpaces 應用程式部署並不常見。每個使用案例可以有不同的身分驗證方法。

 WorkSpaces 應用程式的身分驗證方法有三種類型：
+  [https://en.wikipedia.org/wiki/SAML_2.0](https://en.wikipedia.org/wiki/SAML_2.0) 
+  [https://docs.aws.amazon.com/cognito/latest/developerguide/authentication.html](https://docs.aws.amazon.com/cognito/latest/developerguide/authentication.html) 
+  程式設計 

## 判斷最佳化方法
<a name="determining-optimized-method"></a>

 Amazon WorkSpaces 應用程式架構靈活，適用於大多數的組織設計需求。判斷最佳化的身分驗證方法時，最佳實務是考慮使用服務的使用者的目標和目的，以及組織政策和程序。

 以下是結合使用案例與組織目標的一些範例。

 *表 4 — 具有組織目標的使用案例* 


|  **範例**  |  **Description**  |  **身分驗證**  | 
| --- | --- | --- | 
|  需要加入網域的機群執行個體  |  安裝在 WorkSpaces 應用程式映像上的應用程式只能存取加入網域的資源。 |  SAML 2.0  | 
|  與 Microsoft 服務高度整合  |  對開發 Microsoft 群組政策和後端基礎設施的組織依賴性  |  SAML 2.0  | 
|  現有企業單一登入 (SSO)  |  所有新服務都必須利用已建立數個報告和安全程序的企業 SSO 解決方案。 |  SAML 2.0  | 
|  應用程式的智慧卡支援  |  智慧卡 （例如私有身分驗證和通用存取卡），用於透過智慧卡讀取器串流應用程式進行工作階段內身分驗證。 |  SAML 2.0  | 
|  具有臨時人員配置的季節性人力  |  在一年中的幾個月內，臨時工作者會被指派一組不包含內部資源以完成活動的小型應用程式。 |  使用者集區  | 
|  有限的 IT 支援  |  擁有少於 50 個使用者和有限 IT 人員的小型組織，希望消除維護身分提供者 (IdP) 的額外負荷  |  使用者集區  | 
|  獨立軟體廠商 (ISV)  |  由您的組織建置的專屬解決方案，其中包含使用者權利和身分驗證，將 WorkSpaces 應用程式延伸為解決方案的一部分。\*  |  程式設計  | 
|  技術展示  |  完全暫時性的環境，展示專屬技術做為 解決方案導覽的一部分，無需儲存使用者資訊。 |  程式設計  | 
|  互動式網站體驗  |  讓您的網站與串流 Windows 應用程式互動。\*\*  |  程式設計  | 

 \*請參閱[https://aws.amazon.com/appstream2/getting-started/isv-workshops/](https://aws.amazon.com/appstream2/getting-started/isv-workshops/)，以取得詳細資訊。

 \*\*如需詳細資訊，請參閱[https://docs.aws.amazon.com/appstream2/latest/developerguide/embed-streaming-sessions.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/embed-streaming-sessions.html)。

 如果您的組織具有未列在先前提供範例中的使用案例或政策，最佳實務是預測 WorkSpaces 應用程式工作流程耗用量的所需結束狀態，以確保身分驗證解決方案不會與其衝突。

## 設定您的身分提供者
<a name="configuring-your-identity-provider"></a>

### SAML 2.0
<a name="saml-2.0"></a>

 安全聲明標記語言 (SAML) 2.0 是常見的部署選項，[https://aws.amazon.com/identity/saml/](https://aws.amazon.com/identity/saml/)。各種[https://docs.aws.amazon.com/appstream2/latest/developerguide/external-identity-providers-further-info.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/external-identity-providers-further-info.html)支援 WorkSpaces 應用程式 。無論您的 WorkSpaces 應用程式資源是否加入網域，SAML 2.0 IdP 都需要您使用 [ IAM](https://aws.amazon.com/iam/)。

由於大多數 IdPs會為每個 SAML 應用程式產生具有特定 SAML 屬性的唯一中繼資料.xml，因此每個 WorkSpaces 應用程式堆疊都需要與 SAML IdP 具有信任關係的角色，以及具有單一許可以 appstream：Stream 的條件符合 SAML IdP 和 WorkSpaces 應用程式堆疊的 ARN。

WorkSpaces 應用程式管理指南提供單一 WorkSpaces 應用程式堆疊設計的範例組態。對於多個堆疊部署，請參閱使用 [SAML 2.0 多堆疊應用程式目錄](https://docs.aws.amazon.com/appstream2/latest/developerguide/application-entitlements-saml.html#saml-application-catalog)的選用步驟。

### 使用者集區
<a name="user-pool"></a>

 WorkSpaces 應用程式中的**使用者集**區索引標籤是小型概念驗證的有效選項。最佳實務是避免使用者集區用於使用 WorkSpaces 應用程式交付生產應用程式的任何使用案例和組織。

 使用者集區需要注意的一個重要事項是，使用者的電子郵件地址區分大小寫；因此最佳實務是確保使用者了解如何正確輸入使用者登入資料。

### 串流 URL
<a name="streaming-url"></a>

 對於從集中式服務 （通常是 ISVs) 呼叫 WorkSpaces 應用程式資源的部署，程式設計身分驗證依賴應用程式對 進行程式設計呼叫 AWS ，以動態傳遞資訊並為使用者建立 WorkSpaces 應用程式工作階段。使用 [https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) 操作建立串流 URLs 時，請使用 API 身分驗證方法 （通常稱為「程式設計」)。進行`CreateStreamingURL`呼叫的使用者必須使用具有 許可的有效使用者或角色`appstream:CreateStreamingURL`。

 建立程式設計存取的政策時，最佳實務是透過在**資源**區段中指定確切的 WorkSpaces 應用程式堆疊 ARN 來保護存取，而不是預設的「\*」。例如：

**Example**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "appstream:createStreamingURL"
            ],
            "Resource": "arn:aws:appstream:us-east-1:031421429609:stack/BestPracticesStack"
        }
    ]
}
```

**注意**  
您可以使用描述堆疊 [API](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_DescribeStacks.html) 或 AWS CLI，快速擷取 WorkSpaces 應用程式堆疊的 ARNs。 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appstream/describe-stacks.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appstream/describe-stacks.html)

 WorkSpaces 應用程式執行個體應以一般執行個體開始。透過從應用程式傳遞給該應用程式的資訊，WorkSpaces 應用程式執行個體會使用[https://docs.aws.amazon.com/appstream2/latest/developerguide/managing-stacks-fleets.html#managing-stacks-fleets-parameters](https://docs.aws.amazon.com/appstream2/latest/developerguide/managing-stacks-fleets.html#managing-stacks-fleets-parameters)來建立環境，讓使用者的實物變得動態。

 雖然本機 GPOs可用來在使用者登入時指定設定，但工作階段內容是使用 時最佳實務`CreateStreamingURL`，並傳遞要在 WorkSpaces 應用程式工作階段中使用的金鑰屬性，例如客戶 ID 或資料庫連線設定。

### 應用程式權利
<a name="application-entitlement"></a>

WorkSpaces 應用程式可以動態建置提供給使用者的應用程式目錄。應用程式權利是根據 SAML 2.0 屬性，或使用 WorkSpaces 應用程式動態應用程式架構。

在大多數情況下，建議使用 SAML 2.0 的屬性型應用程式權利。若要管理應用程式套件交付，建議使用動態應用程式架構。