本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要讓使用者使用現有的登入資料登入 AppStream 2.0,並開始串流應用程式,您可以使用 2.0 SAML 設定聯合身分。若要這樣做,請使用 IAM角色和轉送狀態URL來設定符合 SAML 2.0 標準的身分提供者 (IdP),並啟用 AWS 以允許聯合身分使用者存取 AppStream 2.0 堆疊。IAM 角色可將存取堆疊的許可授予使用者。轉送狀態是一種堆疊入口網站,當 AWS成功驗證之後,即會將使用者轉送到該處。
目錄
必要條件
在設定 2.0 SAML 連線之前,請先完成下列先決條件。
-
設定以 SAML為基礎的 IdP,以與 建立信任關係 AWS。
-
在組織的網路中,設定您的身分存放區以使用 SAML型 IdP。如需組態資源,請參閱AppStream 2.0 與 2.0 SAML 整合。
-
使用SAML以 為基礎的 IdP 來產生和下載聯合中繼資料文件,將組織描述為 IdP。此簽署XML的文件用於建立依賴方信任。將此檔案儲存到您稍後可以從IAM主控台存取的位置。
-
-
使用 AppStream 2.0 管理主控台建立 AppStream 2.0 堆疊。您需要堆疊名稱來建立IAM政策,以及設定與 AppStream 2.0 的 IdP 整合,如本主題稍後所述。
您可以使用 AppStream 2.0 管理主控台 AWS CLI或 2API. AppStream 0 建立 AppStream 2.0 堆疊。如需詳細資訊,請參閱建立 Amazon AppStream 2.0 機群和堆疊。
步驟 1:在 中建立SAML身分提供者 AWS IAM
首先,在 中建立 SAML IdP AWS IAM。此 IdP 使用組織中 IdP 軟體產生的中繼資料文件來定義組織的 IdP 對AWS 信任關係。如需詳細資訊,請參閱IAM《 使用者指南》中的建立和管理SAML身分提供者 (Amazon Web Services 管理主控台)。如需SAML IdPs 在 AWS GovCloud (US) 區域中使用 的詳細資訊,請參閱AWS GovCloud (US) 《 使用者指南》中的 AWS Identity and Access Management。
步驟 2:建立 SAML 2.0 聯合IAM角色
接著,建立 SAML 2.0 聯合IAM角色。此步驟會建立 IAM 和組織 IdP 之間的信任關係,以便將您的 IdP 識別為受信任的聯合實體。
為 IdP SAML 建立IAM角色
開啟位於 IAM 的 https://console.aws.amazon.com/iam/
主控台。 -
在導覽窗格中,選擇 Roles (角色)、Create role (建立新角色)。
-
針對角色類型,選擇 SAML 2.0 聯合。
-
針對SAML提供者,選取您建立的 SAML IdP。
重要
請勿選擇兩種 SAML 2.0 存取方法之一 (僅允許程式設計存取或允許程式設計和 Amazon Web Services 管理主控台存取)。
-
針對 屬性,選擇 SAML:sub_type。
-
針對數值,輸入
https://signin.aws.amazon.com/saml
。此值限制角色存取SAML使用者串流請求,其中包含具有持久值SAML的主題類型聲明。如果 SAML:sub_type 是持久性的,您的 IdP 會在來自特定使用者的所有SAML請求中,為 NameID 元素傳送相同的唯一值。如需 SAML:sub_type 聲明的詳細資訊,請參閱使用 SAML API AWS SAML型聯合存取中的以 為基礎的聯合中唯一識別使用者一節。 -
檢閱您的 SAML 2.0 信任資訊,確認正確的信任實體和條件,然後選擇下一步:許可。
-
在 Attach permissions policies (連接許可政策) 頁面上,選擇 Next: Tags (下一步:標籤)。
(選用) 為您要新增的每個標籤輸入索引鍵和值。如需詳細資訊,請參閱標記您的 IAM 使用者和角色。
完成後,請選擇 Next: Review (下一步:檢閱)。您稍後將為此角色建立並嵌入內嵌政策。
-
針對角色名稱,輸入可識別此角色用途的名稱。因為有多個實體可能會參考此角色,所以建立角色後,您就無法編輯其名稱。
-
(選用) 在 Role description (角色說明) 中,輸入新角色的說明。
-
檢閱角色詳細資訊,並選擇 Create role (建立角色)。
-
(選用) 如果您計劃使用第三方 2.0 SAML 身分提供者或憑證型身分驗證來使用工作階段內容或屬性型應用程式權限,則必須將 sts:TagSession permission 新增至新IAM角色的信任政策。如需詳細資訊,請參閱 使用第三方 2.0 Identity Provider SAML 的屬性型應用程式權限 和在 AWS STS中傳入工作階段標籤。
在您新IAM角色的詳細資訊中,選擇信任關係索引標籤,然後選擇編輯信任關係。「編輯信任關係」政策編輯器隨即啟動。新增 sts:TagSession 許可,如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::
ACCOUNT-ID-WITHOUT-HYPHENS
:saml-provider/IDENTITY-PROVIDER
" }, "Action": [ "sts:AssumeRoleWithSAML", "sts:TagSession" ], "Condition": { "StringEquals": { "SAML:sub_type": "persistent" } } } ] }IDENTITY-PROVIDER
將 取代為您在步驟 SAML 1 中建立的 IdP 名稱。然後選擇更新信任政策。
步驟 3:為 IAM 角色嵌入內嵌政策
接下來,請為您建立的角色嵌入內嵌 IAM 政策。嵌入內嵌政策時,該政策中的許可不得意外附加至錯誤的主體實體。內嵌政策可讓聯合身分使用者存取您建立的 AppStream 2.0 堆疊。
在您建立之 IAM 角色的詳細資料中,選擇 Permissions (許可) 索引標籤,然後選擇 Add inline policy (新增內嵌政策)。建立政策精靈隨即啟動。
在建立政策中,選擇 JSON 索引標籤。
-
將下列JSON政策複製並貼到 JSON 視窗中。然後,輸入 AWS 區域 程式碼、帳戶 ID 和堆疊名稱來修改資源。在下列政策中,
"Action": "appstream:Stream"
動作會為您的 AppStream 2.0 使用者提供許可,以連接至您建立之堆疊上的串流工作階段。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "appstream:Stream", "Resource": "arn:aws:appstream:
REGION-CODE
:ACCOUNT-ID-WITHOUT-HYPHENS
:stack/STACK-NAME
", "Condition": { "StringEquals": { "appstream:userId": "${saml:sub}" } } } ] }REGION-CODE
將 取代為 AppStream 2.0 堆疊所在的 AWS 區域。STACK-NAME
將 取代STACK-NAME
為堆疊的名稱。 區分大小寫,並且必須與確切的案例和拼寫相符,如同 AppStream 2.0 管理主控台的堆疊儀表板中顯示的堆疊名稱。對於 AWS GovCloud (US) 區域中的資源,請使用下列格式的 ARN:
arn:aws-us-gov:appstream:
REGION-CODE
:ACCOUNT-ID-WITHOUT-HYPHENS
:stack/STACK-NAME
(選用) 如果您打算使用第三方 SAML 2.0 身分提供者搭配 SAML2.0 多堆疊應用程式目錄來使用屬性型應用程式權限,您的IAM角色內嵌政策中的資源必須
"Resource": "arn:aws:appstream:
允許應用程式權限控制對堆疊的串流存取。若要對堆疊資源強制執行額外的保護,您可以在政策中新增明確拒絕。如需詳細資訊,請參閱 使用第三方 2.0 Identity Provider SAML 的屬性型應用程式權限 和政策評估邏輯。REGION-CODE
:ACCOUNT-ID-WITHOUT-HYPHENS
:stack/*"完成時,請選擇 Review policy (檢閱政策)。Policy Validator (政策檢查工具) 會回報任何語法錯誤。
步驟 4:設定以 SAML為基礎的 IdP
接下來,視以 SAML為基礎的 IdP 而定,您可能需要手動更新 IdP 以信任 AWS 服務提供者,方法是將saml-metadata.xml
檔案上傳至 https://signin.aws.amazon.com/static/saml-metadata.xml
如果您的 IdP 尚未設定這項更新,請檢閱 IdP 提供的文件以取得中繼資料更新方式的資訊。有些提供者會提供您輸入 的選項URL,而 IdP 會為您取得並安裝 檔案。其他 需要您從 下載 檔案,URL然後將其做為本機檔案提供。
步驟 5:建立身分SAML驗證回應的宣告
接下來,您可能需要設定 IdP 傳送給 的資訊 AWS ,做為其身分驗證回應中的SAML屬性。視您的 IdP 而定,此資訊可能已預先設定。如果是這種情況,請跳過此步驟並繼續執行步驟 6,
如果您的 IdP 尚未設定這項資訊,請提供下列項目:
-
SAML Subject NameID – 登入使用者的唯一識別符。
注意
對於加入網域機群的堆疊,必須使用名稱或使用 的「
」,以「domain
\usernameusername@domain.com
」格式提供使用者的 sAMAccountNameID 值 userPrincipalName。如果您使用的是sAMAccount名稱格式,您可以使用 NetBIOS 名稱或完整網域名稱
() 來指定 FQDN。Active Directory 單向信任案例需要sAMAccount名稱格式。如需詳細資訊,請參閱搭配 AppStream 2.0 使用 Active Directory。domain
-
SAML 主旨類型 (將值設為
persistent
) – 設定值,persistent
以確保 IdP 在特定使用者的所有SAML請求中傳送相同的NameID
元素唯一值。請確定您的IAM政策包含僅允許 SAML sub_type 設定為 之SAML請求的條件persistent
,如中所述步驟 2:建立 SAML 2.0 聯合IAM角色。 -
Attribute
Name
屬性設定為 https://aws.amazon.com/SAML/屬性/角色的 元素 – 此元素包含一或多個AttributeValue
元素,列出使用者由 IdP SAML 映射IAM的角色和 IdP。角色和 IdP 指定為逗號分隔的 對ARNs。 -
Attribute
Name
屬性設定為 https://aws.amazon.com/SAML/屬性/ 的 元素RoleSessionName – 此元素包含一個AttributeValue
元素,可為為 發行的 AWS 臨時登入資料提供識別符SSO。AttributeValue
元素中的值長度必須介於 2 到 64 個字元之間,只能包含英數字元、底線和下列字元:+ (加號)、= (等號)、, (逗號)、. (句號)、@ (at 符號) 和 - (連字號)。其中不可含有空格。該值通常是使用者 ID (bobsmith) 或電子郵件地址 (bobsmith@example.com)。該值不應包含空格,如使用者的顯示名稱 (Bob Smith)。 -
Attribute
Name
屬性設定為 https://aws.amazon.com/SAML/屬性/PrincipalTag:SessionContext (選用) 的 元素 – 此元素包含一個AttributeValue
元素,可提供參數,可用來將工作階段內容參數傳遞至串流應用程式。如需詳細資訊,請參閱Amazon AppStream 2.0 中的工作階段內容。 -
Attribute
Name
屬性設定為 https://aws.amazon.com/SAML/屬性/PrincipalTag:ObjectSid (選用) 的 元素 – 此元素包含一個AttributeValue
元素,可為登入的使用者提供 Active Directory 安全識別符 (SID)。此參數與憑證型驗證搭配使用,能夠強式對應至 Active Directory 使用者。 -
Attribute
Name
屬性設定為 https://aws.amazon.com/SAML/屬性/PrincipalTag:網域的 元素 (選用) – 此元素包含一個AttributeValue
元素,可為登入的使用者提供 Active Directory DNS完整網域名稱 (FQDN)。當使用者的 Active DirectoryuserPrincipalName
包含替代尾碼時,此參數會與憑證型驗證搭配使用。此值必須以domain.com
格式提供,包括任何子網域。 -
Attribute
SessionDuration
屬性設為 https://aws.amazon.com/SAML/屬性/SessionDuration (選用) 的 元素 – 此元素包含一個AttributeValue
元素,可指定使用者聯合串流工作階段在需要重新驗證之前可保持作用中狀態的時間上限。預設值為 60 分鐘 (即 3,600 秒)。如需詳細資訊,請參閱針對身分驗證回應設定SAML宣告中的選用屬性元素,其 SessionDuration 屬性設定為 https://aws.amazon.com/SAML/屬性/SessionDuration 區段。注意
雖然
SessionDuration
是選用屬性,但建議您將其包含在SAML回應中。如果您未指定此屬性,工作階段持續時間會設定為預設值 60 分鐘。如果您的使用者透過使用 AppStream 2.0 原生用戶端或在新體驗中使用 Web 瀏覽器存取其 AppStream 2.0 版中的串流應用程式,其工作階段會在工作階段持續時間過期後中斷連線。如果您的使用者在舊/傳統體驗中使用 Web 瀏覽器存取其 2.0 版中的 AppStream串流應用程式,則在使用者的工作階段持續時間過期且重新整理瀏覽器頁面之後,他們的工作階段就會中斷連線。
如需如何設定這些元素的詳細資訊,請參閱IAM《 使用者指南》中的為身分驗證回應設定SAML宣告。如需 IdP 的特定組態要求資訊,請參閱您的 IdP 文件。
步驟 6:設定聯合的轉送狀態
最後,使用您的 IdP 來設定聯合的轉送狀態,以指向 AppStream 2URL.0 堆疊轉送狀態 。身分驗證成功後 AWS,系統會將使用者導向至 AppStream 2.0 堆疊入口網站,此入口網站在SAML身分驗證回應中定義為轉送狀態。
轉送狀態的格式URL如下:
https://relay-state-region-endpoint
?stack=stackname
&accountId=aws-account-id-without-hyphens
URL 從您的 Amazon Web Services 帳戶 ID、堆疊名稱和與堆疊所在區域相關聯的轉送狀態端點來建構您的轉送狀態。
或者,您也可以指定您想要自動啟動的應用程式名稱。若要尋找應用程式名稱,請在 AppStream 2.0 主控台中選取映像,選擇應用程式索引標籤,並記下應用程式名稱欄中顯示的名稱。或者,如果您尚未建立映像,請連接到您安裝應用程式的映像建置器,並開啟映像助理。應用程式的名稱會顯示在 Add Apps (新增應用程式) 索引標籤中。
如果您的機群已啟用桌面串流檢視,您也可以選擇直接啟動進入作業系統桌面。若要執行此作業,Desktop
請在 之後URL,在轉送狀態 結束時指定 &app=
。
使用身分提供者 (IdP) 啟動的流程,在系統預設瀏覽器中,使用者登入 IdP 並從 IdP 使用者入口網站選取 AppStream 2.0 應用程式後,系統會使用下列選項,將他們重新導向至系統預設瀏覽器中的 a AppStream 2.0 登入頁面:
-
繼續使用瀏覽器
-
Open AppStream 2.0 用戶端
在頁面上,使用者可以選擇在瀏覽器中或使用 AppStream 2.0 用戶端應用程式啟動工作階段。您也可以選擇性地指定要用於 SAML 2.0 聯合的用戶端。若要執行此作業,請在 之後URL,web
在轉送狀態 結束時指定 native
或 &client=
。當 參數處於轉送狀態 時URL,對應的工作階段會自動在指定的用戶端中啟動,而使用者不會做出選擇。
注意
只有在您使用新的轉送狀態區域端點 (下表 1 中) 來建構轉送狀態 ,並使用 AppStream 2.0 用戶端版本 1.1.1300 和更新版本時URL,才能使用此功能。此外,使用者應一律使用其系統預設瀏覽器登入 IdP。如果使用非預設瀏覽器,則此功能將無法運作。
透過使用第三方 2.0 SAML 身分提供者的屬性型應用程式權限,您可以從單一轉送狀態 啟用對多個堆疊的存取。 URL從轉送狀態 移除堆疊和應用程式 (如果有) 參數URL,如下所示:
https://relay-state-region-endpoint
?accountId=aws-account-id-without-hyphens
當使用者聯合到 AppStream 2.0 應用程式目錄時,將向他們顯示應用程式權限已將一或多個應用程式與使用者比對的所有堆疊,以取得與堆疊所在區域相關聯的帳戶 ID 和轉送狀態端點。當使用者選取目錄時,應用程式權利只會顯示使用者有權使用的應用程式。
注意
使用者無法同時從多個堆疊串流。
如需詳細資訊,請參閱使用第三方 2.0 Identity Provider SAML 的屬性型應用程式權限。
下表 1 列出可使用 AppStream 2.0 之區域的轉送狀態端點。表 1 中的轉送狀態端點與 AppStream 2.0 Web 瀏覽器存取 (第 2 版)和 Windows 用戶端應用程式 1.1.1300 版及更新版本相容。如果您使用的是較舊版本的 Windows 用戶端,您應該使用表 2 中列出的舊轉送狀態端點來設定 SAML 2.0 聯合。如果您希望使用者使用 FIPS合規的連線進行串流,則必須使用 FIPS合規的端點。如需 FIPS 端點的詳細資訊,請參閱使用FIPS端點保護傳輸中的資料。
區域 | 轉送狀態端點 |
---|---|
美國東部 (維吉尼亞北部) |
(FIPS)
|
美國東部 (俄亥俄) | https://appstream2.euc-sso.us-east-2.aws.amazon.com/saml |
美國西部 (奧勒岡) |
(FIPS)
|
亞太區域 (孟買) | https://appstream2.euc-sso.ap-south-1.aws.amazon.com/saml |
亞太區域 (首爾) | https://appstream2.euc-sso.ap-northeast-2.aws.amazon.com/saml |
亞太區域 (新加坡) | https://appstream2.euc-sso.ap-southeast-1.aws.amazon.com/saml |
亞太區域 (雪梨) | https://appstream2.euc-sso.ap-southeast-2.aws.amazon.com/saml |
亞太區域 (東京) | https://appstream2.euc-sso.ap-northeast-1.aws.amazon.com/saml |
加拿大 (中部) |
https://appstream2.euc-sso.ca-central-1.aws.amazon.com/saml |
歐洲 (法蘭克福) | https://appstream2.euc-sso.eu-central-1.aws.amazon.com/saml |
歐洲 (愛爾蘭) | https://appstream2.euc-sso.eu-west-1.aws.amazon.com/saml |
歐洲 (倫敦) | https://appstream2.euc-sso.eu-west-2.aws.amazon.com/saml |
AWS GovCloud (美國東部) |
(FIPS)
注意如需在 AWS GovCloud (US) 區域中使用 AppStream 2.0 的詳細資訊,請參閱AWS GovCloud (US) 《 使用者指南》中的 Amazon AppStream 2.0。 |
AWS GovCloud (美國西部) |
(FIPS)
注意如需在 AWS GovCloud (US) 區域中使用 AppStream 2.0 的詳細資訊,請參閱AWS GovCloud (US) 《 使用者指南》中的 Amazon AppStream 2.0。 |
南美洲 (聖保羅) | https://appstream2.euc-sso.sa-east-1.aws.amazon.com/saml |
下表 2 列出仍然可用的舊轉送狀態端點。不過,建議您使用表 1 中列出的新轉送狀態端點來設定 SAML 2.0 聯合。特別是,使用新的轉送狀態端點,您可以讓使用者從 IdP 啟動的串流工作階段啟動 AppStream 2.0 用戶端應用程式 (1.1.1300 版及更新版本)。表 1 中的新轉送狀態端點也允許使用者在相同 Web 瀏覽器的不同索引標籤中登入其他 AWS 應用程式,而不會影響持續的 AppStream 2.0 串流工作階段。表 2 中的舊轉送狀態端點不支援此項目。如需詳細資訊,請參閱 My AppStream 2.0 用戶端使用者每 60 分鐘就會與其 AppStream 2.0 工作階段中斷連線。
區域 | 轉送狀態端點 |
---|---|
美國東部 (維吉尼亞北部) |
(FIPS)
|
美國東部 (俄亥俄) | https://appstream2.us-east-2.aws.amazon.com/saml |
美國西部 (奧勒岡) |
(FIPS)
|
亞太區域 (孟買) | https://appstream2.ap-south-1.aws.amazon.com/saml |
亞太區域 (首爾) | https://appstream2.ap-northeast-2.aws.amazon.com/saml |
亞太區域 (新加坡) | https://appstream2.ap-southeast-1.aws.amazon.com/saml |
亞太區域 (雪梨) | https://appstream2.ap-southeast-2.aws.amazon.com/saml |
亞太區域 (東京) | https://appstream2.ap-northeast-1.aws.amazon.com/saml |
加拿大 (中部) |
https://appstream2.ca-central-1.aws.amazon.com/saml |
歐洲 (法蘭克福) | https://appstream2.eu-central-1.aws.amazon.com/saml |
歐洲 (愛爾蘭) | https://appstream2.eu-west-1.aws.amazon.com/saml |
歐洲 (倫敦) | https://appstream2.eu-west-2.aws.amazon.com/saml |
AWS GovCloud (美國東部) |
(FIPS)
注意如需在 AWS GovCloud (US) 區域中使用 AppStream 2.0 的詳細資訊,請參閱AWS GovCloud (US) 《 使用者指南》中的 Amazon AppStream 2.0。 |
AWS GovCloud (美國西部) |
(FIPS)
注意如需在 AWS GovCloud (US) 區域中使用 AppStream 2.0 的詳細資訊,請參閱AWS GovCloud (US) 《 使用者指南》中的 Amazon AppStream 2.0。 |
南美洲 (聖保羅) | https://appstream2.sa-east-1.aws.amazon.com/saml |
下表 3 列出可用於建構轉送狀態 的所有可用參數URL。
參數 | 必要 | 格式 | 支援 |
---|---|---|---|
accountId | 必要 | 12 字元 AWS 帳戶 ID | 資料表 1 和 2 中的新舊端點 |
堆疊 | 選用 | Stack name (堆疊名稱) | 資料表 1 和 2 中的新舊端點 |
應用程式 | 選用 | 應用程式名稱或「桌面」 | 資料表 1 和 2 中的新舊端點 |
用戶端 | 選用 | 「原生」或「網路」 | 僅限資料表 1 中的新端點 |