Data protection and encryption - Amazon Transfer Family
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Data protection and encryption

The Amazon shared responsibility model applies to data protection in Amazon Transfer Family (Transfer Family). As described in this model, Amazon is responsible for protecting the global infrastructure that runs all of the Amazon Cloud. You are responsible for maintaining control over your content that is hosted on this infrastructure. This content includes the security configuration and management tasks for the Amazon services that you use. For more information about data privacy, see the Data privacy FAQ. For information about data protection in Europe, see the Amazon shared responsibility model and GDPR blog post on the Amazon Security Blog.

For data protection purposes, we recommend that you protect Amazon account credentials and set up individual user accounts with Amazon IAM Identity Center. That way each user is given only the permissions necessary to fulfill their job duties. We also recommend that you secure your data in the following ways:

  • Use multi-factor authentication (MFA) with each account.

  • Use SSL/TLS to communicate with Amazon resources. We support TLS 1.2.

  • Set up API and user activity logging with Amazon CloudTrail.

  • Use Amazon encryption solutions, along with all default security controls within Amazon services.

  • Use advanced managed security services such as Amazon Macie, which assists in discovering and securing personal data that is stored in Amazon S3.

  • If you require FIPS 140-2 validated cryptographic modules when accessing Amazon through a command line interface or an API, use a FIPS endpoint. For more information about the available FIPS endpoints, see Federal information processing standard (FIPS) 140-2.

We strongly recommend that you never put sensitive identifying information, such as your customers' account numbers, into free-form fields such as a Name field. This includes when you work with Transfer Family or other Amazon services using the console, API, Amazon CLI, or Amazon SDKs. Any configuration data that you enter into Transfer Family service configuration, or other services' configurations, might get picked up for inclusion in diagnostic logs. When you provide a URL to an external server, don't include credentials information in the URL to validate your request to that server.

In contrast, data from upload and download operations into and out of Transfer Family servers is treated as completely private and never exists outside of encrypted channels—such as an SFTP or FTPS connection. This data is only ever accessible to authorized persons.

Data encryption

Amazon Transfer Family uses the default encryption options you set for your Amazon S3 bucket to encrypt your data. When you enable encryption on a bucket, all objects are encrypted when they are stored in the bucket. The objects are encrypted by using server-side encryption with either Amazon S3 managed keys (SSE-S3) or Amazon Key Management Service (Amazon KMS) managed keys (SSE-KMS). For information about server-side encryption, see Protecting data using server-side encryption in the Amazon Simple Storage Service User Guide.

The following steps show you how to encrypt data in Amazon Transfer Family.

To allow encryption in Amazon Transfer Family
  1. Enable default encryption for your Amazon S3 bucket. For instructions, see Amazon S3 default encryption for S3 buckets in the Amazon Simple Storage Service User Guide.

  2. Update the Amazon Identity and Access Management (IAM) role policy that is attached to the user to grant the required Amazon Key Management Service (Amazon KMS) permissions.

  3. If you are using a session policy for the user, the session policy must grant the required Amazon KMS permissions.

The following example shows an IAM policy that grants the minimum permissions required when using Amazon Transfer Family with an Amazon S3 bucket that is enabled for Amazon KMS encryption. Include this example policy in both the user IAM role policy and session policy, if you are using one.

{ "Sid": "Stmt1544140969635", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey", "kms:GetPublicKey", "kms:ListKeyPolicies", ], "Effect": "Allow", "Resource": "arn:aws-cn:kms:region:account-id:key/kms-key-id" }
Note

The KMS key ID that you specify in this policy must be the same as the one specified for the default encryption in step 1.

Root, or the IAM role that is used for the user, must be allowed in the Amazon KMS key policy. For information about the Amazon KMS key policy, see Using key policies in Amazon KMS in the Amazon Key Management Service Developer Guide.