OSS の PutBucketReferer API を使用してリファラーを設定すると、許可されていないユーザーが OSS データを使用しないようにできます。

PutBucketReferer API の詳細は、「 PutBucketReferer」をご参照ください。
アンチホットリンクを設定するには、次のパラメーターを設定する必要があります。
  • Referer:OSS リソースへのアクセスが許可されているドメインを指定するリファラーホワイトリスト。
  • 空のRefererを許可する:リクエスト内の Referer フィールドを空にできるかどうかを示します。 Referer フィールドを空にできない場合、OSS リソースにアクセスするには、HTTP または HTTPS リクエストヘッダーに Referer フィールドを含める必要があります。

たとえば、バケット oss-example のリファラーホワイトリストに https://www.aliyun.com/ を追加します。 その結果、リクエスト内の Referer フィールドに https://www.aliyun.com/ を設定したユーザーのみが、このバケットのオブジェクトにアクセスできます。

操作方法

操作方法 説明
コンソール 直感的で使いやすい Web アプリケーション
Java SDK さまざまな言語の SDK デモ
Python SDK
PHP SDK
Go SDK
C SDK
.NET SDK
Node.js SDK
Ruby SDK

詳細分析

  • リファラー検証
    • アンチホットリンク検証は、オブジェクトに匿名でアクセスするか、署名付き URL を使用してアクセスする場合にのみ必要です。 リクエストヘッダーに Authorization フィールドが含まれている場合、アンチホットリンク検証は不要です。
    • バケットの ACL が非公開、公開読み取り、または公開読み取り/書き込みの場合、アンチホットリンク検証は必要です。
  • リファラー設定
    • バケットは複数の Referer パラメーターをサポートしています。 複数の Referer パラメーターを設定する際、コンソールの場合は改行で区切り、PutBucketReferer API の場合はカンマ (,) で区切ることができます。
    • アスタリスク (*) や疑問符 (?) などのワイルドカードを使用して、Referer パラメーターを設定できます。
  • リファラー効果
    • リファラーホワイトリストが空の場合、リクエスト内の Referer フィールドが空かどうかはチェックされません。 それ以外の場合、すべてのリクエストは拒否されます。
    • リファラーホワイトリストが空でなく、Referer フィールドを空にできない場合、Referer フィールド値がリファラーホワイトリストにあるリクエストのみが許可され、他のすべてのリクエスト (Referer フィールドが空のリクエストを含む) は拒否されます。
    • リファラーホワイトリストが空でなく、Referer フィールドを空にできる場合、Referer フィールドが空のリクエストと、Referer フィールド値がリファラーホワイトリストにあるリクエストが許可され、他のすべてのリクエストは拒否されます。

ワイルドカード

  • アスタリスク (*):0 個以上の文字の代わりに使用します。 名前が AEW で始まるが、残りの部分は不明というオブジェクトを探す場合、AEW* と入力すると、名前が AEW で始まるすべてのオブジェクト (AEWT.txt、AEWU.EXE、AEWI.dll など) を検索できます。 検索範囲を絞り込むには、AEW*.txt と入力すると、名前が AEW で始まるすべての .txt ファイル (AEWIP.txt や AEWDF.txt など) を検索できます。
  • 疑問符 (?):1 文字を置換します。 love? と入力すると、lovey や lovei など、名前が love で始まり、そのあとに 1 文字続くオブジェクトが表示されます。 検索範囲を絞り込むには、love?.doc と入力すると、lovey.doc や lovei.doc など、名前が love で始まり、そのあとに 1 文字続く .doc オブジェクトを検索できます。

参照