リファラーベースのホットリンク保護は完全に安全ではありません。 URL署名を使用して、オリジンサーバー上のリソースを違法なダウンロードや悪用から保護することを推奨します。 このトピックでは、URL署名機能を有効または無効にする方法と、署名されたURLを検証する方法について説明します。
背景情報
デフォルトでは、ApsaraVideo VODによって配信されるコンテンツは公開されています。 ユーザーはURLを使用してコンテンツにアクセスできます。 リソースのホットリンクや不正アクセスを防止する場合は、リファラーホワイトリストとブラックリスト、IPホワイトリストとブラックリスト、およびURL署名を使用してアクセス制御を規制できます。 URL署名は、URLに署名文字列とタイムスタンプを追加してアクセス制御を強化します。
URL署名と実装ロジックの詳細については、「URL認証の設定」をご参照ください。
URL署名の有効化と設定
URL署名を有効にする前に、オリジンサーバーで認証アルゴリズムと暗号キーを含むURL署名ルールが設定されていることを確認してください。
ApsaraVideo VODのURL署名ロジックは、オリジンサーバーのURL署名ロジックと同じである必要があります。
ApsaraVideo VODコンソールにログインします。
ApsaraVideo VODコンソールの左側のナビゲーションペインで、 を選択します。
[ドメイン名] ページで、管理するドメイン名を見つけ、[操作] 列の [設定] をクリックします。
表示されるページで、[リソースアクセス制御] をクリックします。
[URL署名] タブをクリックします。 [URL署名の設定] セクションで、[変更] をクリックします。
[URL署名] ダイアログボックスで、[URL署名] をオンにし、認証パラメーターを設定します。
下表に、各パラメーターを説明します。
パラメーター
説明
タイプ
ApsaraVideo VODのURL署名機能は、3つの署名タイプをサポートしています。 ビジネス要件に基づいて署名タイプを選択し、オリジンサーバーのリソースを保護できます。 サポートされる署名タイプ:
説明URL署名が失敗した場合、HTTP 403ステータスコードが返されます。 考えられる原因は次のとおりです。
無効なMD5値
例:
X-Tengine-エラー: req authによって拒否されました: invalid md5hash=de7bfdc915ced05e17380a149bd7 ****
無効なタイムスタンプ
例:
X-Tengine-Error: req authによる拒否: expired timestamp=143946 ****
主キー
URL署名の主キーを指定します。
セカンダリキー
URL署名のセカンダリキーを指定します。
プライマリキーとセカンダリキーの効果は同じです。 セカンダリキーは、スムーズな切り替えを保証するために使用されます。 主キーが変更されると、元の主キーを使用する生成されたすべての再生URLはすぐに無効になります。 プライマリキーをセカンダリキーに切り替えた後も、元のプライマリキーを使用する生成された再生URLは一定期間有効です。 セカンダリキーはプライマリキーとして機能します。 これにより、スムーズな切り替えが保証されます。
デフォルトの有効期間
署名付きURLの有効期間を指定します。 ユーザーは、署名付きURLの有効期限が切れる前にApsaraVideo VODにアクセスできます。 署名付きURLの有効期限は、次の式に基づいて計算されます。有効期限=タイムスタンプ + 有効期間。
デフォルト値:30。 単位は分です。
たとえば、署名付きURLが生成されたときのタイムスタンプは2020年8月15日15:00:00 (UTC + 8) で、有効期間は30分です。 この場合、署名付きURLは2020年8月15日15:30:00 (UTC + 8) まで有効です。
サポートプレビュー
プレビュー機能が有効になっている場合、ユーザーはビデオまたはオーディオファイルのスニペット (ファイルの最初の5分間など) を表示または聞くことができます。 この機能は、非会員に料金を請求するビデオまたはオーディオコンテンツなどの有料サービスで広く使用されています。 詳細については、「プレビュー機能の設定」をご参照ください。
[OK] をクリックします。
設定が完了すると、このドメイン名のURL署名が有効になります。
すべてのリソースがApsaraVideo VODコンソールにある場合、コンソールは有効期限付きの署名付きURLを自動的に生成します。 GetPlayInfo操作を呼び出して、署名付きURLを取得することもできます。
説明URL署名を有効にすると、ビデオファイル、オーディオファイル、サムネイル、スナップショットのURLが署名されます。
URL署名結果の確認
署名ロジックが正しく実装されていることを確認するには、ApsaraVideo VODコンソールでテストを実行し、署名されたURLが正しいかどうかを確認することを推奨します。
[署名付きURLの生成] セクションで、[元のURL] パラメーターとその他の認証パラメーターを設定します。
下表に、各パラメーターを説明します。
パラメーター
説明
元のURL
https://www.aliyundoc.com
などの完全なURLを指定します。タイプ
[URL署名の有効化と設定] で指定したURL署名タイプを選択します。
認証キー
[URL署名の有効化と設定] で指定したプライマリキーまたはセカンダリキーを入力します。
購入期間
[URL署名の有効化と設定] で指定した署名付きURLの有効期間を入力します。 単位は秒です。 例: 1800。
[生成] をクリックし、[署名付きURL] と [タイムスタンプ] を取得します。
URL署名の無効化
ApsaraVideo VODでURL署名が無効になっていても、ユーザーリクエストに認証パラメーターが含まれている場合、ApsaraVideo VODは認証パラメーターを削除できません。 この場合、リクエストはキャッシュにヒットできず、オリジンサーバーにリダイレクトされます。 これにより、オリジンサーバーのネットワークトラフィックとデータ転送料金が増加します。 URL署名を無効にする場合は、オリジンサーバーとApsaraVideo VODの両方でURL署名が無効になっていることを確認してください。
[URL署名の設定] セクションで、[変更] をクリックします。
表示されるダイアログボックスで、URL署名をオフにします。
オリジンサーバーで、URL署名設定を削除します。