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/123やhttp://www.aliyun.com.cnなど、http://www.aliyun.comで始まるURLを照合できます。リファラーホワイトリストに
* www.aliyun.com
を追加すると、http://www.aliyun.comやhttps://www.aliyun.comなどのwww.aliyun.com
を含むURLを照合できます。アスタリスク (*) をワイルドカード文字として使用して、0文字または複数文字を表すことができます。 たとえば、リファラーホワイトリストに
* .aliyun.com
を追加すると、https://help.aliyun.comやhttps://www.aliyun.comなどのURLを照合できます。疑問符 (?) をワイルドカード文字として使用して、文字を表すことができます。
https://www.example.com:8080やhttps:// 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 ****
共通オプションの詳細については、「共通オプション」をご参照ください。