KMS CMK で暗号化した EFS を ECS で利用する際に必要な権限を教えてください

KMS CMK で暗号化した EFS を ECS で利用する際に必要な権限を教えてください

2026.05.05

困っていた内容

ECS で EFS をストレージとして使用することを検討しており、EFS は KMS CMK で暗号化されています。
組織のセキュリティ要件として、ECS のタスクロールやタスク実行ロールには最小権限を付与する必要があるため、CMK で暗号化された EFS にアクセスするための権限を調査しています。

KMS CMK で暗号化した EFS を ECS で利用する際に必要な権限を教えてください。

どう対応すればいいの?

タスクロールやタスク実行ロールに KMS に関する権限は不要です。
EFS ファイルシステムでは暗号化や復号化を透過的に実行するため、クライアント側での権限設定は不要です。
保管中のデータの暗号化 - Amazon Elastic File System

暗号化されたファイルシステムでは、データとメタデータはストレージに書き込まれる前にデフォルトで暗号化され、読み取り時に自動的に復号されます。このプロセスは Amazon EFS で透過的に処理されるため、アプリケーションを変更する必要はありません。

やってみた

Fargate で実行されている Amazon ECS コンテナまたはタスクに Amazon EFS ファイルシステムをマウントする | AWS re:Post
弊社ブログでは 2023 年版の手順が執筆されていますが、今回は上記ナレッジセンターの手順を参考に検証してみます。

まずは KMS コンソールで CMK をデフォルト設定で作成します。

2026-05-05_10h49_33
2026-05-05_10h49_48
2026-05-05_10h50_11
2026-05-05_10h50_38
2026-05-05_10h51_03

続いて、CMK で暗号化した EFS ファイルシステムを作成しました。
CMK の設定以外はデフォルト値です。
2026-05-05_10h52_30

EFS ファイルシステムの作成完了後、ECS コンソールでクラスターをデフォルト設定で作成します。
2026-05-05_10h44_41

クラスターの作成完了後、タスク定義を作成します。
2026-05-05_10h45_49

タスクロールは設定せず、タスク実行ロールにデフォルトの ecsTaskExecutionRole を設定します。
ecsTaskExecutionRole にはマネージドポリシーである AmazonECSTaskExecutionRolePolicy のみがアタッチされており、AmazonECSTaskExecutionRolePolicy の権限は以下の通りです。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}

上記権限には KMS に関する権限が含まれていないことがわかります。

コンテナイメージには nginx を指定しました。
2026-05-05_11h26_30

EFS ファイルシステムのマウント確認用に Docker 設定にコマンドを追加します。

  • エントリポイント: sh,-c
  • コマンド: ls -la /mnt/efs && echo 'EFS mount OK' && sleep 3600
    2026-05-05_11h26_59

ボリュームセクションで EFS ファイルシステムをボリュームとして追加します。
2026-05-05_11h28_34

その他の設定はデフォルト値でタスク定義を作成します。
タスク定義の作成完了後、タスクを実行します。
2026-05-05_10h58_44
2026-05-05_10h58_58

ネットワークについてですが、今回は EFS ファイルシステムと ECS タスクで VPC のデフォルトセキュリティグループを使用しており、同セキュリティグループからのすべてのトラフィックを許可しています。
そのため、EFS ファイルシステムおよび ECS タスクそれぞれでのセキュリティグループ設定はスキップしていますが、リソースごとにセキュリティグループが分かれている場合にはナレッジセンターを参考に 2049 ポートを許可する設定を行ってください。
2026-05-05_11h02_18

その他の設定はデフォルト設定でタスクを作成します。
タスクの実行後、CloudWatch Logs のログに以下のような内容が出力されていればマウントできています。

drwxr-xr-x. 2 root root 6144 May 5 01:53 .
drwxr-xr-x. 1 root root 4096 May 5 02:17 ..
EFS mount OK

以上より、KMS CMK で暗号化した EFS を ECS で利用する際にタスクロールやタスク実行ロールに KMS に関する権限は不要なことを確認できました。

参考資料


AWSテクニカルサポートノートについて

過去にクラスメソッドのAWS総合支援サービスで頂いたお問合せの中から、通常のAWS利用時でも有益になりうる情報をテクニカルサポートチームがTIPSとしてご紹介しています。技術サポートは、無料でご提供しております。詳細は下記ボタンからご覧ください。

クラスメソッドのAWSサポートの詳細を見る

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事