ECS と EFS 間の転送時暗号化の確認

ECS タスクと EFS 間の転送時暗号化を確認してください。EFS ファイルシステムの保存時暗号化とは別の設定です。

説明

ECS タスクの EFSVolumeConfiguration.TransitEncryption は、ECS ホストと EFS サーバー間で転送されるデータを保護します。DISABLED ではこの接続の転送時暗号化を使いません。EFS ファイルシステムの保存時暗号化を有効・無効にする設定ではありません。

想定される影響

  • 転送時暗号化がないと、通信経路にアクセスできる攻撃者に対して、ファイル内容を保護する追加の手段が失われます。
  • 暗号化された通信を要求するポリシーと設定が合わない場合、ボリュームのマウントやアプリケーションの起動に失敗することがあります。

対処方法

  • サービスが実際に使うタスク定義と EFS ボリュームを確認し、TransitEncryption: ENABLED を指定してください。EFS の IAM 認証やアクセスポイントを使う場合、転送時暗号化が必要です。
  • 対応する ECS 実行環境、EFS マウントターゲット、通信経路と権限を用意してください。新しいタスク定義のリビジョンへサービスを更新し、マウントとアプリケーションの読み書きを検証してください。
  • ファイルシステムの保存時暗号化とアクセスポリシーは別途確認してください。転送時暗号化だけでは、許可済み利用者による過剰なファイルアクセスは制限できません。

例

既存の EFS ファイルシステムをマウントする EC2 ベースのタスク定義の構成案です。環境に合う EfsFileSystemId、マウントターゲット、ECS の実行容量、セキュリティグループを用意してください。タスクを実際に実行するサービス設定は含まれません。

転送時暗号化を無効化

yaml
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
  AppName:
    Type: String
    Default: simple-app
  EfsFileSystemId:
    Type: String
Resources:
  cluster:
    Type: AWS::ECS::Cluster
  taskdefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      ContainerDefinitions:
        - Name: !Ref AppName
          MountPoints:
            - SourceVolume: my-vol
              ContainerPath: /var/www/my-vol
          Image: amazon/amazon-ecs-sample
          Memory: 128
      Volumes:
        - Name: my-vol
          EFSVolumeConfiguration:
            FilesystemId: !Ref EfsFileSystemId
            TransitEncryption: DISABLED

ECS と EFS 間の転送時暗号化を無効にします。ファイルシステムの保存時暗号化は、この例だけでは決まりません。

転送時暗号化を有効化

yaml
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
  AppName:
    Type: String
    Default: simple-app
  EfsFileSystemId:
    Type: String
Resources:
  cluster:
    Type: AWS::ECS::Cluster
  taskdefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      ContainerDefinitions:
        - Name: !Ref AppName
          MountPoints:
            - SourceVolume: my-vol
              ContainerPath: /var/www/my-vol
          Image: amazon/amazon-ecs-sample
          Memory: 128
      Volumes:
        - Name: my-vol
          EFSVolumeConfiguration:
            FilesystemId: !Ref EfsFileSystemId
            TransitEncryption: ENABLED

EFS 接続に転送時暗号化を使用します。新しいリビジョンをデプロイし、必要なファイルアクセスを確認してください。

参考資料