特定のHTTPリファラへのアクセスを制限

20キロバイトのサイズを制限するためにバケット戦略。

 

あなたがウェブサイトを持っていると仮定し、そのドメイン名(www.example.com または  example.com)、およびS3バケットに保存された写真や動画へのリンクを指すと  examplebucket唯一のAWSリソースは、それらにアクセスするためにアカウントを作成したように、デフォルトでは、すべてのS3リソースは、プライベートです。あなたのサイトからこれらのオブジェクトへの読み取りアクセスを許可するには、バケットポリシーを追加することができますことができます  s3:GetObject 権限を使用すると付属しています  aws:Referer 債券の条件、その取得要求には、特定のWebページから来なければなりません。指定されたと次のポリシー  StringLike 債券の条件  aws:Referer 条件。

{
"バージョン": "2012年10月17日"、
"ID": "HTTPリファラポリシーの例"、
"文":[
{
"Sidは": "www.example.comとexample.comから発信要求を取得できるようにします。 "
"効果":" 許可」、
"校長": "*"、
"アクション": "S3:GetObjectメソッド"、
"リソース": "ARN:AWS:S3 ::: examplebucket / *"、
"条件": {
" 糸状 ":{" AWS:リファラー ":[" http://www.example.com/*"、 "http://example.com/*"]}
}
}
]
}

あなたは、要求にHTTPを含め、ブラウザを使用していることを確認してください  referer ヘッダー。

あなたはよりよく保護するための戦略をバケットに明示的な拒否追加することができ  examplebucket 、次の例のように、ストレージバケットオブジェクトへのアクセスを。明示的に付与されている可能性があり(例えばACLやユーザポリシーなど)他の方法を使用して置き換えることを拒否した  examplebucket バケット内の任意のライセンスオブジェクトを。

{
"バージョン": "2012年10月17日"、
"ID": "HTTPリファラポリシーの例"、
"文":[
{
"シドは":「www.example.comとexample.comが参照する要求を取得できるようにします。 」、
"効果": " 許可 "、
"校長": "*"、
"アクション": "S3:GetObjectメソッド"、
"リソース": "ARN:AWS:S3 ::: examplebucket / *"、
"条件": {
" 糸状 ":{" AWS:リファラー ":[" http://www.example.com/*","http://example.com/*"]}
}
}、
{
"シド": "明示的な要求がのみ、特定のリファラから許可されていることを確認するために拒否「。
『効果』:」拒否」、
『校長』: 『*』、
『アクション』: 『S3:*』、
"リソース": "ARN:AWS:S3 ::: examplebucket / *"、
"条件":{
" StringNotLike ":{" AWS:リファラー ":[" http://www.example.com/*"、」 http://example.com/* "]}
}
}
]
}

アマゾンCloudFrontのオリジンアイデンティティに権限を付与

以下の例は、CloudFrontのオリジンアイデンティティにAmazon S3のバケット(リスト)内のすべてのオブジェクトへのアクセス権を付与するバケットポリシー。CloudFrontのオリジンアイデンティティは、プライベートコンテンツ機能CloudFrontのを有効にするために使用されます。戦略は、ユーザーIDを指定する代わりに、AWS仕様のCanonicalUserプレフィックスを使用しています。プライベートCloudFrontの内容の詳細については、サポートを提供するために、参照  アマゾンCloudFrontの開発者ガイド  でプライベートコンテンツを提供するためにテーマを。あなたは、元の仕様があなたのCloudFrontのディストリビューションへのアクセスに指定されたユーザIDを特定する必要があります。標準化されたユーザIDに関する指示を検索、参照してくださいポリシーで指定されたクライアント

{
「バージョン」:「2012年10月17日」、
「ID」:「PolicyForCloudFrontPrivateContent」、
「文」:[
{
「シド」:、「プライベート・コンテンツをサポートするためにCloudFrontのオリジンアイデンティティのアクセスを許可します」
『効果』:「許可"
"主":{" CanonicalUser ":"CloudFrontのオリジンアイデンティティ正規ユーザID"}、
"アクション":" S3:のGetObject」、
"リソース": "ARN:AWS:S3 ::: examplebucket / *"
}
]
}

おすすめ

転載: www.cnblogs.com/cloudrivers/p/11331427.html