Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
如何在 Amazon Cognito 使用者集區中設定 Okta 作為 SAML 身分提供者?
我想在我的使用者集區中設定 Okta 作為 SAML 2.0 身分提供者 (IdP),讓我的應用程式使用者從 Amazon Cognito 取得權杖。
簡短說明
Okta SAML IdP 與 Amazon Cognito 的整合需要在兩個平台上進行組態。首先,在 Okta 中建立並設定 SAML 應用程式整合。接著,在 Amazon Cognito 使用者集區中新增 Okta 作為 IdP,並設定應用程式用戶端設定以允許 Okta 驗證。完成設定後,最佳實務是測試驗證流程,以確認使用者透過 Okta 登入後,會從 Amazon Cognito 取得權杖。
解決方法
在您將 Okta 設定為 SAML IdP 之前,請執行以下動作:
(選用) 註冊 Okta 開發人員帳戶
**注意:**如果您已經有 Okta 開發人員帳戶,請登入。
請完成以下步驟:
- 在 Okta 開發人員網站上開啟 Okta Developer signup (Okta 開發人員註冊) 頁面。
- 輸入所需資訊,然後選擇 Sign up (註冊)。Okta 會將驗證電子郵件傳送至您提供的電子郵件地址。
- 在驗證電子郵件中,找到您帳戶的登入資訊。
- 選擇 Activate account (啟用帳戶),然後登入以完成帳戶建立。
建立 SAML 應用程式,並為您的 Okta 應用程式設定 SAML 整合
請完成以下步驟:
- 開啟 Okta Developer console (Okta 開發人員主控台)。
- 在導覽窗格中,展開 Applications (應用程式),然後選擇 Applications (應用程式)。
- 選擇 Create app integration (建立應用程式整合)。
- 在 Create a new app integration (建立新的應用程式整合) 功能表中,於 Sign-in method (登入方法),選擇 SAML 2.0。
- 選擇 Next (下一步)。
- 在 Create SAML Integration (建立 SAML 整合) 頁面上,在 General Settings (一般設定) 下,為您的應用程式輸入名稱。
- (選用) 上傳標誌並為您的應用程式選擇可見性設定。
- 選擇 Next (下一步)。
- 在 SAML Settings (SAML 設定) 下,於 Single sign on URL (單一登入網址),輸入 https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse。
**注意:**將 yourDomainPrefix 和 region 替換為您使用者集區的值。若要尋找這些值,請開啟 Amazon Cognito console (Amazon Cognito 主控台),然後從 Branding (品牌) 區段選擇 Domain (網域)。 - 在 Audience URI (SP Entity ID) (對象 URI (SP 實體 ID)),輸入 urn:amazon:cognito:sp:yourUserPoolId。
**注意:**將 yourUserPoolId 替換為您的使用者集區 ID。若要尋找使用者集區 ID,請查看 Amazon Cognito 主控台的 Overview (概觀) 區段。 - 在 Attribute Statements (optional) (屬性陳述式 (選用)) 下,新增陳述式並使用以下資訊:
在 Name (名稱),輸入 SAML 屬性名稱 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress。
在 Value (值),輸入 user.email。
針對頁面上的其他設定,使用預設值或根據您的需求進行調整。 - 選擇 Next (下一步)。
- 出現提示時,選擇關於應用程式設定體驗的意見回饋回應。
**注意:**這是 Okta 標準應用程式建立流程的一部分,用於蒐集使用者體驗意見回饋。 - 選擇 Finish (完成)。
將使用者指派給您的 Okta 應用程式
請完成以下步驟:
- 在您的 Okta 應用程式的 Assignments (指派) 索引標籤上,於 Assign (指派),選擇 Assign to People (指派給人員)。
- 在您要指派的使用者旁,選擇 Assign (指派)。
**注意:**如果這是新帳戶,您只能選擇自己作為使用者。 - (選用) 在 User Name (使用者名稱),輸入自訂使用者名稱。如果您未指定,Okta 會使用使用者的電子郵件地址作為使用者名稱。
- 選擇 Save and Go Back (儲存並返回) 以完成使用者指派。
- 選擇 Done (完成)。
取得您 Okta 應用程式的 IdP 中繼資料
在您的 Okta 應用程式的 Sign On (登入) 索引標籤上,在 Metadata details (中繼資料詳細資料) 下,複製 Metadata URL (中繼資料網址)。
在您的使用者集區中將 Okta 設定為 SAML IdP
請完成以下步驟:
- 開啟 Amazon Cognito console (Amazon Cognito 主控台)。
- 選擇您的使用者集區。
- 在導覽窗格中,在 Authentication (驗證) 下,選擇 Social and external providers (社交與外部提供者)。
- 選擇 Add identity provider (新增身分提供者),然後選取 SAML。
- 在 Register your app with your SAML provider (向您的 SAML 提供者註冊應用程式) 下,於 Provider name (提供者名稱),輸入 Okta。
- (選用) 新增 SAML identifiers to route sign-in and sign-out requests (SAML 識別碼以路由登入與登出請求) 至 Okta。
- (選用) 啟用 single logout (單一登出),當使用者從您的使用者集區登出時,將其從 Okta 登出。
- 在 Metadata document source (中繼資料文件來源) 下,選擇 Enter metadata document endpoint URL (輸入中繼資料文件端點網址),然後貼上您從 Okta Sign On (登入) 索引標籤複製的中繼資料網址。
- 在 Map attributes between your SAML provider and your user pool (在您的 SAML 提供者與使用者集區之間對應屬性) 下,為 SAML attribute (SAML 屬性) 指定電子郵件。
- 選擇 Add identity provider (新增身分提供者)。
如需詳細資訊,請參閱在使用者集區中新增和管理 SAML 身分提供者。
變更使用者集區的應用程式用戶端設定
請完成以下步驟:
- 在 Amazon Cognito 主控台中,於 App clients (應用程式用戶端) 下,選擇您的使用者集區。
- 在導覽窗格中,在 Applications (應用程式) 下,選擇 App clients (應用程式用戶端)。
- 在應用程式用戶端頁面上,前往 Login pages (登入頁面) 區段。接著,在 Managed login pages configuration (受管登入頁面組態) 下,選擇 Edit (編輯)。
- 從 Identity Providers (身分提供者) 下拉式清單中,選取 Okta 和 Cognito User Pool (Cognito 使用者集區)。
在 Callback URL(s) (回呼網址),指定使用者成功登入後的目的地網址。
在 Sign out URL(s) (登出網址),指定使用者登出後的目的地網址。
注意:如果您想測試整合,請使用預留位置網址,例如 https://www.example.com/。您之後可以將此預留位置更新為應用程式的網址。
在 Allowed OAuth Flows (允許的 OAuth 流程) 下,選取 Implicit grant (隱含授權)。
在 Allowed OAuth Scopes (允許的 OAuth 範圍) 下,選取電子郵件 和 openid。 - 選擇 Save changes (儲存變更)。
如需更多資訊,請參閱應用程式用戶端條款。
存取登入頁面以測試 SAML 驗證流程
您可以透過 Amazon Cognito 主控台存取登入頁面,或建立登入端點網址。
- 在 Amazon Cognito 主控台中,於 App clients (應用程式用戶端) 下,選擇您的使用者集區。
- 選擇 Login pages (登入頁面) 索引標籤,然後選擇 View login page (檢視登入頁面)。
-或-
建立登入端點網址。若要建立登入端點,請使用以下命名模式:
https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl
**注意:**將 yourDomainPrefix 和 region 替換為您使用者集區的值。若要在 Amazon Cognito 主控台中尋找這些值,請選擇 Domain name (網域名稱) 頁面。 - 在登入端點網頁上,選擇 Okta。
**注意:**如果系統將您重新導向至應用程式用戶端的回呼網址,表示您已登入 Okta 帳戶。繼續執行步驟 5。 - 在 Okta 的 Sign In (登入) 頁面上,輸入您指派給應用程式之使用者的使用者名稱與密碼。
- 選擇 Sign in (登入)。
- 在瀏覽器的網址列中查看使用者集區權杖。
(選用) 略過 Amazon Cognito 託管 UI
若要略過 Amazon Cognito 託管 Web UI 並將使用者直接傳送至 Okta 進行登入,請使用以下 /oauth2/authorize endpoint (/oauth2/authorize 端點) 網址:
https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/authorize?response_type=token&identity_provider=samlProviderName&client_id=yourClientId&redirect_uri=redirectUrl&scope=allowedOauthScopes
**注意:**將 yourDomainPrefix、region、samlProviderName、yourClientId、redirectUrl 和 allowedOauthScopes 替換為您的值。若要尋找 yourDomainPrefix 和 region,請在Amazon Cognito 主控台中,於 Branding (品牌) 區段選擇 Domain (網域)。對於 yourClientId 和 redirectUrl,請在 Amazon Cognito 主控台中選擇 App client (應用程式用戶端) 設定頁面。
(選用) 如果您新增了 SAML 識別碼,請將預留位置 identity_provider=samlProviderName 替換為 idp_identifier=idpIdentifier。將 idpIdentifier 替換為您的自訂識別碼字串。
相關資訊
在 Amazon Cognito 使用者集區中啟動 SAML 工作階段
如何設定第三方 SAML 身份提供者,使其與 Amazon Cognito 使用者集區搭配使用?
- 語言
- 中文 (繁體)

相關內容
- 已提問 3 年前