

### 解決したいこと

Amazon S3に画像や動画ファイルを保存しています。

このファイルはパブリックにして、見せたい人にだけURLを教えて閲覧してもらっています。

いろんな情報をみると、パブリックにするとクローラーにインデックスされて何かしらの検索でヒットしてしまうという情報をみました。

パブリックにした状態でブラウザの検索結果に表示させないようにしたいです。

### 発生している問題・エラー

以下のファイルをルートドメインに配置すればクローラーの巡回を回避できるのは知っているのですが、これをバケットの最上位に入れれば、私のバケット内にある画像ファイル等はインデックスされないようになるのでしょうか？

robots.txt

[code]

    User-agent: *
    Disallow: /
    
[/code]

ドメインを取得して、その中に画像ファイル等を入れているのではなく、ただただS3のバケット内にファイルを保存している状態です。

よろしくお願いいたします。


CC BY-SA 4.0
2022-09-22T03:30:24.350
91227
2022-09-23T23:23:27.060
2022-09-22T07:34:55.060
19110
54476
question
aws amazon-s3
Amazon S3のバケット内にあるファイルをインデックスさせない方法が知りたい


原則として、そのオブジェクトの公開URLがパブリックになっておりクローラか見つけない限りインデックスされることはないはずですが、おそらくそのURLが再度シェアされたりした場合のことを想定しているかと思います。

あくまでもわたしの想定では、たしかにrobots.txtに記載することで大抵のケースは大丈夫な気はします。ただし、例外は考えられます。

  * 非推奨である（ドメインベースではなく）パスベースのURLを使用された場合、意味を持ちません。（よっぽどのことがなければ普通は起きないはず）

単純にインデックスされたくない、あるいは当人以外に表示すべきでない場合、いくつかの対策は考えられます。

  * もし、それがワンタイムのファイルDLなどでシステムからURLがリアルタイムに払い出せるようであれば、署名付きURLを使用すれば一定時間で利用できなくなるリンクを作成できるので安全です。 
    * ファイルのDLやストリーミングなどには向いています
  * オブジェクトのヘッダーに `X-Robots-Tag: noindex`のような[クローラ制御用のヘッター](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag?hl=ja#xrobotstag)をメタデータとして使用することができそうです。ただし、これはドキュメントには明文化されていない仕様のようです。  
<https://stackoverflow.com/a/25798148/4698341>

    * 同様に、[Lambdaでレスポンスを加工する](https://dev.classmethod.jp/articles/s3-object-lambda/)ことも可能ですが、オーバーコスト感？


CC BY-SA 4.0
2022-09-22T13:56:22.667
91242
2022-09-22T19:36:00.327
2022-09-22T19:36:00.327
2376
2376
91227
answer


> このファイルはパブリックにして、見せたい人にだけURLを教えて閲覧してもらっています。

> パブリックにするとクローラーにインデックスされて何かしらの検索でヒットしてしまう

クローラーもですが、インデックスされ、第三者がダウンロードを行うと、S3の転送にかかる料金はバケット所有者に請求されます。  
このためS3ではパブリック公開は推奨されていません。[Amazon S3
のセキュリティベストプラクティス](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/security-
best-practices.html)も参照してください。

hinaloeさんも触れられていますが、バケットはプライベートとした上で、[署名付き URL
を使用したオブジェクトの共有](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html)を行うことをお勧めします。  
この署名付きURLには有効期限も設定できます。たとえURLが漏洩したとしても、期限を過ぎれば無効になり第三者によるダウンロードを防ぐこともできます。


CC BY-SA 4.0
2022-09-23T23:23:27.060
91268
2022-09-23T23:23:27.060
4236
91227
answer