使用 AWS Directory Service 身分提供者 - AWS Transfer Family

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

使用 AWS Directory Service 身分提供者

本主題說明如何使用適用於 的 AWS Directory Service 身分提供者 AWS Transfer Family。

使用 AWS Directory Service for Microsoft Active Directory

您可以使用 AWS Transfer Family 來驗證檔案傳輸最終使用者 AWS Directory Service for Microsoft Active Directory。它可無縫遷移依賴 Active Directory 身分驗證的檔案傳輸工作流程,而無需變更最終使用者的憑證或需要自訂授權方。

使用 AWS Managed Microsoft AD,您可以FTP安全地透過 SFTP、 FTPS和 為存放在 Amazon Simple Storage Service (Amazon S3) 或 Amazon Elastic File System (Amazon) 中的資料提供 AWS Directory Service 使用者和群組存取權EFS。如果您使用 Active Directory 來存放使用者的憑證,您現在有更簡單的方法可以為這些使用者啟用檔案傳輸。

您可以使用 Active Directory 連接器, AWS Managed Microsoft AD 在內部部署環境中或在 AWS 雲端中提供 Active Directory 群組的存取權。您可以讓已在 Microsoft Windows 環境中設定的使用者存取用於身分 AWS Managed Microsoft AD 的 AWS Transfer Family 伺服器,無論是在 AWS 雲端或其內部部署網路中。

注意
  • AWS Transfer Family 不支援 Simple AD。

  • Transfer Family 不支援跨區域 Active Directory 組態:我們僅支援與 Transfer Family 伺服器位於相同區域的 Active Directory 整合。

  • Transfer Family 不支援使用 AWS Managed Microsoft AD 或 AD Connector 來啟用現有 RADIUS型MFA基礎設施的多重要素身分驗證 (MFA)。

  • AWS Transfer Family 不支援 Managed Active Directory 的複寫區域。

若要使用 AWS Managed Microsoft AD,您必須執行下列步驟:

  1. 使用 AWS Directory Service 主控台建立一或多個 AWS Managed Microsoft AD 目錄。

  2. 使用 Transfer Family 主控台來建立使用 AWS Managed Microsoft AD 作為其身分提供者的伺服器。

  3. 從一或多個 AWS Directory Service 群組新增存取權。

  4. 雖然並非必要,但建議您測試並驗證使用者存取權。

開始使用 之前 AWS Directory Service for Microsoft Active Directory

為您的 AD 群組提供唯一識別碼

您必須先為 Microsoft AD 目錄中的每個群組提供唯一識別碼 AWS Managed Microsoft AD,才能使用 。您可以使用每個群組的安全識別碼 (SID) 來執行此操作。您關聯的群組使用者可透過使用 AWS Transfer Family 啟用的通訊協定存取您的 Amazon S3 或 Amazon EFS 資源。

使用下列 Windows PowerShell 命令來擷取群組SID的 ,取代 YourGroupName 群組的名稱。

Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
注意

如果您使用 AWS Directory Service 作為身分提供者,且 userPrincipalNameSamAccountName具有不同的值,則 AWS Transfer Family 接受 中的值SamAccountName。Transfer Family 不接受 中指定的值userPrincipalName

將 AWS Directory Service 許可新增至您的角色

您也需要 AWS Directory Service API許可才能使用 AWS Directory Service 作為身分提供者。需要或建議下列許可:

  • ds:DescribeDirectories Transfer Family 需要 才能查詢目錄

  • ds:AuthorizeApplication 需要 才能新增 Transfer Family 的授權

  • ds:UnauthorizeApplication 建議移除任何臨時建立的資源,以防伺服器建立過程中發生問題

將這些許可新增至您用來建立 Transfer Family 伺服器的角色。如需這些許可的詳細資訊,請參閱AWS Directory Service API許可:動作、資源和條件參考

使用 Active Directory 領域

當您考慮如何讓 Active Directory 使用者存取 AWS Transfer Family 伺服器時,請記住使用者的領域及其群組的領域。理想情況下,使用者的領域及其群組的領域應該相符。也就是說,使用者和群組都位於預設領域中,或兩者都位於信任領域中。如果不是這種情況,則 Transfer Family 無法驗證使用者。

您可以測試使用者,以確保組態正確。如需詳細資訊,請參閱 測試使用者。如果使用者/群組領域發生問題,您會收到錯誤,找不到使用者群組 的相關存取權

選擇 AWS Managed Microsoft AD 作為您的身分提供者

本節說明如何 AWS Directory Service for Microsoft Active Directory 搭配伺服器使用 。

AWS Managed Microsoft AD 與 Transfer Family 搭配使用
  1. 登入 AWS Management Console 並在 開啟 AWS Directory Service 主控台https://console.aws.amazon.com/directoryservicev2/

    使用 AWS Directory Service 主控台設定一或多個受管目錄。如需詳細資訊,請參閱《 AWS Directory Service 管理員指南》中的 AWS Managed Microsoft AD

    Directory Service 主控台會顯示目錄清單及其詳細資訊。
  2. 在 開啟 AWS Transfer Family 主控台https://console.aws.amazon.com/transfer/,然後選擇建立伺服器

  3. 選擇通訊協定頁面上,從清單中選擇一或多個通訊協定。

    注意

    如果您選擇 FTPS,則必須提供 AWS Certificate Manager 憑證。

  4. 對於選擇身分提供者 ,選擇 AWS Directory Service

    主控台螢幕擷取畫面顯示選擇已選取目錄服務的身分提供者區段。
  5. 目錄清單包含您已設定的所有受管目錄。從清單中選擇目錄,然後選擇下一個

    注意
  6. 若要完成建立伺服器,請使用下列其中一個程序:

    在這些程序中,繼續執行選擇身分提供者之後的步驟。

重要

AWS Directory Service 如果您在 Transfer Family 伺服器中使用 Microsoft AD 目錄,則無法刪除 中的 Microsoft AD 目錄。您必須先刪除伺服器,然後才能刪除目錄。

授予群組存取權

建立伺服器之後,您必須選擇目錄中的哪些群組應該具有使用 上傳和下載已啟用通訊協定檔案的存取權 AWS Transfer Family。您可以建立存取權 來執行此操作。

注意

使用者必須直接屬於您要授予存取權的群組。例如,假設 Bob 是使用者,他屬於 groupA ,且 groupA 本身包含在 groupB 中。

  • 如果您授予 groupA 的存取權,Bob 會獲得存取權。

  • 如果您授予 groupB 的存取權 (而不是 groupA ),Bob 沒有存取權。

授予群組存取權
  1. 在 開啟 AWS Transfer Family 主控台https://console.aws.amazon.com/transfer/

  2. 導覽至您的伺服器詳細資訊頁面。

  3. 存取區段中,選擇新增存取

  4. 輸入您要存取此伺服器的 AWS Managed Microsoft AD 目錄SID的 。

    注意

    如需有關如何SID為您的群組尋找 的資訊,請參閱 開始使用 之前 AWS Directory Service for Microsoft Active Directory

  5. 針對存取 ,選擇群組的 AWS Identity and Access Management (IAM) 角色。

  6. 政策區段中,選擇政策。預設設定為

  7. 針對主目錄 ,選擇與群組的主目錄對應的 S3 儲存貯體。

    注意

    您可以透過建立工作階段政策來限制使用者看到的儲存貯體部分。例如,若要將使用者限制為/filetest目錄下的自有資料夾,請在方塊中輸入下列文字。

    /filetest/${transfer:UserName}

    若要進一步了解如何建立工作階段政策,請參閱 為 Amazon S3 儲存貯體建立工作階段政策

  8. 選擇新增以建立關聯。

  9. 選擇您的伺服器。

  10. 選擇新增存取權

    1. 輸入群組SID的 。

      注意

      如需有關如何尋找 的資訊SID,請參閱 開始使用 之前 AWS Directory Service for Microsoft Active Directory

  11. 選擇新增存取權

存取區段中,會列出伺服器的存取。

主控台顯示列出伺服器存取權的存取區段。

測試使用者

您可以測試使用者是否可以存取伺服器的 AWS Managed Microsoft AD 目錄。

注意

使用者必須正好位於端點組態頁面的存取區段中列出的一個群組 (外部 ID)。如果使用者未處於任何群組中,或位於多個單一群組中,則不會授予該使用者存取權。

測試特定使用者是否具有存取權
  1. 在伺服器詳細資訊頁面上,選擇動作 ,然後選擇測試

  2. 對於身分提供者測試 ,輸入位於其中一個具有存取權群組中的使用者的登入憑證。

  3. 選擇 測試

您會看到成功的身分提供者測試,顯示選取的使用者已獲得伺服器存取權。

成功身分提供者測試回應的主控台螢幕擷取畫面。

如果使用者屬於多個具有存取權的群組,則會收到下列回應。

"Response":"", "StatusCode":200, "Message":"More than one associated access found for user's groups."

刪除群組的伺服器存取權

刪除群組的伺服器存取權
  1. 在伺服器詳細資訊頁面上,選擇動作 ,然後選擇刪除存取

  2. 在對話方塊中,確認您要移除此群組的存取權。

當您返回伺服器詳細資訊頁面時,您會看到不再列出此群組的存取權。

使用 連線至伺服器 SSH(Secure Shell)

設定伺服器和使用者之後,您可以使用 連線至伺服器,SSH並為具有存取權的使用者使用完整格式的使用者名稱。

sftp user@active-directory-domain@vpc-endpoint

例如:transferuserexample@mycompany.com@vpce-0123456abcdef-789xyz.vpc-svc-987654zyxabc.us-east-1.vpce.amazonaws.com

此格式以聯合搜尋為目標,限制搜尋可能較大的 Active Directory。

注意

您可以指定簡單的使用者名稱。不過,在此情況下,Active Directory 程式碼必須搜尋聯合中的所有目錄。這可能會限制搜尋,即使使用者應具有存取權,身分驗證也可能會失敗。

驗證後,使用者會位於您在設定使用者時指定的主目錄中。

使用樹系和信任 AWS Transfer Family 連線到自我管理的 Active Directory

自我管理 Active Directory (AD) 中的使用者也可以 AWS IAM Identity Center 用於單一登入存取 AWS 帳戶 和 Transfer Family 伺服器。若要這麼做, AWS Directory Service 具有下列可用選項:

  • 單向森林信任 (內部部署 Active Directory 的傳出 AWS Managed Microsoft AD 和傳入) 僅適用於根網域。

  • 對於子網域,您可以使用下列其中一項:

    • 在 AWS Managed Microsoft AD 和內部部署 Active Directory 之間使用雙向信任

    • 對每個子網域使用單向外部信任。

使用受信任網域連線至伺服器時,使用者需要指定受信任網域,例如 transferuserexample@mycompany.com

使用 AWS Directory Service for Azure Active Directory 網域服務

  • 若要利用現有的 Active Directory 樹系來滿足您的SFTP轉接需求,您可以使用 Active Directory Connector

  • 如果您想要 Active Directory 的優點和完全受管服務的高可用性,您可以使用 AWS Directory Service for Microsoft Active Directory。如需詳細資訊,請參閱 使用 AWS Directory Service 身分提供者

本主題說明如何使用 Active Directory Connector 和 Azure Active Directory 網域服務 (Azure ADDS) 透過 Azure Active Directory 來驗證 SFTP Transfer 使用者。

開始使用 AWS Directory Service for Azure Active Directory 網域服務之前

對於 AWS,您需要下列項目:

  • 在您使用 Transfer Family 伺服器的 AWS 區域中的虛擬私有雲端 (VPC)

  • 您的 中至少有兩個私有子網路 VPC

  • VPC 必須有網際網路連線

  • 用於與 Microsoft Azure VPN連線的客戶閘道和虛擬私有閘道 site-to-site

對於 Microsoft Azure,您需要下列項目:

  • Azure Active Directory 和 Active Directory 網域服務 (Azure ADDS)

  • Azure 資源群組

  • Azure 虛擬網路

  • VPN Amazon VPC與 Azure 資源群組之間的連線

    注意

    這可以透過原生IPSEC通道或使用 VPN 設備。在本主題中,我們會在 Azure Virtual 網路閘道與本機網路閘道之間使用IPSEC通道。必須設定通道,以允許 Azure ADDS端點與存放 的子網路之間的流量 AWS VPC。

  • 用於與 Microsoft Azure VPN連線的客戶閘道和虛擬私有閘道 site-to-site

下圖顯示開始之前所需的組態。

Azure AD 和 AWS Transfer Family 架構圖表。透過 AWS VPC網際網路連線至 Azure 虛擬網路,使用 AWS 目錄服務連接器連線至 Azure AD 網域服務。

步驟 1:新增 Azure Active Directory 網域服務

預設情況下,Azure AD 不支援網域加入執行個體。若要執行網域聯結等動作,以及使用群組政策等工具,管理員必須啟用 Azure Active Directory 網域服務。如果您尚未新增 Azure AD DS,或現有的實作未與您希望SFTP轉接伺服器使用的網域建立關聯,則必須新增執行個體。

如需啟用 Azure Active Directory 網域服務 (Azure ADDS) 的相關資訊,請參閱教學課程:建立和設定 Azure Active Directory 網域服務受管網域

注意

當您啟用 Azure 時ADDS,請確定已針對您要連線 SFTP Transfer Server 的資源群組和 Azure AD 網域進行設定。

Azure AD 網域服務畫面顯示資源群組 bob.us 執行中。

步驟 2:建立服務帳戶

Azure AD 必須有一個服務帳戶,屬於 Azure 中的管理群組ADDS。此帳戶會與 AWS Active Directory 連接器搭配使用。請確定此帳戶與 Azure 同步ADDS。

Azure AD 畫面顯示使用者的設定檔。
提示

使用 SFTP通訊協定的 Transfer Family 伺服器不支援 Azure Active Directory 的多重要素驗證。Transfer Family 伺服器無法在使用者向 進行身分驗證後提供MFA權杖SFTP。嘗試連線MFA之前,請務必停用 。

Azure AD 多重要素驗證詳細資訊,顯示兩個使用者MFA的狀態為已停用。

步驟 3:使用 AD Connector 設定 AWS 目錄

設定 Azure ADDS並建立服務帳戶,並在您的 AWS VPC 和 Azure Virtual 網路之間建立IPSECVPN通道後,您可以從任何 AWS EC2執行個體 ping Azure ADDS DNS IP 地址來測試連線。

確認連線作用中後,您可以在下面繼續。

使用 AD Connector 設定您的 AWS 目錄
  1. 開啟 Directory Service 主控台,然後選取目錄

  2. 選取設定目錄

  3. 針對目錄類型,選擇 AD Connector

  4. 選取目錄大小,選取下一個 ,然後選取您的 VPC和子網路。

  5. 選取下一個 ,然後依下列方式填寫欄位:

    • 目錄DNS名稱 :輸入您用於 Azure 的網域名稱ADDS。

    • DNS IP 地址:輸入您的 Azure ADDS IP 地址。

    • 伺服器帳戶使用者名稱和密碼 :輸入您在步驟 2 中建立的服務帳戶詳細資訊:建立服務帳戶

  6. 完成畫面以建立目錄服務。

現在目錄狀態應為作用中 ,並準備好與 SFTP Transfer 伺服器搭配使用。

Directory Services 畫面會視需要顯示一個狀態為作用中的目錄。

步驟 4:設定 AWS Transfer Family 伺服器

使用SFTP通訊協定和 AWS Directory Service 的身分提供者類型來建立 Transfer Family 伺服器。從目錄下拉式清單中,選取您在步驟 3:使用 AD Connector 設定 AWS 目錄中新增的目錄。

注意

如果您在 Transfer Family 伺服器中使用 Microsoft AD 目錄,則無法刪除 AWS Directory Service 中的 Microsoft AD 目錄。您必須先刪除伺服器,然後才能刪除目錄。

步驟 5:授予群組存取權

建立伺服器之後,您必須選擇目錄中的哪些群組應該具有使用 上傳和下載已啟用通訊協定的檔案的存取權 AWS Transfer Family。您可以透過建立存取 來執行此操作。

注意

使用者必須直接屬於您要授予存取權的群組。例如,假設 Bob 是使用者,他屬於 groupA ,且 groupA 本身包含在 groupB 中。

  • 如果您授予 groupA 的存取權,Bob 會獲得存取權。

  • 如果您授予 groupB 的存取權 (而不是 groupA ),Bob 就無法存取。

若要授予存取權,您需要擷取群組SID的 。

使用下列 Windows PowerShell 命令來擷取群組SID的 ,取代 YourGroupName 群組的名稱。

Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
Windows PowerShell 顯示SID正在擷取的物件。
授予對群組的存取權
  1. 開啟 https://console.aws.amazon.com/transfer/

  2. 導覽至您的伺服器詳細資訊頁面,然後在存取區段中,選擇新增存取

  3. 輸入SID您從先前程序的輸出中收到的 。

  4. 針對存取 ,選擇群組 AWS Identity and Access Management 的角色。

  5. 政策區段中,選擇政策。預設值為 None (無)

  6. 針對主目錄 ,選擇與群組的主目錄對應的 S3 儲存貯體。

  7. 選擇新增以建立關聯。

Transfer 伺服器的詳細資訊看起來應該類似以下內容:

Transfer Family 伺服器詳細資訊畫面的一部分,顯示 Identity 提供者的目錄 ID 範例。
Transfer Family 伺服器詳細資訊畫面的一部分,在畫面的存取部分中顯示作用中目錄的外部 ID。

步驟 6:測試使用者

您可以測試 (測試使用者) 使用者是否可以存取您伺服器的 AWS Managed Microsoft AD 目錄。使用者必須正好位於端點組態頁面的存取區段中列出的一個群組 (外部 ID)。如果使用者未處於任何群組中,或位於多個單一群組中,則不會授予該使用者存取權。