

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

# 自訂身分提供者解決方案
<a name="custom-idp-toolkit"></a>

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

透過 AWS Transfer Family 自訂身分提供者解決方案，您可以解決常見的企業身分驗證和授權使用案例。此模組化解決方案提供：
+ 實作自訂身分提供者的可重複使用基礎 
+ 精細的每位使用者工作階段組態 
+ 分開的身分驗證和授權邏輯 

## 自訂身分工具組的實作詳細資訊
<a name="idp-toolkit-implementation-details"></a>

解決方案為各種使用案例提供靈活且可維護的基礎。若要開始使用，請檢閱位於 https：//[https://github.com/aws-samples/toolkit-for-aws-transfer-family](https://github.com/aws-samples/toolkit-for-aws-transfer-family) 的工具組，然後遵循[入門](https://github.com/aws-samples/toolkit-for-aws-transfer-family/tree/main/solutions/custom-idp#getting-started)區段中的部署說明。

![\[GitHub 中提供的自訂身分提供者工具組架構圖。\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/custom-idp-solution-high-level-architecture.png)


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

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

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

工具組包含下列功能：
+ 佈建所需資源的[AWS Serverless Application Model](https://aws.amazon.com/serverless/sam)範本。或者，部署和設定 Amazon API Gateway 以納入 AWS WAF，如使用 [AWS Transfer FamilyAWS Web Application Firewall 和 Amazon API Gateway 保護](https://aws.amazon.com/blogs/storage/securing-aws-transfer-family-with-aws-web-application-firewall-and-amazon-api-gateway/)的部落格文章所述。
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb) 結構描述，用於儲存有關身分提供者的組態中繼資料，包括使用者工作階段設定，例如 `HomeDirectoryDetails`、 `Role`和 `Policy`。
+ 模組化方法，可讓您在未來將新的身分提供者做為模組新增至解決方案。
+ 屬性擷取：選擇性地從支援的身分提供者擷取 IAM 角色和 POSIX 設定檔 (UID 和 GID) 屬性，包括 AD、LDAP 和 Okta。
+ 支援使用相同的解決方案部署連接到單一 Transfer Family 伺服器和多個 Transfer Family 伺服器的多個身分提供者。
+ 內建 IP 允許清單檢查，例如 IP 允許清單，可選擇性地根據每個使用者或每個身分提供者進行設定。
+ 具有可設定日誌層級和追蹤支援的詳細記錄，以協助故障診斷。

開始部署自訂身分提供者解決方案之前，您需要有下列 AWS 資源。
+ 具有私有子網路的 Amazon Virtual Private Cloud (VPC)，可透過 NAT 閘道或 DynamoDB 閘道端點進行網際網路連線。
+ 執行下列任務的適當 IAM 許可：
  + 部署 `custom-idp.yaml` CloudFormation 範本、
  + 建立 AWS CodePipeline 專案
  + 建立 AWS CodeBuild 專案
  + 建立 IAM 角色和政策

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

## 支援的身分提供者
<a name="custom-supported-idp"></a>

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


| 供應商 | 密碼流程 | 公有金鑰流程 | 多重因素 | 屬性擷取 | 詳細資訊 | 
| --- | --- | --- | --- | --- | --- | 
| Active Directory 和 LDAP | 是 | 是 | 否 | 是 | 使用者驗證可作為公有金鑰驗證流程的一部分執行。 | 
| Argon2 （本機雜湊） | 是 | 否 | 否 | 否 | Argon2 雜湊會存放在「本機」密碼型身分驗證使用案例的使用者記錄中。 | 
| Amazon Cognito | 是 | 否 | 是\$1 | 否 | 僅限以時間為基礎的一次性密碼 (TOTP) 為基礎的多重要素驗證。 \$1不支援以 SMS 為基礎的 MFA。 | 
| Entra ID （先前為 Azure AD) | 是 | 否 | 否 | 否 |  | 
| Okta | 是 | 是 | 是\$1 | 是 | 僅限 TOTP 型 MFA。 | 
| 公有金鑰 | 否 | 是 | 否 | 否 | 公有金鑰存放在 DynamoDB 的使用者記錄中。 | 
| Secrets Manager | 是 | 是 | 否 | 否 |  | 