0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS Transfer Family - EFS + サービスマネージド

Last updated at Posted at 2023-10-28

構成

前回、AWS Transfer Family - S3 + サービスマネージドの構成で試してみたが、AWS Transfer Family - EFS + サービスマネージドの構成で検証してみようと思う。

trans.drawio (2).png

設定

EFS

 

EFSの作成

IAM

Amazon Transfer FamilyがEFSにアクセスするためのIAMロールとポリシーを作成しておきます。

2種類のIAMロールとポリシーを作成しておいて下さい。信頼関係はいずれも同じです。

{
  "Version": "2012-10-17",  
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "transfer.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

rootファイルシステムアクセス権を付与したポリシー

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RootFileSystemAccess",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:ClientRootAccess",
                "elasticfilesystem:ClientMount",
                "elasticfilesystem:ClientWrite"
            ],
            "Resource": "arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id"
        }
    ]
}

ユーザーファイルシステムアクセス権のみを付与したポリシー

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "UserFileSystemAccess",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:ClientMount",
                "elasticfilesystem:ClientWrite"
            ],
            "Resource": "arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id"
        }
    ]
}

Amazon Transfer Family

サーバー

サーバーは基本的には、保存先を「Amazon EFS」にするところ以外は前回作成したS3のパターンと同じです。
スクリーンショット 2023-10-28 16.06.10.png

ユーザーの追加

ユーザーは今回検証のため3つ準備しておきます。

user1 user2 user3
ユーザーID 0 9999 1111
グループID 0 9999 9999
ロール rootファイルシステムアクセス権を付与したポリシー ユーザーファイルシステムアクセス権のみを付与したポリシー ユーザーファイルシステムアクセス権のみを付与したポリシー
ホームディレクトリ root/ root/transfer root/transfer

user1
スクリーンショット 2023-10-28 18.27.08.png
user2
スクリーンショット 2023-10-28 18.27.23.png
user3
スクリーンショット 2023-10-28 18.26.42.png

動作確認

user1での作業

user1はrootユーザーを使用してフォルダーを作成し、残りのユーザーにPOSIX ID所有者を割り当てる管理用です。
 

# user1で接続
sftp -i sftp user1@s-XXX.server.transfer.ap-northeast-1.amazonaws.com
Transfer family connection test
Connected to XXX.server.transfer.ap-northeast-1.amazonaws.com.

# 現在のディレクトリを確認
sftp> pwd
Remote working directory: /fs-XXX

# transferディレクトリを作成
sftp> mkdir transfer
sftp> ls -l
drwxrwxrwx   2          0        0     6144 Oct 28 08:11 transfer

# uidとgidを9999に変更し、パーミッションを755に設定
sftp> chown 9999 transfer
Changing owner on /fs-XXX/transfer
sftp> chgrp 9999 transfer     
Changing group on /fs-XXX/transfer
sftp> chmod 755 transfer
Changing mode on /fs-XXX/transfer
sftp> ls -l
drwxr-xr-x   2       9999     9999     6144 Oct 28 09:14 transfer

user2での接続確認

user2はtransferディレクトリに書き込み権限があるので、put,getどちらも成功するはずです。

sftp -i sftp user2@s-XXX.server.transfer.ap-northeast-1.amazonaws.com
Transfer family connection test
Connected to s-XXX.server.transfer.ap-northeast-1.amazonaws.com.

# 現在のディレクトリを確認
sftp> pwd
Remote working directory: /fs-XXX/transfer

# put
sftp> put test.txt
Uploading test.txt to /fs-XXX/transfer/test.txt
test.txt
sftp> ls -l
-rw-r--r--   1       9999     9999        0 Oct 28 08:15 test.txt

# get
sftp> get test.txt
Fetching /fs-XXX/transfer/test.txt to test.txt

user3での接続確認

user3はtransferディレクトリに読み取り権限はありますが、書き込み権限はないので、putは失敗し、getは成功するはずです。

sftp -i sftp user3@s-XXX.server.transfer.ap-northeast-1.amazonaws.com
Transfer family connection test
Connected to s-XXX.server.transfer.ap-northeast-1.amazonaws.com.

# 現在のディレクトリを確認
sftp> pwd
Remote working directory: /fs-XXX/transfer

# put
sftp> put test.txt
Uploading test.txt to /fs-XXX/transfer/test.txt
dest open "/fs-xxx/transfer/test.txt": Permission denied

# get
sftp> get test.txt
Fetching /fs-XXX/transfer/test.txt to test.txt

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?