ftpサーバーを建てる時って
- ftp、ftps、sftpの選択肢があって(sftpは実質ftpではないけど)
- ID/PASSログイン or 公開鍵の選択肢があって
- パッシブモードの選択肢があって
- バイナリモード、アスキーモードの選択肢があって
- Linuxユーザを作成して
- それをFTPミドルウェアにも登録して
- Linuxユーザのグループを調整して
- LinuxユーザーはFTP以外ではログインできないように設定をして
とめちゃくちゃ手間がかかる。
それに対するS3の手間は
- ユーザ(iam)を作成して
- バケットを作って
- そのバケットに対する権限を設定する
の本質的な3ステップでいい。 「ファイルしかやり取りしないサーバー」という制約があるおかげで「他の余計なことをさせないための設定」が少なくて済んでる。
決定的な違いはそれが「Linux、UNIXとまたがって使えるオープンなプロトコル」と「Amazonという一企業が提供する仕組み」の差でもあるので、そりゃぁ余計な裾野の選択肢はないよねというのはある。
S3やiamの仕組みがRFCになればいいのにとは思うけど、そうなると複数の企業の微妙な違いを吸収しないといけない。
間をとるなら、sftpのみを許容するってのはある。sftpは認証はsshそのものなので、ユーザ管理もUNIXユーザそのものだし追加のミドルウェアも要らない。公開鍵認証でできるので超セキュア。WinSCPなどのGUIのツールもある。公開鍵認証の場合は「一つのユーザに複数の公開鍵を登録」することもできるので、認証の鍵は別で権限は同じということができる。