Object Storage Service (OSS) バケットのホットリンク保護を設定して、バケット内のリソースへの不正アクセスを防止できます。 このトピックでは、refererコマンドを実行してバケットのホットリンク保護を設定する方法、またはバケットのホットリンク保護設定を変更、照会、または削除する方法について説明します。
使用上の注意
このトピックのサンプルコマンドラインは、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フィールドを含むHTTPまたはHTTPSリクエストのみがバケットにアクセスできます。
例
examplebucketバケットのホットリンク保護を設定します。
www.aliyun.com
を含むURLから送信されたリクエストのみ、examplebucketバケット内のデータにアクセスできます。 ブラウザでURLを入力してexamplebucketバケット内のデータにアクセスすることはできません。. /ossutil64リファラー-メソッドput oss:// examplebucket http://www.aliyun.com https://www.aliyun.com -- disable-empty-リファラー
examplebucketバケットのホットリンク保護を設定します。
www.aliyun.com
を含むURLから送信されたリクエストのみ、examplebucketバケット内のデータにアクセスできます。 ブラウザでURLを入力して、examplebucketバケット内のデータにアクセスすることもできます。. /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
同様の出力が表示される場合、ヘッダーが
* www.aliyun.com
に一致するHTTPまたはHTTPSリクエストのみがexamplebucketバケットへのアクセスを許可され、空のリファラーは許可されません。<?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シークレットを指定します。
次のコマンドは、中国 (杭州) リージョンにある別のAlibaba Cloudアカウントのtestbucketバケットのホットリンク保護を設定する方法の例を示しています。
. /ossutil64リファラー-メソッドput oss:// testbucke t www.alibabacloud.com -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
同期コマンドに使用できるその他の一般的なオプションの詳細については、「オプションの表示」をご参照ください。