使用 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 驗證的檔案傳輸工作流程順暢移轉,而不需要變更使用者的認證或需要自訂授權者。

您可以透過 SFTP AWS Managed Microsoft AD、FTPS 和 FTP 安全地為 AWS Directory Service 使用者和群組提供存取亞馬遜簡單儲存服務 (Amazon S3) 或亞馬遜彈性檔案系統 (Amazon EFS) 中的資料。如果您使用 Active Directory 來儲存使用者的認證,您現在可以更輕鬆地為這些使用者啟用檔案傳輸。

您可以使用 Active Directory 連接器,提供內部部署環境或 AWS 雲端中使用中目錄群組的存取權。 AWS Managed Microsoft AD 您可以授與已在 Microsoft Windows 環境中 (在 AWS 雲端或內部部署網路中) 中設定的使用者存取用 AWS Managed Microsoft AD 於識別身分的 AWS Transfer Family 伺服器。

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

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

  • Transfer Family 不支援使用 AWS Managed Microsoft AD 或 AD Connector 為您現有的無線電式 MFA 基礎架構啟用多因素驗證 (MFA)。

  • AWS Transfer Family 不支援受管理的作用中目錄的複寫區域。

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

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

  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 使用者存取 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. 請在 https://console.aws.amazon.com/transfer/ 開啟 AWS Transfer Family 主控台,然後選擇「建立伺服器」。

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

    注意

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

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

    顯示已選取「Directory Service」的「選擇身分識別提供者」區段
  5. 清單包含您已設定的所有受管理目錄。從清單中選擇目錄,然後選擇「下一步」。

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

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

重要

如果您在 Transfer Family 伺服器中 AWS Directory Service 使用了 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(安全殼層)連接到服務器

設定伺服器和使用者之後,您可以使用 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。

注意

您可以指定簡單的使用者名稱。但是,在這種情況下,活動目錄代碼必須搜索聯合中的所有目錄。這可能會限制搜尋,而且即使使用者應具有存取權,驗證也可能會失敗。

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

使用樹系和信任連線 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 之間的雙向信任

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

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

使用 Azure 作用中 AWS 目錄網域服務的 Directory Service

  • 若要利用您現有的作用中目錄樹系來滿足您的 SFTP 傳輸需求,您可以使用作用中目錄連接器

  • 如果您想要在完全受管理的服務中享有 Active Directory 和高可用性的好處,您可以使用 AWS Directory Service for Microsoft Active Directory. 如需詳細資訊,請參閱 使用 AWS Directory Service 身分識別提供者

本主題說明如何使用作用中目錄連接器和 Azure 作用中目錄網域服務 (Azure ADDS) 來驗證 SFTP 傳輸使用者與 Azure 作用中目錄

在您開始使用 Azure 作用中 AWS 目錄網域服務的 Directory Service 之前

對於 AWS,您需要以下內容:

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

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

  • VPC 必須具有互聯網連接

  • 客戶閘道和虛擬私有閘道,可與 Microsoft Azure 進行 site-to-site VPN 連線

對於 Microsoft Azure,您需要以下內容:

  • Azure 活動目錄和活動目錄域服務(Azure 添加)

  • 一個 Azure 資源群組

  • 一個 Azure 虛擬網路

  • 您的 Amazon 虛擬私人雲端和 Azure 資源群組之間的 VPN 連線

    注意

    這可以透過原生 IPSEC 通道或使用 VPN 設備進行。在本主題中,我們使用 Azure 虛擬網路閘道和本機網路閘道之間的 IPSEC 通道。通道必須設定為允許 Azure ADDS 端點與容納 AWS VPC 之子網路之間的流量。

  • 客戶閘道和虛擬私有閘道,可與 Microsoft Azure 進行 site-to-site VPN 連線

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

蔚藍的 AD 和 AWS Transfer Family 架構圖。透過網際網路連線至 Azure 虛擬網路的 AWS VPC,使用 AWS Directory Service 連接器至 Azure AD 網域服務。

第 1 步:添加 Azure 活動目錄域服務

Azure AD 預設不支援網域加入執行個體。若要執行網域加入之類的動作,並使用群組原則等工具,系統管理員必須啟用 Azure 作用中的目錄網域服務。如果您尚未新增 Azure AD DS,或您現有的實作與您希望 SFTP 傳輸伺服器使用的網域沒有關聯,則必須新增執行個體。

如需啟用 Azure 作用中目錄網域服務 (Azure ADDS) 的相關資訊,請參閱教學課程:建立及設定 Azure 作用中目錄網域服務受管理的網域

注意

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

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

步驟 2:建立服務帳戶

Azure AD 必須有一個屬於 Azure 新增中系統管理員群組的一部分的服務帳戶。此帳戶與作用 AWS 中目錄連接器搭配使用。請確定此帳戶與 Azure 新增項目同步。

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

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

Azure AD 多因素驗證詳細資料,會針對兩個使用者顯示 MFA 狀態為已停用。

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

在您設定 Azure ADDS,並使用虛擬私人 AWS VPC 端和 Azure 虛擬網路之間的 IPSEC VPN 通道建立服務帳戶之後,您可以從任何 AWS EC2 執行個體偵測 Azure 新增 DNS IP 位址來測試連線。

確認連線處於作用中狀態後,您可以繼續以下步驟。

使用 AD Connector 設定 AWS 目錄
  1. 開啟「Directory Service」主控台並選取「目錄」。

  2. 選取 [設定目錄]。

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

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

  5. 選取「下一步」,然後依下列方式填入欄位:

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

    • DNS IP 地址:輸入您的天藍添加的 IP 地址。

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

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

現在目錄狀態應該是「用中」,並且可以與 SFTP 傳輸伺服器搭配使用。

「目錄服務」畫面會視需要顯示狀態為「作用中」的目錄。

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

使用 SFTP 通訊協定和 Directory Service 的身分識別提供者類型建立 Transfer Family 列AWS 伺服器。從目錄下拉式清單中,選取您在步驟 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
PowerShell 顯示正在擷取之物件 SID 的視窗。
授予群組存取權
  1. 打開以下置。https://console.aws.amazon.com/transfer/

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

  3. 輸入您從上一個程序的輸出接收到的 SID。

  4. 對於 [存取],請選擇群組的 AWS Identity and Access Management 角色。

  5. 在「策略」區段中,選擇策略。預設值為 None (無)

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

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

傳輸伺服器的詳細資料看起來應該類似下列內容:

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

步驟 6:測試使用者

您可以 test (測試使用者) 使用者是否有權存取您伺服器的 AWS Managed Microsoft AD 目錄。使用者必須位於 [端點設定] 頁面 [存取] 區段中所列的一個群組 (外部 ID) 中。如果使用者不在任何群組中,或位於多個群組中,則不會授與該使用者存取權。