質問: activedirectoryを使用したawssftpのカスタムidpの設定 aws sftpのカスタム認証の設定を掘り下げてきましたが、これはブラックホールの1つです。カスタムidpを使用できるようにするための参照はたくさんありますが、具体的な例はありません。active directoryを使用しており、現在aws ssoが設定されているため、理論的にはsamlとのフェデレーションが可能と思われます。テストインスタンスでは、ssoを有効にしてディレクトリサービスにmicrosoftadを設定しています。amazonの例は、主にラムダ関数に基づくクラウド形成テンプレートを提供します。ラムダ関数は非常にシンプルで、ラムダにハードコードされたパスワードをamazonシークレットに対して検証します。明らかに、それは実用的ではありません。誰かがこれをしましたか?どのようにしてそれを機能させることができましたか?別の質問は、誰かがラムダを使用してadに対して認証したかどうかだと思います。これが私が見たいくつかのリソースです。 cognitoユーザープールにあるものだけが、あらゆる種類の代替セットアップの詳細なウォークスルーを提供します。 cognito idプールを使用できる場合もありますが、ユーザープールはこのユースケースでは機能しません。 sftpのカスタム認証に関するawsドキュメント sftpをcognitoユーザープールと統合する 基本的なsftpセットアップの詳細なウォークスルー カスタムidpの詳細
回答: カスタムidプロバイダーを使用したブログ投稿と同様のアプローチを使用できますが、aws cognitoapi呼び出しをactivedirectoryバインドに置き換えます。関連するコードフラグメントは次のとおりです。exports.authorize = async function(event) { return new promise((resolve, reject) => { const username = event.pathparameters.user; const password = event.headers.password; console.log(`performing authentication for user ${username}`); client.bind(`${username}@${process.env.ldap_directory_name}`, password, err => { if (err) { reject(err); } else { const response = { headers: { "access-control-allow-origin": "*", "content-type": "application/json" }, body: getsftppolicy(username), statuscode: 200 }; resolve(response); } }); }); }; あなたはこれでより多くの情報を見つけることができます ブログ投稿 。また、プロジェクトテンプレートでこれ githubリポジトリ を自由に使用してください。