ある企業が、AWS Transfer Family を使用して社外パートナーとの SFTP によるファイル転送を実現したい。転送されたファイルは S3 バケットに自動的に保存される構成にする。パートナーはユーザー名とパスワードで認証する。認証情報の管理と定期的なパスワードローテーションを安全かつ最小限の運用負荷で実現したい。最も適切な認証方法はどれか。
- A. AWS Transfer Family の組み込みのサービスマネージドユーザー(SSH キーペア認証)を使用し、各パートナーにキーペアを発行する。
- B. 社内の LDAP サーバーを認証バックエンドとして使用し、Transfer Family から直接 LDAP に問い合わせる。
- C. Amazon Cognito ユーザープールをパートナーのユーザー管理に使用し、Cognito の認証トークンで Transfer Family にアクセスする。
- D. AWS Secrets Manager にユーザーの認証情報を保存し、Transfer Family のカスタム ID プロバイダー(API Gateway + Lambda)と統合してパスワード認証を実現する。
解答と解説を見る
正解: D
AWS Transfer Family でパスワード(ユーザー名/パスワード)認証を使う場合、カスタム ID プロバイダーとして API Gateway + Lambda を設定し、Lambda が AWS Secrets Manager から認証情報を取得・検証する構成が推奨される。Secrets Manager を使うことで認証情報の安全な保存と自動ローテーションが可能になる。Transfer Family 標準の ID プロバイダーはSSHキー認証のみをサポートしており、パスワード認証には対応していないため選択肢Aは要件を満たさない。選択肢Cの Cognito はエンドユーザー向けアプリケーション認証に適しており、Transfer Family の SFTP プロトコルと直接統合できない。選択肢Bは AWS Transfer Family から社内 LDAP サーバーへの直接接続機能はなく、カスタム ID プロバイダーを介した構成が必要になるため正確ではない。
📚 関連サービスの解説: AWS Secrets Manager ・ Amazon API Gateway