背景情報
カスタムボットの利用過程における安全性を確保するため、カスタムボットの安全な運用を保障する 3 種類の保護措置を提供しています。これらの措置には、カスタムキーワード、リクエスト署名(署名による暗号化)、IP アドレス(セグメント)の設定が含まれます。これらの方法により、ボットを悪意のある攻撃から効果的に保護できます。前提条件
カスタムボットの作成フローを完了していること。カスタムキーワード
最大 10 個のキーワードを設定でき、チャットにそのうち 1 個以上のキーワードが含まれている場合のみ送信が成功します。 例えば、監視アラートというカスタムキーワードを 1 つ追加した場合、このボットが送信するチャットには 監視アラート というワードが含まれていなければ送信に成功しません。リクエスト署名
リクエスト署名は、DingTalk ボットと開発者が双方向で安全認証を行い、安全性を検証する方式です。具体的な署名計算手順は以下のとおりです。-
タイムスタンプ timestamp と秘密鍵 secret を署名文字列とし、HmacSHA256 アルゴリズムで署名を計算した後、Base64 エンコードを行い、最後に署名パラメータを urlEncode して最終的な署名を取得します(UTF-8 文字セットを使用する必要があります)。
-
署名計算サンプルコード(Java)
-
署名計算サンプルコード(Python)
-
署名計算サンプルコード(Java)
-
開発サービス内の現在のシステム timestamp と暗号化された sign 署名値を取得し、timestamp と sign を URL に連結します。
詳細は「カスタムボットによるグループチャット送信」を参照してください。
IP アドレス(セグメント)
設定後は、指定された IP アドレス範囲からのリクエストのみが正常に処理されます。設定方式は IP アドレスと IP アドレスセグメントの 2 種類をサポートしており、IPv6 アドレスのホワイトリストには現在対応していません。フォーマットは以下のとおりです。関連ドキュメント
- カスタムボットによるグループチャット送信
- カスタムボットによるグループチャット送信 OpenAPI