Using Customer Managed Key Hybrid with AWS
The Customer Managed Key (CMK) Hybrid service allows organizations to provide and manage their own encryption keys for certain customer content stored in the Zoom Cloud. Zoom CMK Hybrid can be used with Amazon Key Management Service (KMS). This allows for encryption of applicable content stored in the Zoom Cloud using the keys that the organization controls.
Note: Please refer to our standard instructions if you are not configuring CMK hybrid.
Requirements for using Customer Managed Key Hybrid with AWS
- Account owner or Admin with edit access to:
- Security
- Zoom Node
- Customer Managed Key Hybrid
- Zoom Node for Hybrid Customer Managed Key Plan
- Customer Managed Key Plan and CMK hybrid license
- 2 Zoom Node Virtual Machines (VMs) installed and registered
- An external IP address (if external clients are needed)
- 2 Internal IP Addresses (minimum)
- AWS Key Management Service Key for Customer Managed (Cloud) Key
- AWS Key Management Service Key for Customer Managed Hybrid Key
- AWS IAM user to access Key Management Service for Customer Managed Key Hybrid
- Redis Instance endpoint (not provided by Zoom)
- SAML entity ID and metadata url
How to install Customer Managed Key Hybrid
Setup AWS Key for Zoom Use
Follow these instructions to configure an AWS Key for cloud usage.
Install CMK Hybrid Key
Configure CMK Hybrid Key in AWS
The Hybrid CMK Key should be separate from the Zoom Cloud CMK Key. The newly generated KMS Key can also be for one or more regions.
In addition to generating a key, you will need to generate a user and credentials to be used by the Hybrid CMK Node to connect to the KMS.
Generate a new CMK Hybrid Key in AWS
For this step, please create a key meeting your default KMS Policy.
DO NOT give access to Zoom's Cloud Key Broker Role or User.
Create a Key Connector User in AWS and generate a credential:
For this step, you will need to create an IAM user in AWS. For more details on how to do so, please follow your internal IAM policies. AWS Documentation on this step can be found here.
- Create a Key Connector User in your AWS IAM.
- Navigate to IAM and click Create Group.
- Create a KeyConnector Group.
No Policies or users need to be connected yet. - Add policies to the Group that allow it access to the Hybrid CMK Key. Select the Group and click Add Permissions, then click Create inline policy.
- Click JSON for the policy type.
- Replace the content of the Statement with the following, substitute the ARN for the Hybrid CMK Key for $KeyARN. If you have a multi-region key, be sure to include all Key ARNs.
"Sid": "HybridCMKPolicy",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:GenerateDataKey",
"kms:DescribeKey"
],
"Resource": "$KeyARN"
- Click Next at the bottom. This will allow you to review the policies and add a policy name.
- Click Create to finish and associate the policy with the group permissions.
- Navigate back to IAM and click Create User.
- Enter a name. This user does not need access to the management console
- Assign the previously created IAM group to the user and click Next.
- Review the information and click Create user.
- Navigate to IAM and click Users report.
- Click on the user and then click Security Credentials.
- Click Create access key.
- Select Application running outside AWS and click Next.
- On the next page, provide a descriptive tag and click Create access Key.
- Copy and store the Access key and secret (you can download it as a .CSV as well).
Configure CMK Hybrid in the Zoom Admin Web Portal
- Sign into the Zoom web portal.
- Click Advanced, then Security, then click CMK Hybrid.
- Click Add Key.
- Add one or more ARN for the Main and Replica keys. Use the + to add additional lines as needed.
- The keys will show as Pending until the service uses it for the first time.
Install CMK Hybrid Services in Node
Note: For high availability we recommend installing at least two Node VMs, updating them to the latest node agents, and keeping them online.
- Sign in to the Zoom web portal.
- Click Advanced, then Security, then click CMK Hybrid.
- Click the Nodes tab and select the Key Connector VM.
- Click Add next to External Storage.
- Enter the IP address / FQDN and share for an NFS Server. Click Save when you are finished.
External Storage should now display a green circle next to it. - Click the Services tab and click Add Service.
- Add a Key Connector service.
- Select the Node VM which you just added the external storage to, then select the Internal IP Address, and point it at your redis instance (do not include the port, it assumes 8080).
The Key Connector will install but it cannot be started until the Load Balancer is installed. - On the Services tab, select the other VM that you did not install the Key Connector on.
- Click Add Service, then add a Load Balancer.
- Select the Node IP address under External IP. The Load Balancer can either use an external IP address, or only be accessible internally.
- Navigate to the local web portal for the Load Balancer.
The address is https://<IP_ADDRESS OF LOAD BALANCER>:8443 - Sign In using the zoom-setup password.
- On the left side, click Secrets.
- Click Update then add the AWS Key you saved earlier.
- Input the Access Key and Secret.
Configure SSO for key access
You will need to create an application in your SSO provider. Zoom recommends that this be a different app than your Zoom app. The relevant details are as follows:
Once the app is configured, you need to add information about it to the Zoom Web portal.
- Sign in to the Zoom web portal.
- Click Advanced, then click Security.
- Find Customer Managed Key Hybrid, then CMK Hybrid SAML configuration and click Edit.
- Enter the following information and click Save:
- Identifier: The vanity ural for your account.
- Metadata URL: The Metadata URL for the App you created in SSO.
Assign users to CMK Hybrid
Determine how you'd like your users to be selected to use CMK Hybrid:
- All Users on the Account
- Specific Groups.
For testing, you may want to use a specific group at first before enabling for your entire account.
Using CMK Hybrid with Client Level Encryption
Client side encryption will apply to all users in the account or to specific groups. When these users sign into Zoom without SSO, they will be shown the following notification for chat messages: Unable to decrypt message.
Users will not be able to send or receive chat messages until they have authenticated using SSO. The Unable to decrypt message notification allows them to do this by clicking Authenticate. This will take the users to the configured SSO URL. Once they have verified their identities, they will be redirected back to Zoom and will be able to view client-side CMK Hybrid (CSE) encrypted messages.