This section describes how to connect an AWS S3 Bucket with SSE-KMS Encryption enabled. General instructions for configuring your AWS account to allow ICA to connect to an S3 bucket are found on this page.
Follow the AWS instructions for how to create S3 bucket with SSE-KMS key.
Note: S3-SSE-KMS must be in the same region as your ICA v2.0 project. See the ICA S3 bucket documentation for more information.
In the "Default encryption" section, enable Server-side encryption and choose AWS Key Management Service key (SSE-KMS)
. Then select Choose your AWS KMS key
.
If you do not have an existing customer managed key, click Create a KMS key
and follow these steps from AWS.
Once the bucket is set, the user is recommended also to create a folder that will be connected to ICA as a prefix. If the user makes a new folder in the bucket that will be linked in the ICA storage configuration, the encryption must be enabled in AWS console.
Follow the general instructions for connecting an S3 bucket to ICA.
In the step "Create AWS IAM policy":
Add permission to use KMS key by adding kms:Decrypt
, kms:Encrypt
, and kms:GenerateDataKey
Add the ARN KMS key arn:aws:kms:xxx
on the first "Resource"
On Unversioned buckets, the permssions will match the following:
On Versioned OR Suspended buckets, the permssions will match the following:
At the end of the policy setting, there should be 3 permissions listed in the "Summary".
Follow the general instructions for how to create a storage configuration in ICA.
On step 3 in process above, continue with the [Optional] Server Side Encryption
to enter the algorithm and key name for server-side encryption processes.
On "Algorithm", input aws:kms
On "Key Name", input the ARN KMS key: arn:aws:kms:xxx
"Key prefix" is optional, but recommended. "Key prefix" refers to the folder name in the bucket the user previously created above.
In addition to following the instructions to Enable Cross Account Copy, the KMS policy must include the following statement for AWS S3 Bucket with SSE-KMS Encyption (refer to the Role ARN table from the linked page for the ASSUME_ROLE_ARN
value):