設定 SAML 2.0 並建立 WorkSpaces 集區目錄 - Amazon WorkSpaces

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

設定 SAML 2.0 並建立 WorkSpaces 集區目錄

您可以使用 2.0 SAML 設定聯合身分,在 WorkSpaces 集 WorkSpaces 區中啟用 WorkSpaces 用戶端應用程式註冊和登入 。若要這樣做,您可以使用 AWS Identity and Access Management (IAM) 角色和轉送狀態URL來設定 2 AWS.0 SAML 身分提供者 (IdP) 並為其啟用。這會授予聯合身分使用者對 WorkSpace 集區目錄的存取權。轉送狀態是使用者成功登入後轉送至的 WorkSpaces 目錄端點 AWS。

重要

WorkSpaces 集區不支援 IP 型 SAML 2.0 組態。

步驟 1:考量需求

SAML 設定 WorkSpaces 集區目錄時,適用下列要求。

  • workspaces_DefaultRole IAM 角色必須存在於您的帳戶中 AWS 。當您使用 WorkSpaces Quick Setup 或先前 WorkSpace 使用 啟動 時,會自動建立此角色 AWS Management Console。它授予 Amazon WorkSpaces 代表您存取特定 AWS 資源的許可。如果角色已存在,您可能需要將 AmazonWorkSpacesPoolServiceAccess 受管政策連接至該角色,Amazon WorkSpaces 會使用該政策來存取 AWS 帳戶中的 WorkSpaces 集區所需資源。如需詳細資訊,請參閱 建立 workspaces_DefaultRole RoleAWS 受管政策: AmazonWorkSpacesPoolServiceAccess

  • 您可以在支援 SAML 功能的 中為 WorkSpaces 集區設定 2 AWS 區域 .0 身分驗證。如需詳細資訊,請參閱AWS 區域 WorkSpaces 集區的 和 可用區域

  • 若要搭配 SAML 使用 2.0 身分驗證 WorkSpaces,IdP 必須支援SSO使用深度連結目標資源或轉送狀態端點 啟動的主動 IdPURL。 IdPs 支援此功能的範例包括 ADFS、Azure AD、Duo Single Sign-On PingFederate、Okta 和 PingOne。如需詳細資訊,請參閱 IdP 文件。

  • SAML 2.0 身分驗證僅支援下列 WorkSpaces 用戶端。如需最新的 WorkSpaces 用戶端,請參閱 Amazon WorkSpaces 用戶端下載頁面

    • Windows 用戶端應用程式 5.20.0 版或更新版本

    • macOS 用戶端 5.20.0 版或更新版本

    • Web Access

步驟 2:完成事前準備

在設定 2.0 IdP SAML 連線至 WorkSpaces 集區目錄之前,請先完成下列先決條件。

  • 設定 IdP 來與 AWS建立信任關係

  • 如需設定 AWS 聯合的詳細資訊,請參閱將第三方SAML解決方案供應商與 整合 AWS。相關範例包括與 的 IdP 整合IAM,以存取 AWS Management Console。

  • 使用 IdP 來產生並下載聯合中繼資料文件,以將您的組織描述為 IdP。此簽署XML的文件用於建立依賴方信任。將此檔案儲存至稍後可從IAM主控台存取的位置。

  • 使用 WorkSpaces 主控台建立 WorkSpaces 集區目錄。如需詳細資訊,請參閱搭配 WorkSpaces 集區使用 Active Directory

  • 為可以使用支援的目錄類型登入 IdP 的使用者建立 WorkSpaces 集區。如需詳細資訊,請參閱建立 WorkSpaces 集區

步驟 3:在 中建立SAML身分提供者 IAM

若要開始使用,您必須在 中建立 SAML IdPIAM。此 IdP 使用組織中 IdP 軟體產生的中繼資料文件來定義組織的 IdP 對AWS 信任關係。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的建立和管理SAML身分提供者。如需在 SAML IdPs 中使用 的詳細資訊 AWS GovCloud (US) Regions,請參閱AWS GovCloud (US) 《 使用者指南AWS Identity and Access Management》中的 。

步驟 4:建立 WorkSpace 集區目錄

完成下列程序以建立 WorkSpaces 集區目錄。

  1. 在 開啟 WorkSpaces 主控台https://console.aws.amazon.com/workspaces/

  2. 在導覽窗格中選擇目錄

  3. 選擇建立目錄

  4. 針對WorkSpace 類型,選擇集區

  5. 在頁面的使用者身分來源區段中:

    1. 使用者存取URL文字方塊中輸入預留位置值。例如,在文字方塊placeholder中輸入 。在 IdP 中設定應用程式權利之後,稍後您將編輯此項目。

    2. 轉送狀態參數名稱文字方塊保留空白。在 IdP 中設定應用程式權利之後,稍後您將編輯此項目。

  6. 在頁面的目錄資訊區段中,輸入目錄的名稱和描述。目錄名稱和描述必須小於 128 個字元,可包含英數字元和下列特殊字元:_ @ # % * + = : ? . / ! \ -。目錄名稱和描述不能以特殊字元開頭。

  7. 在頁面的聯網和安全性區段中:

    1. 選擇可存取應用程式所需網路資源的 VPC和 2 個子網路。為了提高容錯能力,您應該選擇不同可用區域中的兩個子網路。

    2. 選擇允許 在 中 WorkSpaces 建立網路連結的安全群組VPC。安全群組控制允許哪些網路流量從 流 WorkSpaces 向 VPC。例如,如果您的安全群組限制所有傳入HTTPS連線,存取 Web 入口網站的使用者將無法從 載入HTTPS網站 WorkSpaces。

  8. Active Directory Config 區段為選用。不過,如果您計劃在 WorkSpaces 集區中使用 AD,您應該在建立 WorkSpaces 集區目錄期間指定 Active Directory (AD) 詳細資訊。您無法在建立 WorkSpaces 集區目錄之後編輯該目錄的 Active Directory Config。如需為 WorkSpaces 集區目錄指定 AD 詳細資訊的詳細資訊,請參閱 為您的 WorkSpaces 集區目錄指定 Active Directory 詳細資訊。完成該主題中概述的程序後,您應該返回此主題以完成建立 WorkSpaces 集區目錄。

    如果您不打算搭配 WorkSpaces 集區使用 AD,可以略過 Active Directory Config 區段。

  9. 在頁面的串流屬性區段中:

    • 選擇剪貼簿許可行為,並輸入複製到本機字元限制 (選用),然後貼到遠端工作階段字元限制 (選用)。

    • 選擇允許或不允許列印到本機裝置。

    • 選擇允許或不允許診斷記錄。

    • 選擇允許或不允許智慧卡登入。此功能僅適用於您在此程序中稍早啟用 AD 組態的情況。

  10. 在頁面的儲存區段中,您可以選擇啟用主資料夾。

  11. 在頁面IAM的角色區段中,選擇要供所有桌面串流執行個體使用IAM的角色。若要建立新的角色,請選擇建立新IAM角色

    當您將IAM角色從您的帳戶套用到 WorkSpace 集區目錄時,您可以從 WorkSpace 集 WorkSpace 區中的 提出 AWS API請求,而無需手動管理 AWS 憑證。如需詳細資訊,請參閱《 使用者指南IAM》中的建立角色以將許可委派給使用者。 AWS Identity and Access Management

  12. 選擇建立目錄

步驟 5:建立 SAML 2.0 聯合IAM角色

完成下列程序,在 IAM主控台中建立 SAML 2.0 聯合IAM角色。

  1. 開啟位於 IAM 的 https://console.aws.amazon.com/iam/ 主控台。

  2. 在導覽窗格中,選擇 Roles (角色)

  3. 選擇建立角色。

  4. 為信任的實體類型選擇 SAML 2.0 聯合。

  5. 針對以 SAML 2.0 為基礎的提供者,選擇您在 中建立的身分提供者。 IAM如需詳細資訊,請參閱在 中建立SAML身分提供者IAM

  6. 選擇僅允許以程式設計方式存取,以允許存取。

  7. 為 屬性選擇 SAML:sub_type

  8. 針對數值,輸入 https://signin.aws.amazon.com/saml。此值限制角色對SAML使用者串流請求的存取,其中包含具有 值SAML的主題類型聲明persistent。如果 SAML:sub_type 為持久性,您的 IdP 會為來自特定使用者的所有SAML請求中的 NameID元素傳送相同的唯一值。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的在 SAML型聯合中唯一識別使用者

  9. 選擇 Next (下一步) 繼續。

  10. 請勿在新增許可頁面進行變更或選擇。選擇 Next (下一步) 繼續。

  11. 輸入角色的名稱和描述。

  12. 選擇建立角色

  13. 角色頁面中,選擇您必須建立的角色。

  14. 選擇信任關係標籤。

  15. 選擇編輯信任政策

  16. 編輯信任政策JSON文字方塊中,將 sts:TagSession 動作新增至信任政策。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的在 中傳遞工作階段標籤 AWS STS

    結果應如下列範例所示。

    信任政策的範例。
  17. 選擇更新政策

  18. 選擇許可索引標籤標籤。

  19. 在頁面的許可政策區段中,選擇新增許可,然後選擇建立內嵌政策

  20. 在頁面的政策編輯器區段中,選擇 JSON

  21. 政策編輯器JSON文字方塊中,輸入下列政策。請務必取代:

    • <region-code> 使用您建立 WorkSpace 集區目錄之 AWS 區域的程式碼。

    • <account-id> 帳戶 AWS ID。

    • <directory-id> 以及您先前建立之目錄的 ID。您可以在 主控台中 WorkSpaces取得此項目。

    對於 中的資源 AWS GovCloud (US) Regions,請使用下列格式:ARNarn:aws-us-gov:workspaces:<region-code>:<account-id>:directory/<directory-id>

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "workspaces:Stream", "Resource": "arn:aws:workspaces:<region-code>:<account-id>:directory/<directory-id>", "Condition": { "StringEquals": {"workspaces:userId": "${saml:sub}"} } } ] }
  22. 選擇 Next (下一步)

  23. 輸入政策名稱,然後選擇 Create policy (建立政策)

步驟 6:設定 2.0 SAML 身分提供者

視您的 SAML 2.0 IdP 而定,您可能需要手動更新 IdP 以信任 AWS 作為服務提供者。您可以下載 saml-metadata.xml 找到saml-metadata.xml的檔案,然後將其上傳至您的 IdP。 https://signin.aws.amazon.com/static/這會更新 IdP 的中繼資料。

對於某些 IdPs,可能已設定更新。如果已設定此步驟,您可以略過此步驟。如果更新尚未在您的 IdP 中設定,請檢閱 IdP 提供的文件,以取得如何更新中繼資料的資訊。有些提供者可讓您選擇在儀表板中輸入 XML 檔案URL的 ,而 IdP 會為您取得並安裝 檔案。其他 需要您從 下載檔案,URL然後將其上傳至其儀表板。

重要

此時,您也可以授權 IdP 中的使用者存取您在 WorkSpacesIdP 中設定的應用程式。有權存取您目錄 WorkSpaces 應用程式的使用者不會自動為其建立 WorkSpace。同樣地,為他們 WorkSpace 建立 的使用者不會自動獲得存取 WorkSpaces 應用程式的授權。若要 WorkSpace 使用 SAML 2.0 身分驗證成功連線至 ,使用者必須獲得 IdP 的授權,且必須建立 WorkSpace 。

步驟 7:建立身分SAML驗證回應的聲明

在身分驗證回應中,設定 IdP 傳送給 的資訊 AWS 做為SAML屬性。根據您的 IdP,可能已設定。如果已設定此步驟,您可以略過此步驟。如果尚未設定,請提供下列項目:

  • SAML Subject NameID — 登入使用者的唯一識別符。請勿變更此欄位的格式/值。否則,主資料夾功能將無法如預期運作,因為使用者將被視為不同的使用者。

    注意

    對於加入網域的 WorkSpaces 集區,必須以使用 的domain\username格式提供使用者的值sAMAccountName,或以使用 的username@domain.com格式提供使用者NameID的值userPrincipalName,或僅提供 userName。如果您使用的是 sAMAccountName 格式,您可以使用 NetBIOS 名稱或完整網域名稱 () 來指定網域FQDN。Active Directory 單向信任案例需要 sAMAccountName 格式。如需詳細資訊,請參閱 搭配 WorkSpaces 集區使用 Active Directory。如果只userName提供 ,則使用者將登入主要網域

  • SAML 主旨類型 (將值設為 persistent) — 設定值,persistent以確保 IdP 在特定使用者的所有SAML請求中傳送相同的NameID元素唯一值。請確定您的IAM政策包含一個條件,只允許將 SAMLsub_type設為 的SAML請求persistent,如 步驟 5:建立 SAML 2.0 聯合IAM角色一節中所述。

  • Attribute Name 屬性設定為 https://aws.amazon.com/SAML/屬性/角色的 元素 — 此元素包含一或多個AttributeValue元素,列出使用者由 IdP SAML 映射IAM的角色和 IdP。角色和 IdP 指定為逗號分隔的 對ARNs。預期值的範例是 arn:aws:iam::<account-id>:role/<role-name>,arn:aws:iam::<account-id>:saml-provider/<provider-name>

  • Attribute Name 屬性設定為 https://aws.amazon.com/SAML/屬性/ 的 元素RoleSessionName — 此元素包含一個AttributeValue元素,可為為 發行的 AWS 臨時登入資料提供識別符SSO。AttributeValue 元素中的值長度必須介於 2 到 64 個字元之間,可包含英數字元和下列特殊字元:_ . : / = + - @。不可含有空格。此值通常是電子郵件地址或使用者主體名稱 (UPN)。該值不得包含空格,例如使用者的顯示名稱。

  • Attribute Name 屬性設定為 https://aws.amazon.com/SAML/屬性/PrincipalTag:Email 的 元素 — 此元素包含一個元素AttributeValue,可提供使用者的電子郵件地址。值必須符合 WorkSpaces 目錄中定義的 WorkSpaces 使用者電子郵件地址。標籤值可能包含字母、數字、空格和_ . : / = + - @字元的組合。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的在 IAM和 中標記的規則 AWS STS

  • (選用) Attribute Name 屬性設定為 https://aws.amazon.com/SAML/屬性/PrincipalTag: 的 元素UserPrincipalName — 此元素包含一個AttributeValue元素,可為登入userPrincipalName的使用者提供 Active Directory。值必須以 username@domain.com 格式提供。此參數與憑證型驗證搭配使用,做為終端使用者憑證中的主體替代名稱。如需詳細資訊,請參閱憑證型身分驗證和 WorkSpaces 個人

  • (選用) Attribute Name 屬性設定為 https://aws.amazon.com/SAML/屬性/PrincipalTag:ObjectSid (選用) 的 元素 — 此元素包含一個AttributeValue元素,可為登入的使用者提供 Active Directory 安全識別符 (SID)。此參數與憑證型驗證搭配使用,能夠強式對應至 Active Directory 使用者。如需詳細資訊,請參閱憑證型身分驗證和 WorkSpaces 個人

  • (選用) Attribute Name 屬性設定為 https://aws.amazon.com/SAML/屬性/PrincipalTag:網域的 元素 — 此元素包含一個AttributeValue元素,可為登入的使用者提供 Active Directory DNS完整網域名稱 (FQDN)。當使用者的 Active Directory userPrincipalName 包含替代尾碼時,此參數會與憑證型驗證搭配使用。值必須以 domain.com 格式提供,且必須包含任何子網域。

  • (選用) Attribute Name 屬性設定為 https://aws.amazon.com/SAML/屬性/ 的 元素SessionDuration — 此元素包含一個AttributeValue元素,指定使用者聯合串流工作階段在需要重新驗證之前可以保持作用中狀態的時間上限。預設值為3600秒 (60 分鐘)。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南SAML SessionDurationAttribute》中的 。

    注意

    雖然 SessionDuration 是選用屬性,但建議您將其包含在SAML回應中。如果您未指定此屬性,工作階段持續時間會設定為預設值3600秒 (60 分鐘)。 WorkSpaces 桌面工作階段會在工作階段持續時間過期後中斷連線。

如需如何設定這些元素的詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的設定身分驗證回應的SAML聲明。如需 IdP 的特定組態需求相關資訊,請參閱您的 IdP 文件。

步驟 8:設定聯合的轉送狀態

使用您的 IdP 來設定聯合的轉送狀態,以指向 WorkSpaces 集區目錄轉送狀態 URL。身分驗證成功後 AWS,系統會將使用者導向至 WorkSpaces 集區目錄端點,此端點在SAML身分驗證回應中定義為轉送狀態。

以下是轉送狀態URL格式:

https://relay-state-region-endpoint/sso-idp?registrationCode=registration-code

下表列出可使用 WorkSpaces SAML 2.0 身分驗證之 AWS 區域的轉送狀態端點。集 WorkSpaces 區功能無法使用的 AWS 區域已移除。

區域 轉送狀態端點
美國東部 (維吉尼亞北部) 區域 workspaces.euc-sso.us-east-1.aws.amazon.com
美國西部 (奧勒岡) 區域 workspaces.euc-sso.us-west-2.aws.amazon.com
亞太 (孟買) 區域 workspaces.euc-sso.ap-south-1.aws.amazon.com
亞太 (首爾) 區域 workspaces.euc-sso.ap-northeast-2.aws.amazon.com
亞太 (新加坡) 區域 workspaces.euc-sso.ap-southeast-1.aws.amazon.com
亞太 (雪梨) 區域 workspaces.euc-sso.ap-southeast-2.aws.amazon.com
亞太 (東京) 區域 workspaces.euc-sso.ap-northeast-1.aws.amazon.com
加拿大 (中部) 區域 workspaces.euc-sso.ca-central-1.aws.amazon.com
歐洲 (法蘭克福) 區域 workspaces.euc-sso.eu-central-1.aws.amazon.com
歐洲 (愛爾蘭) 區域 workspaces.euc-sso.eu-west-1.aws.amazon.com
歐洲 (倫敦) 區域 workspaces.euc-sso.eu-west-2.aws.amazon.com
南美洲 (聖保羅) 區域 workspaces.euc-sso.sa-east-1.aws.amazon.com
AWS GovCloud (美國西部) workspaces.euc-sso.us-gov-west-1.amazonaws-us-gov.com
注意

如需在 SAML IdPs 中使用 的詳細資訊 AWS GovCloud (US) Regions,請參閱《 AWS GovCloud (美國) 使用者指南》中的 Amazon WorkSpaces

AWS GovCloud (美國東部) workspaces.euc-sso.us-gov-east-1.amazonaws-us-gov.com
注意

如需在 SAML IdPs 中使用 的詳細資訊 AWS GovCloud (US) Regions,請參閱《 AWS GovCloud (美國) 使用者指南》中的 Amazon WorkSpaces

步驟 9:在您的 WorkSpace 集區目錄上啟用與 SAML 2.0 的整合

完成下列程序,以啟用 WorkSpaces 集區目錄的 SAML 2.0 身分驗證。

  1. 在 開啟 WorkSpaces 主控台https://console.aws.amazon.com/workspaces/

  2. 在導覽窗格中選擇目錄

  3. 選擇集區目錄索引標籤。

  4. 選擇您要編輯的目錄 ID。

  5. 在頁面的身分驗證區段中選擇編輯

  6. 選擇編輯 SAML 2.0 Identity Provider。

  7. 對於有時稱為 " URL"SSO 的使用者存取 URL,請將預留位置值取代為 IdP SSOURL提供給您的 。

  8. 針對 IdP 深層連結參數名稱,輸入適用於您的 IdP 和您已設定之應用程式的參數。RelayState 如果您省略參數名稱,則預設值為 。

    下表列出各種應用程式身分提供者獨有的使用者存取URLs和深層連結參數名稱。

    身分提供者 參數 使用者存取 URL
    ADFS RelayState https://<host>/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID=<relaying-party-uri>
    Azure AD RelayState https://myapps.microsoft.com/signin/<app-id>?tenantId=<tenant-id>
    Duo 單一登入 RelayState https://<sub-domain>.sso.duosecurity.com/saml2/sp/<app-id>/sso
    Okta RelayState https://<sub-domain>.okta.com/app/<app-name>/<app-id>/sso/saml
    OneLogin RelayState https://<sub-domain>.onelogin.com/trust/saml2/http-post/sso/<app-id>
    JumpCloud RelayState https://sso.jumpcloud.com/saml2/<app-id>
    Auth0 RelayState https://<default-tenant-name>.us.auth0.com/samlp/<client-id>
    PingFederate TargetResource https://<host>/idp/startSSO.ping?PartnerSpId=<sp-id>
    PingOne for Enterprise TargetResource https://sso.connect.pingidentity.com/sso/sp/initsso?saasid=<app-id>&idpid=<idp-id>
  9. 選擇 Save (儲存)。

重要

從使用者撤銷 SAML 2.0 不會直接中斷連線其工作階段。只有在逾時啟動後才會將其移除。他們也可以使用 TerminateWorkspacesPoolSession 將其終止API。

故障診斷

下列資訊可協助您疑難排解 WorkSpaces 集區的特定問題。

在完成SAML身分驗證後,我在 WorkSpaces 集區用戶端中收到「無法登入」訊息

SAML 宣告PrincipalTag:Email中的 nameID和 必須與 Active Directory 中設定的使用者名稱和電子郵件相符。某些 IdP 在調整特定屬性之後,可能需要更新、重新整理或重新部署。如果您進行調整且未反映在SAML擷取中,請參閱 IdP 的文件或支援計畫,了解變更生效所需的特定步驟。