SNS Topic Subscription のプロトコル HTTP(S) の Basic 認証を埋め込んだエンドポイントのパスワードが **** となる

0

SNS Topic Subscription のプロトコル HTTP(S) のエンドポイントに

https://user:password@fqdn/path/to

を設定すると表示上 password が元の文字長に関係なく * 4つにマスクされ、

https://user:****@fqdn/path/to

となります。

HTTP リクエストの Authentication ヘッダもパスワードが **** の値のものがセットされて、Basic 認証がエラーとなります。

回避方法はあるのでしょうか?

已提问 1 年前554 查看次数
3 回答
0

こんにちは。

まず、私のほうでも Basic 認証を設定したエンドポイントを用意し、SNS の HTTPS エンドポイントサブスクリプションを作成してみました。
たしかに画面表示上は **** でマスクされました。

次に、実際にエンドポイントへ送信されたヘッダー情報を見てみました。
すると以下の仕様のようにユーザー名とパスワードをコロンで結合の上 Base 64 エンコードされた情報が送信されていることを確認しました。

https://ja.wikipedia.org/wiki/Basic%E8%AA%8D%E8%A8%BC


HTTP リクエストの Authentication ヘッダもパスワードが **** の値のものがセットされ

まず、上記についてはどのように確認しましたか。
推測ですが確認された画面やログでも秘匿情報としてマスクされて表示されているのではないでしょうか。
実際に HTTPS エンドポイントへ渡されたリクエストを確認したほうが良いかと思います。

以上から、おそらく Basic 認証エラーはまた別の原因だと思います。
私の場合は API Gateway で Basic 認証エンドポイントを作成しましたが、SNS からのリクエストでは「Authorization」と大文字になっていて、Lambda オーソライザーで正しいヘッダーではないと判断されていました。

profile picture
专家
iwasa
已回答 1 年前
0

まず、上記についてはどのように確認しましたか。

ALB で SSL Termination し EC2 に対して送信しているため EC2 上で tcpdump によるパケットキャプチャ tcpdump -X port 80 で確認を行いました。

curl -X POST https://user:password@fqdn/path/to

で 200 OK となるため、 ALB で書き換えられているということも無いようです。

次に、実際にエンドポイントへ送信されたヘッダー情報を見てみました。 すると以下の仕様のようにユーザー名とパスワードをコロンで結合の上 Base 64 エンコードされた情報が送信されていることを確認しました。

SNS には問題がなさそうなので、 SNS の設定の確認など行ってみます。

已回答 1 年前
0

SNS には問題がなさそうなので、 SNS の設定の確認など行ってみます。

SNS のサブスクリプションの 「リクエストを確認」 ボタンを押すとそういう挙動になるようです。

設定時や通知時には期待通りの password の値になっています。

已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则