共用方式為


教學課程:Microsoft Entra SSO 與 AWS 單一帳戶存取整合

在本教學課程中,您將瞭解如何整合 AWS 單一帳戶存取與 Microsoft Entra ID。 在整合 AWS 單一帳戶存取與 Microsoft Entra ID 時,您可以:

  • 在 Microsoft Entra ID 中控制可存取 AWS 單一帳戶存取的人員。
  • 讓使用者使用其 Microsoft Entra 帳戶自動登入 AWS 單一帳戶存取。
  • 在一個集中式位置管理您的帳戶。

使用下列資訊,在 Microsoft Entra 應用程式資源庫中使用 AWS 單一登入和 AWS 單一帳戶存取應用程式之間進行決策。

AWS 單一登入

AWS 單一登入 已於 2021 年 2 月新增至 Microsoft Entra 應用程式資源庫。 它可讓您輕鬆地集中管理多個 AWS 帳戶和 AWS 應用程式的存取權,並透過 Microsoft Entra ID 登入。 將 Microsoft Entra ID 與 AWS SSO 同盟一次,並使用 AWS SSO 來管理您所有 AWS 帳戶的權限。 AWS SSO 會自動佈建權限,並在您更新原則和存取指派時保持最新。 終端使用者可以使用其 Microsoft Entra 認證進行驗證,以存取 AWS 控制台、命令列介面以及 整合了 AWS SSO 的應用程式。

AWS 單一帳戶存取

過去數年來,客戶使用 AWS 單一帳戶存取,可讓您將 Microsoft Entra ID 同盟至單一 AWS 帳戶,並使用 Microsoft Entra ID 來管理 AWS IAM 角色的存取權。 AWS IAM 管理員會在每個 AWS 帳戶中定義角色和原則。 針對每個 AWS 帳戶,Microsoft Entra 系統管理員與 AWS IAM 同盟、將使用者或群組指派給帳戶,以及設定 Microsoft Entra ID 來傳送授權角色存取的判斷提示。

功能 AWS Single Sign-On AWS Single-Account Access
條件式存取 支援所有 AWS 帳戶的單一條件式存取原則。 支援每個帳戶的單一條件式存取原則或每個帳戶的自訂原則
CLI 存取 支援 支援
Privileged Identity Management 支援 不支援
集中帳戶管理 在 AWS 中集中帳戶管理。 將帳戶管理集中在 Microsoft Entra ID 中 (可能需要每個帳戶使用一份 Microsoft Entra 企業應用程式)。
SAML 憑證 單一憑證 每個應用程式/帳戶的個別憑證

AWS Single-Account Access 架構

顯示 Microsoft Entra ID 和 AWS 關聯性的螢幕擷取畫面。

您可以為多個執行個體設定多個識別碼。 例如:

  • https://signin.aws.amazon.com/saml#1

  • https://signin.aws.amazon.com/saml#2

使用這些值時,Microsoft Entra ID 會移除 #的值,並將正確的值 https://signin.aws.amazon.com/saml 傳送為 SAML 權杖中的物件 URL。

我們建議使用此方法,原因如下:

  • 每個應用程式都會提供唯一的 X509 憑證。 AWS 應用程式執行個體的每個執行個體則可以有不同的憑證到期日,並可依個別的 AWS 帳戶來管理。 在此情況下,整體憑證變換就會變得更容易。

  • 您可以在 Microsoft Entra ID 中啟用 AWS 應用程式的使用者佈建,然後我們的服務會從該 AWS 帳戶擷取所有角色。 您不需要手動新增或更新應用程式上的 AWS 角色。

  • 您可以為應用程式個別指派應用程式擁有者。 此人員可以直接在 Microsoft Entra ID 中管理應用程式。

注意

請確定您只使用資源庫應用程式。

必要條件

若要開始使用,您需要下列項目:

  • Microsoft Entra 訂用帳戶。 如果您沒有訂用帳戶,可以取得免費帳戶
  • 已啟用 AWS IAM IdP 的訂用帳戶。
  • 除了雲端應用程式管理員,應用程式管理員也可以新增或管理 Microsoft Entra ID 中的應用程式。 如需詳細資訊,請參閱 Azure 內建角色

注意

執行角色匯入時,不應該在 Microsoft Entra ID 中手動編輯角色。

案例描述

在本教學課程中,您會在測試環境中設定及測試 Microsoft Entra SSO。

  • AWS Single-Account Access 支援由 SP 和 IDP 起始的 SSO。

注意

此應用程式的識別碼是固定的字串值,因此一個租用戶中只能設定一個執行個體。

若要設定將 AWS 單一帳戶存取整合到 Microsoft Entra ID 中,您需要將 AWS 單一帳戶存取從資源庫新增到受控 SaaS 應用程式清單。

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心
  2. 瀏覽至 [身分識別] > [應用程式] > [企業應用程式] > [新增應用程式]
  3. 在 [從資源庫新增] 區段的搜尋方塊中,輸入 AWS Single-Account Access
  4. 從結果面板中選取 AWS Single-Account Access,然後新增應用程式。 將應用程式新增至您的租用戶時,請稍候幾秒鐘。

或者,您也可以使用企業應用程式組態精靈。 在此精靈中,您可以將應用程式新增至租用戶、將使用者/群組新增至應用程式、指派角色,以及逐步進行 SSO 設定。 深入了解 Microsoft 365 精靈。

或者,您也可以使用企業應用程式組態精靈。 在此精靈中,您可以將應用程式新增至租用戶、將使用者/群組新增至應用程式、指派角色,以及逐步進行 SSO 設定。 您可以在這裡深入了解 O365 精靈。

設定及測試適用於 AWS 單一帳戶存取的 Microsoft Entra SSO

以名為 B.Simon 的測試用戶設定及測試與 AWS 單一帳戶存取搭配運作的 Microsoft Entra SSO。 若要讓 SSO 能夠運作,您必須建立 Microsoft Entra 使用者與 AWS 單一帳戶存取中相關使用者之間的連結關聯性。

若要設定及測試與 AWS 單一帳戶存取搭配運作的 Microsoft Entra SSO,請執行下列步驟:

  1. 設定 Microsoft Entra SSO - 讓使用者能夠使用此功能。
    1. 建立 Microsoft Entra 測試使用者 - 以使用 B.Simon 測試 Microsoft Entra 單一登入。
    2. 指派 Microsoft Entra 測試使用者 - 讓 B.Simon 使用 Microsoft Entra 單一登入。
  2. 設定 AWS 單一帳戶存取 SSO - 設定應用程式端的單一登入設定。
    1. 建立 AWS 單一帳戶存取測試使用者 - 使 AWS 單一帳戶存取中對應的 B.Simon 連結到該使用者在 Microsoft Entra 中的代表。
    2. 如何在 AWS 單一帳戶存取中設定角色佈建
  3. 測試 SSO - 確認組態是否正常運作。

設定 Microsoft Entra SSO

遵循下列步驟來啟用 Microsoft Entra SSO。

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[AWS 單一帳戶存取]>[單一登入]

  3. 在 [選取單一登入方法] 頁面上,選取 [SAML]

  4. 在 [以 SAML 設定單一登入] 頁面上,按一下 [基本 SAML 設定] 的鉛筆圖示,以編輯設定。

    顯示 [編輯基本 SAML 組態] 的螢幕擷取畫面。

  5. 在 [基本 SAML 組態] 區段中,以相同的預設值 https://signin.aws.amazon.com/saml識別碼 (實體識別碼)回復 URL。 您必須選取 [儲存] 以儲存組態變更。

  6. 若要設定多個執行個體,請提供識別碼值。 從第二個實例開始,請使用下列格式,包括 # 符號來指定唯一的 SPN 值。

    https://signin.aws.amazon.com/saml#2

  7. AWS 應用程式需要特定格式的 SAML 判斷提示,而且您需要將自訂屬性對應新增到 SAML 權杖屬性組態。 下列螢幕擷取畫面顯示預設屬性的清單。

    顯示預設屬性的螢幕擷取畫面。

  8. 除了上述屬性外,AWS 應用程式還需要在 SAML 回應中多傳回幾個屬性,如下所示。 這些屬性也會預先填入,但您可以根據需求來檢閱這些屬性。

    名稱 來源屬性 Namespace
    RoleSessionName user.userprincipalname https://aws.amazon.com/SAML/Attributes
    角色 user.assignedroles https://aws.amazon.com/SAML/Attributes
    SessionDuration user.sessionduration https://aws.amazon.com/SAML/Attributes

    注意

    AWS 需要將使用者的角色指派給應用程式。 請在 Microsoft Entra ID 中設定這些角色,讓使用者可以指派適當的角色。 若要瞭解如何在 Microsoft Entra ID 中設定角色,請參閱 這裡

  9. 在 [以 SAML 設定單一登入] 頁面上的 [SAML 簽署憑證] (步驟 3) 對話方塊中,選取 [新增憑證]

    顯示 [建立新的 SAML 憑證] 的螢幕擷取畫面。

  10. 產生新的 SAML 簽署憑證,接著選取 [新增憑證]。 輸入憑證通知的電子郵件地址。

    顯示 [新增 SAML 憑證] 的螢幕擷取畫面。

  11. 在 [SAML 簽署憑證] 區段中,尋找 [同盟中繼資料 XML],然後選取 [下載],以下載憑證並將其儲存在電腦上。

    顯示憑證下載連結的螢幕擷取畫面。

  12. 在 [設定 AWS Single-Account Access] 區段中,根據您的需求複製適當的 URL。

    顯示 [複製組態 URL] 的螢幕擷取畫面。

建立 Microsoft Entra 測試使用者

在本節中,您將建立名為 B.Simon 的測試使用者。

  1. 以至少是使用者管理員的身分登入 Microsoft Entra 系統管理中心
  2. 瀏覽至 [身分識別]>[使用者]>[所有使用者]。
  3. 在畫面頂端選取 [新增使用者]>[建立新使用者]
  4. 在 [使用者] 屬性中,執行下列步驟:
    1. [顯示名稱] 欄位中,輸入 B.Simon
    2. [使用者主體名稱] 欄位中,輸入 username@companydomain.extension。 例如: B.Simon@contoso.com
    3. 選取 [顯示密碼] 核取方塊,然後記下 [密碼] 方塊中顯示的值。
    4. 選取 [檢閱 + 建立]。
  5. 選取 建立

指派 Microsoft Entra 測試使用者

在本節中,您會將 AWS 單一帳戶存取權授與 B.Simon,使其能夠使用單一登入。

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心
  2. 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[AWS 單一帳戶存取]
  3. 在應用程式的 [概觀] 頁面中,選取 [使用者和群組]
  4. 選取 [新增使用者/群組],然後在 [新增指派] 對話方塊中選取 [使用者和群組]
    1. 在 [使用者和群組] 對話方塊中,從 [使用者] 列表中選取 [B.Simon],然後按一下畫面底部的 [選取] 按鈕。
    2. 如果您預期將角色指派給使用者,則可以從 [選取角色] 下拉式清單中選取該角色。 如果未為此應用程式設定任何角色,您會看到已選取 [預設存取權] 角色。
    3. 在 [新增指派] 對話方塊中,按一下 [指派] 按鈕。

設定 AWS Single-Account Access SSO

  1. 在不同的瀏覽器視窗中,以系統管理員身分登入您的 AWS 公司網站。

  2. 在 AWS 首頁中,搜尋 [IAM],然後按一下。

    AWS 服務頁面的螢幕擷取畫面,其中已醒目提示 [IAM]。

  3. 前往 [存取管理] ->[識別提供者] ,然後按一下 [新增提供者] 按鈕。

    IAM 頁面的螢幕擷取畫面,其中已醒目提示 [識別提供者] 和 [建立提供者]。

  4. [新增識別提供者] 頁面中,執行下列步驟:

    [設定提供者] 的螢幕擷取畫面。

    a. 對於 [提供者類型],選取 [SAML]

    b. 對於 [提供者名稱],請輸入提供者名稱 (例如:WAAD)。

    c. 若要上傳您下載的 中繼資料檔案,請 [選擇檔案]

    d. 按一下 [新增提供者]

  5. 選取 [角色]>[建立角色]

    [角色] 頁面的螢幕擷取畫面。

  6. 在 [Create role] \(建立角色\) 頁面上,執行下列步驟:

    [建立角色] 頁面的螢幕擷取畫面。

    a. 選擇 [信任實體類型],選取 [SAML 2.0 同盟]

    b. 在 [SAML 2.0 型提供者] 下方,選取您先前建立的 [SAML 提供者] (例如:WAAD)。

    c. 選取 [Allow programmatic and AWS Management Console access] \(允許透過程式設計方式和 AWS 管理主控台存取\)

    d. 選取 [下一步]。

  7. [權限原則] 對話方塊中,依您的組織附加適當的原則。 然後選取下一步

    [附加權限原則] 對話方塊的螢幕擷取畫面。

  8. 在 [檢閱] 對話方塊上,執行下列步驟:

    [檢閱] 對話方塊的螢幕擷取畫面。

    a. 在 [角色名稱] 中,輸入您的角色名稱。

    b. 在 [描述]中,輸入角色描述。

    c. 選取 [建立角色]

    d. 視需要建立多個角色,並將其對應至識別提供者。

  9. 使用 AWS 服務帳戶認證從 Microsoft Entra 使用者佈建中的 AWS 帳戶擷取角色。 若要這麼做,請開啟 AWS 主控台首頁。

  10. 在 [IAM] 區段中,選取 [原則],然後按一下 [建立原則]

    IAM 區段的螢幕擷取畫面,其中已醒目提示 [原則]。

  11. 建立您自己的原則,以從 AWS 帳戶擷取所有角色。

    [建立原則] 頁面的螢幕擷取畫面,其中已醒目提示 [JSON]。

    a. 在 [建立原則] 區段中,選取 [JSON] 索引標籤。

    b. 在原則文件中,新增下列 JSON:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                "iam:ListRoles"
                ],
                "Resource": "*"
            }
        ]
    }
    

    c. 按 [下一步:標籤]

  12. 您也可以在下列頁面中新增必要的標籤,然後按一下 [下一步:檢閱]

    [建立原則標籤] 頁面的螢幕擷取畫面。

  13. 定義新的原則。

    [建立原則] 頁面的螢幕擷取畫面,其中已醒目提示 [名稱] 和 [描述] 欄位。

    a. 針對 [名稱],輸入 AzureAD_SSOUserRole_Policy

    b. 針對 [描述],輸入此原則將允許從 AWS 帳戶擷取角色

    c. 選取 [建立原則]

  14. 在 AWS IAM 服務中建立新的使用者帳戶。

    a. 在 AWS IAM 控制台中,選取 [使用者] ,然後按一下 [新增使用者]

    AWS IAM 控制台的螢幕擷取畫面,其中已醒目提示 [使用者]。

    b. 在 [指定使用者詳細資料] 區段中,輸入使用者名稱 AzureADRoleManager,然後選取 [下一步]

    [新增使用者] 頁面的螢幕擷取畫面,其中已醒目提示 [用戶名稱] 和 [存取類型]。

    c. 為此使用者建立新的原則。

    顯示新增使用者頁面的螢幕擷取畫面,您可以在其中建立使用者的原則。

    d. 選取 [直接附加現有的原則]

    e. 在篩選區段 AzureAD_SSOUserRole_Policy 中,搜尋新建立的原則。

    f. 選取原則,然後選取 [下一步]

  15. 檢閱您的選擇,然後選取 [建立使用者]

  16. 若要下載使用者的使用者認證,請在 [安全性認證] 索引標籤中啟用控制台存取。

    顯示安全性認證的螢幕擷取畫面。

  17. 在 Microsoft Entra 使用者佈建區段中輸入這些認證,以便從 AWS 控制台擷取角色。

    顯示下載使用者認證的螢幕擷取畫面。

注意

AWS 必須有一組權限/限制,才能設定 AWS SSO。 若要深入了解 AWS 限制的詳細資訊,請參閱頁面。

如何在 AWS Single-Account Access 中設定角色佈建

  1. 在 Microsoft Entra 管理入口網站的 AWS 應用程式中,前往 [佈建]

    AWS 應用程式的螢幕擷取畫面,其中已醒目提示 [佈建]。

  2. 在 [用戶端祕密] 和 [祕密權杖] 欄位中,分別輸入存取金鑰和祕密。

    [系統管理員認證] 對話方塊的螢幕擷取畫面。

    a. 在 clientsecret 欄位中,輸入 AWS 使用者存取金鑰。

    b. 在 [祕密權杖] 欄位中,輸入 AWS 使用者祕密。

    c. 選取 [測試連線]。

    d. 選取 [儲存] 來儲存設定。

  3. 針對 [設定] 區段中的 [佈建狀態],選取 [開啟]。 然後選取儲存

    [設定] 區段的螢幕擷取畫面,其中已醒目提示 [開啟]。

注意

佈建服務只會將角色從 AWS 匯入 Microsoft Entra ID。 此服務不會將使用者和群組從 Microsoft Entra ID 佈建至 AWS。

注意

在儲存布建認證後,必須等候初始同步週期開始執行。 同步作業通常需要 40 分鐘左右的時間才能完成。 您可以在 [佈建] 頁面底部的 [目前狀態] 底下看到狀態。

建立 AWS Single-Account Access 測試使用者

本節的目標是要在 AWS Single-Account Access 中建立名為 B.Simon 的使用者。 AWS Single-Account Access 不需要在其系統中針對 SSO 建立使用者,因此您不需要在這裡執行任何動作。

測試 SSO

在本節中,您會使用下列選項來測試您的 Microsoft Entra 單一登入設定。

SP 起始:

  • 按一下 [測試此應用程式],這會重新導向至您可以在其中起始登入流程的 AWS 單一帳戶存取登入 URL。

  • 直接移至 AWS Single-Account Access 登入 URL,然後從該處起始登入流程。

IDP 起始:

  • 按一下 [測試此應用程式],您應該會自動登入您已設定 SSO 的 AWS 單一帳戶存取。

您也可以使用 Microsoft「我的應用程式」,以任何模式測試應用程式。 當您在 [我的應用程式] 中按一下 AWS Single-Account Access 磚,如果是在 SP 模式中設定,系統會將您重新導向至應用程式登入頁面來起始登入流程,而如果是在 IDP 模式中設定,則應該會自動登入您已設定 SSO 的 AWS Single-Account Access。 如需「我的應用程式」的詳細資訊,請參閱我的應用程式簡介

已知問題

  • AWS 單一帳戶存取佈建整合不能用於 AWS 中國區域。

  • 在 [佈建] 區段中,[對應] 子區段會顯示「正在載入...」訊息且永遠不會顯示屬性對應。 目前唯一支援的佈建工作流程是從 AWS 將角色匯入 Microsoft Entra ID ,以供在使用者或群組指派期間選取。 此屬性對應是預先決定的,無法加以設定。

  • [佈建] 區段只支援一次輸入一個 AWS 租用戶的一組認證。 所有匯入的角色都會寫入 AWS 租用戶的 Microsoft Entra ID servicePrincipal物件appRoles 屬性。

    您可以從資源庫將多個 AWS 租用戶 (以 servicePrincipals代表)新增至 Microsoft Entra ID 以進行佈建。 不過,有一個已知的問題,就是無法自動從用於佈建的多個 AWS servicePrincipals 中,將所有匯入的角色寫入用於 SSO 的單一 servicePrincipal

    因應措施如下:您可以使用 Microsoft Graph API 來擷取所有匯入每個 AWS servicePrincipal (已設定佈建) 的 appRoles。 接著,您可以將這些角色字串新增至已設定 SSO 的 AWS servicePrincipal

  • 角色必須符合下列需求,才能從 AWS 匯入 Microsoft Entra ID :

    • 角色必須只有一個定義在 AWS 中的 saml 提供者
    • 角色的 ARN (Amazon Resource Name) 和相關 SAML 提供者的 ARN 長度合計必須小於 240 個字元。

變更記錄檔

  • 01/12/2020 - 將角色長度限制從 119 個字元增加到 239 個字元。

下一步

設定 AWS Single-Account Access 後,您可以強制執行工作階段控制,以即時防止組織的敏感性資料遭到外洩和滲透。 工作階段控制項會從條件式存取延伸。 了解如何使用適用於雲端的 Microsoft Defender 應用程式來強制執行工作階段控制項