すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:referer

最終更新日:Apr 03, 2025

Object Storage Service (OSS) バケットのホットリンク保護を構成して、バケット内のリソースへの不正アクセスを防止できます。 このトピックでは、referer コマンドを実行してバケットのホットリンク保護を構成する方法と、ホットリンク保護構成を変更、クエリ、および削除する方法について説明します。

使用上の注意

  • ホットリンク保護構成を作成または変更するには、oss:PutBucketReferer 権限が必要です。 ホットリンク保護構成をクエリするには、oss:GetBucketReferer 権限が必要です。 ホットリンク保護構成を削除するには、oss:DeleteBucketReferer 権限が必要です。 詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。

  • ossutil 1.6.16 以降では、コマンドラインでバイナリ名として ossutil を直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 ossutil 1.6.16 より前のバージョンでは、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細については、「ossutil コマンドリファレンス」をご参照ください。

  • ホットリンク保護の詳細については、「ホットリンク保護」をご参照ください。

ホットリンク保護構成を作成または変更する

バケットにホットリンク保護が構成されていない場合、次の referer コマンドはバケットにホットリンク保護を構成します。 バケットにホットリンク保護が構成されている場合、次の referer コマンドはバケットの既存のホットリンク保護構成を上書きします。

次のコマンドを実行して、バケットのホットリンク保護を構成したり、バケットのホットリンク保護構成を変更したりできます。

  • コマンド構文

    ossutil referer --method put oss://bucketname refererconfig [--disable-empty-referer]

    次の表に、コマンド構文のパラメーターとオプションを示します。

    パラメーター/オプション

    説明

    bucketname

    ホットリンク保護構成を作成または変更するバケットの名前。

    refererconfig

    Referer ホワイトリストに追加するドメイン名または IP アドレス。 ワイルドカード文字としてアスタリスク (*) と疑問符 (?) を使用できます。 複数の Referer を指定する場合は、スペースで区切ります。 例:

    • http://www.aliyun.com を Referer ホワイトリストに追加すると、http://www.aliyun.com で始まる URL(http://www.aliyun.com/123http://www.aliyun.com.cn など)が一致する可能性があります。

    • *www.aliyun.com を Referer ホワイトリストに追加すると、www.aliyun.com を含む URL(http://www.aliyun.comhttps://www.aliyun.com など)が一致する可能性があります。

    • アスタリスク (*) をワイルドカード文字として使用して、ゼロ個以上の文字を表すことができます。 たとえば、*.aliyun.com を Referer ホワイトリストに追加すると、https://www.alibabacloud.com/helphttps://www.aliyun.com などの URL が一致する可能性があります。

    • 疑問符 (?) をワイルドカード文字として使用して、1 文字を表すことができます。

    • ポート番号が続くドメイン名または IP アドレス(https://www.example.com:8080https://10.0.0.0:8080 など)を Referer ホワイトリストに追加できます。

    --disable-empty-referer

    空の Referer フィールドを持つリクエストを許可するかどうかを指定します。

    • このパラメーターを指定しない場合、空の Referer フィールドを持つリクエストが許可されます。 空の Referer フィールドを含む、または Referer フィールドを含まない HTTP または HTTPS リクエストが許可されます。

    • このパラメーターを指定した場合、空の Referer フィールドを持つリクエストは許可されません。 有効な値を持つ Referer フィールドを含む HTTP または HTTPS リクエストのみがバケットにアクセスできます。

  • www.aliyun.com ドメインがバケット内のオブジェクトを参照できるように examplebucket バケットのホットリンク保護を構成し、ブラウザのアドレスバーにオブジェクト URL を入力することによる examplebucket バケット内のオブジェクトへのアクセスを拒否します。

    ossutil referer --method put oss://examplebucket http://www.aliyun.com https://www.aliyun.com --disable-empty-referer

    www.aliyun.com ドメインがバケット内のオブジェクトを参照できるように examplebucket バケットのホットリンク保護を構成し、ブラウザのアドレスバーにオブジェクト URL を入力することによるオブジェクトアクセスを許可します。

    ossutil referer --method put oss://examplebucket http://www.aliyun.com https://www.aliyun.com

    次の出力例は、バケットにホットリンク保護が構成されていることを示しています。

    0.134839(s) elapsed

バケットのホットリンク保護構成をクエリする

  • コマンド構文

    ossutil referer --method get oss://bucketname [local_xml_file]

    次の表に、上記のコマンドのパラメーターを示します。

    パラメーター

    説明

    bucketname

    ホットリンク保護構成をクエリするバケットの名前。

    local_xml_file

    バケットのホットリンク保護構成を格納するローカルファイルの名前。 例:localfile.txt。 このパラメーターを指定しない場合、ホットリンク保護構成が画面に表示されます。

    • examplebucket バケットのホットリンク保護構成をクエリし、localfile.txt ファイルにホットリンク保護構成を格納します。

      ossutil referer --method get oss://examplebucket localfile.txt

      次の出力例は、ホットリンク保護構成が取得されたことを示しています。

      0.212407(s) elapsed
    • examplebucket バケットのホットリンク保護構成をクエリし、ホットリンク保護構成を表示します。

      ossutil referer --method get oss://examplebucket

      次の出力例は、Referer ヘッダーが *www.aliyun.com と一致する HTTP または HTTPS リクエストのみが examplebucket バケットにアクセスできること、および空の Referer フィールドを持つリクエストは許可されないことを示しています。

      <?xml version="1.0" encoding="UTF-8"?>
        <RefererConfiguration>
            <AllowEmptyReferer>false</AllowEmptyReferer>
            <RefererList>
                <Referer>*www.aliyun.com</Referer>
            </RefererList>
        </RefererConfiguration>
      
      
      0.080482(s) elapsed

バケットのホットリンク保護構成を削除する

  • コマンド構文

    ossutil referer --method delete oss://bucketname

    構文では、bucketname は、ホットリンク保護構成を削除するバケットの名前を指定します。

  • examplebucket バケットのホットリンク保護構成を削除します。

    ossutil referer --method delete oss://examplebucket

    次の出力例は、バケットのホットリンク保護構成が削除されたことを示しています。

    0.212409(s) elapsed

共通オプション

ossutil を使用して別のリージョンにあるバケットに切り替える場合は、-e オプションを追加して、バケットがあるリージョンのエンドポイントを指定します。 ossutil を使用して別の Alibaba Cloud アカウントに属するバケットに切り替える場合は、-i オプションを追加して、指定したアカウントの AccessKey ID を指定し、-k オプションを追加して、指定したアカウントの AccessKey シークレットを指定します。

次のコマンドは、中国 (杭州) リージョンにあり、別の Alibaba Cloud アカウントが所有する testbucket バケットのホットリンク保護を構成する方法の例を示しています。

ossutil referer --method put oss://testbucket www.alibabacloud.com -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

共通オプションの詳細については、「共通オプション」をご参照ください。