3

Slack で Outgoing Webhooks と Slash コマンドを確認した人はいますか?

Slash コマンドと Outgoing Webhook の両方の場合、コマンド文字列と user_id および token が POST 本文で外部 URL (コマンドに対応) に送信されます。問題は、トークンがすべてのチーム メンバーで同じままであることです (トークンは統合ページに表示されるため、チームに公開されます。エンドポイント URL も公開されます)。つまり、これはチームに対してリクエストを認証するメカニズムですが、ユーザーに対してリクエストを認証するメカニズムはありません。

同じヘッダー、トークン、およびリクエスト本文を使用して別のサーバーからリクエストを再現できますが、チーム メンバーの user_id を使用すると、他の誰かがコマンドを実行したように見えます。また、リクエストが Slack サーバーからのものかどうかを確認する方法もありません。

私の質問は - ここで何かが足りないのですか? スラッシュ コマンドは、(外部サービスでの) CRUD 操作を意図したものですか? それとも、天気、スタック オーバーフロー、パブリック API などの単純なサービスからデータを取得するためのものですか? そうでない場合、この問題をどのように解決しますか?

更新 - @SlackAPI に話しかけたところ、user_id を個別に確認する必要があるとのことです。

4

1 に答える 1

1

これは、Slack チームのデフォルトの権限設定の場合のみです。ただし、チーム メンバーの統合へのアクセスを制限するとすぐに、統合の構成 (トークンを含む) は公開されなくなります。ただし、呼び出し URL は公開されたままですが、トークンがなければ、悪意のあるユーザーは要求を再作成できません。

ほとんどの Slack チームは、セキュリティ上の理由から統合へのアクセスを制限することをお勧めします。リクエストに応じてアクセスを許可することもできます。これにより、管理者として各リクエストを確認して承認することができます。

アクセス許可の設定は次の場所にあります。

Manage/ Permissions/ Approved Apps= オン

于 2016-10-19T09:13:12.710 に答える