MoodleのコンテンツとしてS3に保管しているファイルをURLモジュールでリンクしているのですが、S3のバケットポリシーを 匿名ユーザーへの読み取り専用アクセス許可の付与 で設定していたため、
ファイルを直リンクできる状態になっていました
あまりよろしい状態とは言えないので、 特定の HTTP Referer へのアクセスの制限 を導入してみたところ、Moodleの挙動でちょっとハマったので備忘メモしておきます
こんな感じで、MoodleのURLからのみS3のファイルにアクセスできるようにしてみました
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow get requests originating from moodle.aroha.test and moodle-staging.aroha.test",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::arohatest/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://moodle-staging.aroha.test/*",
"https://moodle.aroha.test/*"
]
}
}
}
]
}
バケットポリシーを変えたところ、以下のようにリンクしている動画ファイルが再生できなくなりました(T T)
PDFファイルへのリンクは問題無く動くので、Moodle側に問題がありそうです
URLモジュールでアピアランスをポップアップに設定した動画ファイルは全てNGなので、自動 or 埋め込み に変更してみました
(詳しく調べていませんが、ポップアップだと HTTP Referer が送られないのかな?)
Moodleのページ内に動画が埋め込まれますが、ちゃんと再生できました
しかし、これじゃ動画のサイズが小さく固定されて見にくい(T T)
ブラウザのウインドウサイズに合わせた動画サイズになり、見やすくなりました (^^)
moodleでHTTP Refererのアクセス制限をしたS3の動画ファイルをリンクをする場合、アピアランスをポップアップにすると動画は再生できない。
アピアランスは自動か埋め込みを選択しましょう。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント