web-dev-qa-db-ja.com

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の詳細

1
AddGarbanzos

カスタム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リポジトリ を自由に使用してください。

0
Volodymyr Rudyi