

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

# 使用第三方 SAML 2.0 身分提供者的屬性型應用程式權利
<a name="application-entitlements-saml"></a>

應用程式權利控制對 WorkSpaces 應用程式堆疊內特定應用程式的存取。運作方式是使用來自第三方 SAML 2.0 身分提供者的 SAML 2.0 屬性聲明。當使用者身分聯合到 WorkSpaces 應用程式 2.0 SAML 應用程式時，聲明會與值相符。如果權利為 true，且屬性名稱和值相符，則使用者身分有權存取堆疊內的一或多個應用程式。

下列情況不適用使用第三方 SAML 2.0 身分提供者的屬性型應用程式權利。換句話說，在下列情況下會忽略權利：
+ WorkSpaces 應用程式使用者集區身分驗證。如需詳細資訊，請參閱[Amazon WorkSpaces 應用程式使用者集區](user-pool.md)。
+ WorkSpaces 應用程式串流 URL 身分驗證。如需詳細資訊，請參閱[串流 URL](use-client-start-streaming-session-streaming-URL.md)。
+ 為桌面串流檢視設定 WorkSpaces 應用程式機群時的桌面應用程式。 ****如需詳細資訊，請參閱[建立 Amazon WorkSpaces 應用程式機群和堆疊](set-up-stacks-fleets.md)。
+ 使用動態應用程序架構的堆疊。動態應用程式架構提供了不同的應用程式權利功能。如需詳細資訊，請參閱[使用動態應用程式架構的動態應用程式提供者的應用程式權利](dynamic-app-framework.md)。
+ 當使用者聯合到 WorkSpaces 應用程式目錄時，應用程式權利只會顯示使用者有權使用的應用程式。應用程式不會限制在 WorkSpaces 應用程式工作階段中執行。例如，在設定使用桌面串流檢視的機群中，使用者可以直接從桌面啟動應用程式。

## 建立應用程式權利
<a name="manage-application-entitlements"></a>

您必須先執行下列操作，才能建立應用程式權利：
+ 使用映像建立 WorkSpaces 應用程式機群和堆疊，其中包含一或多個應用程式 （永遠在線或隨需機群） 或指派的應用程式 （彈性機群），以滿足您的需求。如需詳細資訊，請參閱[建立 Amazon WorkSpaces 應用程式機群和堆疊](set-up-stacks-fleets.md)。
+ 使用第三方 SAML 2.0 身分提供者讓使用者存取堆疊。如需詳細資訊，請參閱[Amazon WorkSpaces 應用程式與 SAML 2.0 整合](external-identity-providers.md)。如果您使用先前設定的現有 SAML 2.0 身分提供者，請參閱 [步驟 2：建立 SAML 2.0 聯合 IAM 角色](external-identity-providers-setting-up-saml.md#external-identity-providers-grantperms) 中有關新增 sts:TagSession 許可至 IAM 角色信任政策的步驟。如需詳細資訊，請參閱[在 AWS STS中傳入工作階段標籤](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)。這是使用應用程式權利的必要許可。

**建立應用程式權利**

1. [開啟 WorkSpaces 應用程式主控台](managing-image-builders-connect-console.md)。

1. 在左側導覽窗格中，選擇**堆疊**，然後選取要管理其應用程式權利的堆疊。

1. 在**應用程式權利**對話方塊中，選擇**建立**。

1. 輸入權利的**名稱**和**說明**。

1. 定義權利的屬性名稱和值。

   映射屬性時，請以 https://aws.amazon.com/SAML/Attributes/PrincipalTag:\$1TagKey\$1 格式指定屬性，其中 \$1TagKey\$1 是下列其中一個屬性：
   + 角色
   + department
   + 組織
   + 群組
   + 標題
   + costCenter
   + userType

   您定義的屬性用於在使用者聯合到 WorkSpaces 應用程式工作階段時，將堆疊中的應用程式授予使用者。權利的運作方式是將屬性名稱與聯合期間建立的 SAML 聲明中的索引鍵值名稱進行比對。如需詳細資訊，請參閱 [SAML PrincipalTag 屬性](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-tags.html)。
**注意**  
任何支援的屬性都可包含一或多個值，須以冒號 (:) 分隔。  
例如，群組資訊可在值為「group1:group2:group3」的 SAML 屬性名稱 https://aws.amazon.com/SAML/Attributes/PrincipalTag:groups 中傳遞，而且您的權利可根據單一群組值 (即「group1」) 允許應用程式。如需詳細資訊，請參閱 [SAML PrincipalTag 屬性](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-tags.html)。

1. 在堆疊中設定應用程式設定，以授予所有應用程式的權利，或選取應用程式。選擇**所有應用程式 (\$1)** 會套用堆疊上所有可用的應用程式，包括後續新增的應用程式。選擇**選取應用程式**將會依特定應用程式名稱進行篩選。

1. 檢閱設定並建立權利。您可以重複此程序並建立其他權利。堆疊中應用程式的權利將是根據屬性名稱和值比對使用者之所有權利的聯集。

1. 在您的 SAML 2.0 身分提供者中，設定 WorkSpaces 應用程式 SAML 應用程式屬性映射，以傳送權利中定義的屬性和值。當使用者聯合到 WorkSpaces 應用程式目錄時，應用程式權利只會顯示使用者有權使用的應用程式。

## SAML 2.0 多堆疊應用程式目錄
<a name="saml-application-catalog"></a>

透過使用第三方 SAML 2.0 身分提供者的屬性型應用程式權利，就可以從單一轉送狀態 URL 存取多個堆疊。從轉送狀態 URL 移除堆疊和應用程式 (如有的話) 參數，如下所示：

```
https://relay-state-region-endpoint?accountId=aws-account-id-without-hyphens
```

當使用者聯合到 WorkSpaces 應用程式目錄時，他們將看到所有堆疊，其中應用程式權利已將一或多個應用程式與使用者比對，以取得與堆疊所在區域相關聯的帳戶 ID 和轉送狀態端點。當使用者選取目錄時，應用程式權利只會顯示使用者有權使用的應用程式。如需詳細資訊，請參閱[步驟 6：設定聯合的轉送狀態](external-identity-providers-setting-up-saml.md#external-identity-providers-relay-state)。

**注意**  
若要使用 SAML 2.0 多堆疊應用程式目錄，您需要為 SAML 2.0 聯合 IAM 角色設定內嵌政策。如需詳細資訊，請參閱[步驟 3：為 IAM 角色嵌入內嵌政策](external-identity-providers-setting-up-saml.md#external-identity-providers-embed-inline-policy-for-IAM-role)。