はじめに
2018/11/27にAWS Transfer for SFTPが発表になったので試してみます。
https://aws.amazon.com/jp/blogs/news/new-aws-transfer-for-sftp-fully-managed-sftp-service-for-amazon-s3/
流れ
事前IAMロールを作成
sftpユーザ認証用のSSH公開鍵を作成
sftpサーバを作成
sftpユーザを作成
sftp接続する
今回はクライアント環境はMACで試してみます。
事前IAMロールを作成
ユーザがS3にアクセスできるようにIAMロールを作成します。
IAM>ロールの作成。 本来であればSFTPサービスを選択したいのですが、現時点(2018/11/27)では設定画面に出てこないので、一旦S3を選択して作成し、作成後に手動で変更します。IAMポリシーはs3アクセスが許可された任意のIAMポリシーを選択します。
変更前
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
変更後
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "transfer.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
sftpユーザ認証用のSSH公開鍵を作成
$ ssh-keygen -P "" -f transfer-key
$ ls
transfer-key transfer-key.pub
sftpサーバを作成
create serverをクリックし、設定はすべてデフォルトで作成します。数分待つとサーバが起動します。
sftpユーザを作成
ユーザ名と先ほど作成したIAMロールを指定する
先程作成した公開鍵(transfer-key.pub)を指定してAddをクリック
sftp接続する
管理コンソールに表示されているエンドポイントに対してSFTP接続を実施する
$ sftp -i transfer-key ftpuser@s-*******.server.transfer.ap-northeast-1.amazonaws.com
The authenticity of host 's-******.server.transfer.ap-northeast-1.amazonaws.com (*.*.*.*)' can't be established.
RSA key fingerprint is SHA256:NT5VxkqjIy9FE3kt1CHfAeA/Vsen3bHuxoPlN/fccJk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 's-******.server.transfer.ap-northeast-1.amazonaws.com,*.*.*.*' (RSA) to the list of known hosts.
Connected to s-******.server.transfer.ap-northeast-1.amazonaws.com.
sftp>