EFS File Syncの利用に必要なIAMについて
昨日EFS File Syncを試してみようとマネジメントコンソールのEFSにアクセスした所、
マネージドポリシーの AmazonElasticFileSystemFullAccess
をアタッチしてもコンソール画面が開けず、以下のエラーでハマったため解決方法を記しておきます。
Unable to load content Something went wrong, you may not have permissions to access these resources. Refresh to try again
結果的にはサポートに相談し、以下のような権限をつける事で解決しました。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EfsFileSync",
"Action": "sync:*",
"Effect": "Allow",
"Resource": "arn:aws:datasync:<ご利用のリージョン>:<AWS アカウントID>:*"
}
]
}
EFS File Syncを利用するためには、具体的に以下の3つの権限が必要になるようです。
- AmazonElasticFileSystemFullAccess
同期タスク作成時、EFS一覧表示するために必要 - AmazonEC2FullAccess
同期タスク作成時、ENI を作成するタイミングがあり、ENI を作成できる権限が必要 - IAMの「sync:*」のActionの権限(ここではまった)
同期のためのアクションがEFSのアクションとは別に存在するため、その権限が必要
2018/12/18 現在この「sync:*」に関する権限が必要という記述はドキュメントを探しましたが発見できず、EFS File Syncを使ってみた系統の記事を探して見ても触れられていませんでした。 皆さんどうやってEFS File Syncを利用できるまでに至ったのか少し気になりつつも、これでとりあえずマネジメントコンソールからFile Syncを利用できるようになります。
AWSをセキュアに利用するために、面倒ですがIAMで権限をしっかり絞りつつ頑張っていきたいですね。
参考記事
EFS File Syncを利用するために参考にさせていただいた記事です。
※EFS File SyncではサポートされているプロトコルはNFS3、NFS4のみです。glusterfsなど分散ファイルシステムから移行を検討する際は注意が必要だと思います。