StorageGRIDでS3バケットのCORSを設定する
S3バケットとそのバケット内のオブジェクトを他のドメインのWebアプリケーションからアクセス可能にしたい場合は、S3バケットに対してクロスオリジンリソース共有(CORS)を設定できます。
-
テナントマネージャーに "対応ウェブブラウザ" を使用してサインインしています。
-
GET CORS 設定リクエストの場合、あなたは以下の権限を持つユーザーグループに属しています。"すべてのバケットを管理する、またはすべてのバケットを表示する権限"これらの権限は、グループポリシーまたはバケットポリシーの権限設定を上書きします。
-
PUT CORS 設定リクエストの場合、あなたは"すべてのバケットの権限を管理する"を持つユーザーグループに属しています。この権限は、グループポリシーまたはバケットポリシーの権限設定を上書きします。
-
"ルートアクセス権限"は、すべてのCORS設定リクエストへのアクセスを提供します。
クロスオリジンリソース共有(CORS)は、あるドメインのクライアントWebアプリケーションが別のドメインのリソースにアクセスできるようにするセキュリティメカニズムです。たとえば、グラフィックを保存するために `Images`という名前のS3バケットを使用するとします。 `Images`バケットにCORSを設定することで、そのバケット内の画像をウェブサイト `http://www.example.com`に表示できるようになります。
バケットのCORSを有効にする
-
テキストエディタを使用して、必要なXMLを作成します。この例は、S3バケットでCORSを有効にするために使用されるXMLを示しています。具体的には:
-
任意のドメインがバケットにGETリクエストを送信できるようにします
-
`http://www.example.com`ドメインにGET、POST、およびDELETEリクエストの送信のみを許可します
-
すべてのリクエストヘッダーが許可されます
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2020-10-22/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>http://www.example.com</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration>CORS設定XMLの詳細については、 "Amazon Web Services (AWS) ドキュメント:Amazon Simple Storage Service ユーザーガイド"を参照してください。
-
-
ダッシュボードから「バケットの表示」を選択するか、STORAGE (S3) > Buckets を選択してください。
-
表からバケット名を選択してください。
バケットの詳細ページが表示されます。
-
「Bucket access」タブから、「Cross-Origin Resource Sharing(CORS)」のアコーディオンを選択します。
-
「CORSを有効にする」チェックボックスを選択します。
-
CORS設定XMLをテキストボックスに貼り付けてください。
-
変更を保存 を選択します。
CORS設定を変更する
-
テキストボックス内のCORS設定XMLを更新するか、*クリア*を選択して最初からやり直してください。
-
変更を保存 を選択します。
CORS設定を無効にする
-
Enable CORS チェックボックスをオフにします。
-
変更を保存 を選択します。