Windowsで比較的広く使われているオープンソースのSCPクライアントに「WinSCP」がある。WinSCPはSCPのほかにもSFTP、FTPS等のプロトコルに対応していたが、AWSのオブジェクトストレージサービスであるAmazon S3にも2018年の5.12.12 RCで対応、5.13で安定版に組込まれた。
- WinSCPとは :: WinSCP
- Amazon S3クライアント機能を搭載した、オープンソースのWindows対応FTPクライアント「WinSCP 5.13」リリース。FTPサーバのようにAmazon S3を操作 - Publickey
管理コンソールからのS3アクセスはSSHやFTPポートを介さずHTTPSアクセスのみでできるので、境界型セキュリティ中心の企業環境でも比較的利用しやすいのだけど、大量の作業を行うときにはExplorerライクなGUIアプリが好まれることがある。WinSCPでのS3アクセスは両方のニーズを満たせるし、境界型セキュリティな会社には大抵あるプロキシ(しばしば認証プロキシ)経由でも使えたので、意外とこれが有用な場面もあるかと思う。
S3アクセスの設定
Amazon S3への接続は、以下のような設定になる。転送プロトコルとして SCP
などとの代わりに Amazon S3
を選択する。ホスト名とポート番号は、通常は変更不要。アクセスキーIDとシークレットキーに、AWS CLI等で使用するアクセスキーとシークレットキーを入力。
HTTPプロキシを経由する場合、「設定」ボタンから設定画面に進む。左のメニューから「プロキシ」を選び、プロキシサーバーのホスト名とポート番号、認証が必要であればユーザー名とパスワードを指定する。
設定は保存しておく。その後「ログイン」を行うと、該当アカウントのS3の「ルート」として、バケット一覧が表示される。
あとはSFTPやFTP、FTPS接続時と同じように、エクスプローラー感覚で利用できる。バケット内に入ると、管理コンソールでしているようにディレクトリ感覚でパスを移動しファイル感覚でオブジェクトを操作できる。
ロール切替には(おそらく)未対応
WinSCPは設定可能項目を見る限り、残念ながらロール切替(スイッチロール)してアクセスするといった機能はなさそうに思われる。Windows用のS3クライアントとしては、例えばS3 browserがあるが、こちらも同様でロール切替の設定はない。他にもS3をWindowsにマウントできるようにする商用製品等があるが、ロール切替に対応したものは見つけることができなかった。
ロール切替を前提とするならAWS CLIやAWS Tool for PowerShell等を使う、GUIが必須であればロールではなくIAMユーザーでS3にアクセスできるように権限設定をする、という割り切りが早道だと思われる。