自訂身分提供者解決方案 - AWS Transfer Family

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

自訂身分提供者解決方案

AWS Transfer Family 自訂身分提供者解決方案是一種模組化的自訂身分提供者解決方案,可解決企業在實作服務時有許多常見的身分驗證和授權使用案例。此解決方案為實作具有精細每個使用者工作階段組態的自訂身分提供者提供可重複使用的基礎,並區隔身分驗證和授權邏輯,為各種使用案例提供靈活且easy-to-maintain的基礎。

透過 AWS Transfer Family 自訂身分提供者解決方案,您可以解決常見的企業身分驗證和授權使用案例。此模組化解決方案提供:

  • 實作自訂身分提供者的可重複使用基礎

  • 精細的每位使用者工作階段組態

  • 獨立的身分驗證和授權邏輯

自訂身分工具組的實作詳細資訊

解決方案為各種使用案例提供靈活且可維護的基礎。若要開始使用,請檢閱位於 https://https://github.com/aws-samples/toolkit-for-aws-transfer-family 的工具組,然後遵循入門區段中的部署指示。

GitHub 中提供的自訂身分提供者工具組架構圖。
注意

如果您先前已使用自訂身分提供者範本和範例,請考慮改用此解決方案。接下來,供應商特定的模組將標準化此解決方案。持續的維護和功能增強功能將套用至此解決方案。

此解決方案包含用於實作自訂提供者的標準模式,其中包含記錄和存放所需其他工作階段中繼資料的位置等詳細資訊 AWS Transfer Family,例如 HomeDirectoryDetails 參數。此解決方案為實作具有精細每個使用者工作階段組態的自訂身分提供者提供了可重複使用的基礎,並將身分提供者身分驗證邏輯與建立傳回 Transfer Family 的組態的可重複使用邏輯分離,以完成身分驗證並建立工作階段的設定。

此解決方案的程式碼和支援資源可在 https://https://github.com/aws-samples/toolkit-for-aws-transfer-family 取得。

工具組包含下列功能:

  • 佈建所需資源的AWS Serverless Application Model範本。或者,部署和設定 Amazon API Gateway 以納入 AWS WAF,如使用 AWS Transfer FamilyAWS Web Application Firewall 和 Amazon API Gateway 保護的部落格文章所述。

  • Amazon DynamoDB 結構描述,用於儲存有關身分提供者的組態中繼資料,包括使用者工作階段設定,例如 HomeDirectoryDetailsRolePolicy

  • 模組化方法可讓您在未來將新的身分提供者做為模組新增至解決方案。

  • 屬性擷取:選擇性地從支援的身分提供者擷取 IAM 角色和 POSIX Profile (UID 和 GID) 屬性,包括 AD、LDAP 和 Okta。

  • 支援使用相同的解決方案部署連接到單一 Transfer Family 伺服器和多個 Transfer Family 伺服器的多個身分提供者。

  • 內建 IP 允許清單檢查,例如 IP 允許清單,可選擇性地根據每個使用者或每個身分提供者進行設定。

  • 提供可設定日誌層級和追蹤支援的詳細記錄,以協助故障診斷。

開始部署自訂身分提供者解決方案之前,您需要有下列 AWS 資源。

  • 具有私有子網路的 Amazon Virtual Private Cloud (VPC),可透過 NAT 閘道或 DynamoDB 閘道端點進行網際網路連線。

  • 執行下列任務的適當 IAM 許可:

    • 部署 custom-idp.yaml AWS CloudFormation 範本、

    • 建立 AWS CodePipeline 專案

    • 建立 AWS CodeBuild 專案

    • 建立 IAM 角色和政策

重要

您必須將解決方案部署到 AWS 區域 包含目標 Transfer Family 伺服器的相同 AWS 帳戶 和 。

支援的身分提供者

下列清單包含自訂身分提供者解決方案支援的身分提供者詳細資訊。

供應商 密碼流程 公有金鑰流程 多重因素 屬性擷取 詳細資訊
Active Directory 和 LDAP

使用者驗證可作為公有金鑰驗證流程的一部分執行。

Argon2 (本機雜湊) Argon2 雜湊會存放在「本機」密碼型身分驗證使用案例的使用者記錄中。
Amazon Cognito 是*

僅以時間為基礎的一次性密碼 (TOTP) 為基礎的多重要素驗證。

*不支援以 SMS 為基礎的 MFA。

Entra ID (先前稱為 Azure AD)
Okta 是* 僅限以 TOTP 為基礎的 MFA。
公有金鑰 公有金鑰存放在 DynamoDB 的使用者記錄中。
Secrets Manager