使用自訂身分識別提供者 - AWS Transfer Family

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

使用自訂身分識別提供者

若要驗證您的使用者,您可以使用現有的身分識別提供者 AWS Transfer Family。您可以使用功能整合身分供應商,該 AWS Lambda 功能會驗證並授權您的使用者存取 Amazon S3 或 Amazon Elastic File System (Amazon EFS)。如需詳細資訊,請參閱 用 AWS Lambda 於整合您的身分識別提供者。您也可以存取指標的 CloudWatch 圖形,例如在「 AWS Transfer Family 管理主控台」中傳輸的檔案數目和位元組數,讓您透過單一窗格來監控檔案傳輸,使用集中式儀表板來監控檔案傳輸。

或者,您可以使用單一 Amazon API Gateway 方法提供 RESTful 界面。Transfer Family 會呼叫此方法來連接到您的身分供應商,該供應商會對您的使用者進行身分驗證並授權存取 Amazon S3 或 Amazon EFS。如果您需要 RESTful API 來整合身分識別提供者,或者想要使用其功能來進行地理封鎖或速率限制 AWS WAF 要求,請使用此選項。如需詳細資訊,請參閱 使用 Amazon API Gateway 整合您的身分供應商

在任何一種情況下,您都可以使用AWS Transfer Family 控制台CreateServerAPI 操作創建新服務器。

注意

Transfer Family 提供部落格文章和研討會,引導您逐步建立檔案傳輸解決方案。此解決方案利 AWS Transfer Family 用受管 SFTP/FTPS 端點和 Amazon Cognito 和 DynamoDB 進行使用者管理。

部落格文章可在使用 Amazon Cognito 做為身分供應商 AWS Transfer Family 和 Amazon S3 中取得。您可以在此處查看工作坊的詳細信

AWS Transfer Family 提供下列選項以使用自訂身分識別提供者。

  • 用於連 AWS Lambda 接您的身分提供者 — 您可以使用由 Lambda 函數支援的現有身分識別提供者。您提供 Lambda 函數的名稱。如需詳細資訊,請參閱 用 AWS Lambda 於整合您的身分識別提供者

  • 使用 Amazon API Gateway 連接您的身分供應商 — 您可以建立由 Lambda 函數支援的 API Gateway 方法,用作身分識別供應商。您提供 Amazon API Gateway 網址和叫用角色。如需詳細資訊,請參閱 使用 Amazon API Gateway 整合您的身分供應商

對於任一選項,您也可以指定如何進行驗證。

  • 密碼或金鑰 — 使用者可以使用其密碼或金鑰進行驗證。這是預設值。

  • 僅限密碼 — 使用者必須提供密碼才能連線。

  • 僅限金鑰 — 使用者必須提供私密金鑰才能連線。

  • 密碼與金鑰 — 使用者必須同時提供私密金鑰和密碼才能連線。伺服器會先檢查金鑰,然後如果金鑰有效,系統會提示輸入密碼。如果提供的私密金鑰與儲存的公開金鑰不符,驗證會失敗。

使用多種驗證方法向您的自訂身分提供者進行驗證

當您使用多種驗證方法時,Transfer Family 伺服器會控制 AND 邏輯。Transfer Family 會將此視為向您的自訂身分提供者提出的兩個個別要求:不過,這些要求的效果是合

這兩個請求必須以正確的響應成功返回,以便完成身份驗證。Transfer Family 需要完成兩個回應,這表示它們包含所有必要的元素 (如果您使用 Amazon EFS 進行儲存,則為角色、主目錄、政策和 POSIX 設定檔)。Transfer Family 還要求密碼響應不能包含公鑰。

公開金鑰要求必須具有與身分識別提供者不同的回應。使用「密碼」或「金鑰」或「密碼金鑰」時,該行為不會變更。

SSH/SFTP 通訊協定會先使用公開金鑰驗證來挑戰軟體用戶端,然後要求密碼驗證。在允許使用者完成驗證之前,此作業會要求兩者都成功。