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

Object Storage Service:referer

最終更新日:May 06, 2024

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

使用上の注意

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

  • このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。

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

ホットリンク保護設定の作成または変更

ホットリンク保護がバケットに設定されていない場合は、次のリファラーコマンドを実行してバケットのホットリンク保護を設定できます。 バケットにホットリンク保護が設定されている場合、次のリファラーコマンドを実行して、バケットの既存のホットリンク保護設定を上書きできます。

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

  • コマンド構文

    ./ossutil64リファラー-メソッドput oss:// bucketname refererconfig [-- disable-empty-referer]

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

    パラメータ /オプション

    説明

    bucketname

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

    refererconfig

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

    • リファラーホワイトリストにhttp://www.aliyun.comを追加すると、http://www.aliyun.com/123http://www.aliyun.com.cnなど、http://www.aliyun.comで始まるURLを照合できます。

    • リファラーホワイトリストに * www.aliyun.comを追加すると、http://www.aliyun.comhttps://www.aliyun.comなどのwww.aliyun.comを含むURLを照合できます。

    • アスタリスク (*) をワイルドカード文字として使用して、0文字または複数文字を表すことができます。 たとえば、リファラーホワイトリストに * .aliyun.comを追加すると、https://help.aliyun.comhttps://www.aliyun.comなどのURLを照合できます。

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

    • https://www.example.com:8080https:// 10.0.0.0:8080など、ポート番号を含むドメイン名またはIPアドレスをリファラーホワイトリストに追加できます。

    -- disable-empty-referer

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

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

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

  • examplebucketバケットのホットリンク保護を設定して、www.aliyun.comを含むURLからバケット内のオブジェクトへのアクセスを許可し、ブラウザのアドレスバーにオブジェクトのURLを入力してexamplebucketバケット内のオブジェクトへのアクセスを拒否します。

    ./ossutil64リファラー-メソッドput oss:// examplebucket http://www.aliyun.com https://www.aliyun.com -- disable-empty-リファラー

    examplebucketバケットのホットリンク保護を設定して、www.aliyun.comを含むURLから、およびブラウザのアドレスバーにオブジェクトのURLを入力して、バケット内のオブジェクトにアクセスできるようにします。

    ./ossutil64リファラー -- メソッドput oss:// examplebucket http://www.aliyun.com https://www.aliyun.com

    次のサンプル出力は、バケットにホットリンク保護が設定されていることを示しています。

    0.134839経過

バケットのホットリンク保護設定の照会

  • コマンド構文

    ./ossutil64リファラー -- メソッドget oss:// bucketname [local_xml_file]

    次の表に、構文のパラメーターを示します。

    パラメーター

    説明

    bucketname

    ホットリンク保護設定を照会するバケットの名前。

    local_xml_ファイル

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

    • examplebucketバケットのホットリンク保護設定を照会し、ホットリンク保護設定をlocalfile.txtファイルに保存します。

      ./ossutil64リファラー -- メソッドget oss:// examplebucket localfile.txt

      次のサンプル出力は、ホットリンク保護設定が取得されたことを示します。

      0.212407経過
    • examplebucketバケットのホットリンク保護設定を照会し、ホットリンク保護設定を表示します。

      ./ossutil64リファラー -- メソッドget oss:// examplebucket

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

      <?xml version="1.0" encoding="UTF-8"?>
        <RefererConfiguration>
            <AllowEmptyReferer>false</AllowEmptyReferer>
            <RefererList>
                <リファラー> * www.aliyun.com</リファラー>
            </RefererList>
        </RefererConfiguration>
      
      
      0.080482経過 

バケットのホットリンク保護設定の削除

  • コマンド構文

    ./ossutil64リファラー -- メソッドdelete oss:// bucketname

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

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

    ./ossutil64リファラー -- メソッドdelete oss:// examplebucket

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

    0.212409経過

一般的なオプション

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

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

./ossutil64リファラー-メソッドのプットoss:// testbucke t www.alibabacloud.com -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****

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