This topic describes the Alibaba Cloud services that can be integrated with Key Management Service (KMS). These Alibaba Cloud services can use service-managed keys or user-managed keys, including the keys imported by using the Bring Your Own Key (BYOK) feature, to encrypt data of different types in different scenarios.

Workload data encryption

Service Description Related topic
Elastic Compute Service (ECS)

By default, the disk encryption feature of ECS uses service-managed keys to encrypt your data. This feature can also use user-managed keys to encrypt your data. Each disk has its own customer master key (CMK) and data key and uses the envelope encryption mechanism to encrypt your data.

An ECS instance automatically encrypts the data transmitted to an encrypted disk and decrypts the data read from the disk. Data is encrypted or decrypted on the host where the ECS instance resides. During encryption and decryption, the performance of the disk is not affected.

After an encrypted disk is created and attached to an ECS instance, the ECS instance encrypts the following data:
  • Static data stored on the disk.
  • Data transmitted between the disk and the ECS instance. Data in the operating system of the ECS instance is not encrypted.
  • All snapshots created from the encrypted disk. These snapshots are called encrypted snapshots.
Encryption overview
Container Service for Kubernetes (ACK)

ACK supports server-side encryption (SSE) based on KMS for the following types of workload data:

  • Kubernetes Secrets

    In a Kubernetes cluster, Kubernetes Secrets are used to store and manage sensitive business data, such as application passwords, Transport Layer Security (TLS) certificates, and credentials used to download Docker images. Kubernetes stores Secrets in etcd of the cluster.

  • Volumes

    A volume can be a disk, an Object Storage Service (OSS) bucket, or an Apsara File Storage NAS file system. You can use the specific SSE encryption method of KMS to encrypt each type of volumes. For example, you can create an encrypted disk and attach the disk to a Kubernetes cluster as a volume.

Use KMS to encrypt Kubernetes Secrets
Web App Service

Web App Service is integrated with KMS to encrypt sensitive configuration data, such as access credentials of ApsaraDB RDS.

None
Application Configuration Management
Application Configuration Management is integrated with KMS to encrypt application configurations. This ensures the security of sensitive configurations, such as data sources, tokens, usernames, and passwords, and reduces the risk of configuration leak. Application Configuration Management can use KMS in one of the following ways:
  • Encrypt data in KMS

    Application Configuration Management calls a data encryption API operation to transmit configurations to KMS. Then, KMS encrypts the configurations by using a specified CMK.

  • Use the envelope encryption mechanism to encrypt data in Application Configuration Management

    Application Configuration Management uses a data key to encrypt configurations and calls a KMS API operation to encrypt the data key by using a specified CMK.

Create and use encrypted configuration

Persistent storage encryption

Service Description Related topic
OSS
OSS uses the SSE feature to encrypt uploaded data.
  • When you upload data to OSS, OSS encrypts the uploaded data and then stores the encrypted data in persistent storage.
  • When you download data from OSS, OSS automatically decrypts the data and returns the decrypted data to you. In addition, OSS declares that the data has been encrypted on the server in a header of the returned HTTP response.

OSS can use an encryption system dedicated to OSS to implement the SSE feature. In this case, this feature is called SSE-OSS. The keys used in this encryption system are not managed by OSS. Therefore, you cannot use ActionTrail to audit the use of these keys.

OSS can also use KMS to implement the SSE feature. In this case, this feature is called SSE-KMS. OSS uses service-managed keys or user-managed keys to encrypt your data. OSS allows you to configure a default CMK for each bucket or specify the CMK to use when you upload an object.

Apsara File Storage NAS

By default, Apsara File Storage NAS uses service-managed keys to encrypt your data. Each volume has its own CMK and data key and uses the envelope encryption mechanism to encrypt your data.

Server-side encryption
Tablestore

By default, Tablestore uses service-managed keys to encrypt your data. Tablestore can also use user-managed keys to encrypt your data. Each table has its own CMK and data key and uses the envelope encryption mechanism to encrypt your data.

N/A
Cloud Storage Gateway (CSG)
CSG supports the following encryption methods:
  • Gateway encryption: Files in the gateway cache are encrypted before they are uploaded to OSS.
  • OSS-based encryption

Database encryption

Service Description Related topic
ApsaraDB RDS ApsaraDB RDS supports the following encryption methods:
  • Disk encryption

    For disks used by ApsaraDB RDS instances, Alibaba Cloud provides the disk encryption feature for free. This feature encrypts disks based on block storage. The keys used for disk encryption are encrypted and stored in KMS. ApsaraDB RDS reads the keys only when you start or migrate instances.

  • Transparent data encryption (TDE)

    ApsaraDB RDS for MySQL and ApsaraDB RDS for SQL Server support TDE. The keys used for TDE are encrypted and stored in KMS. ApsaraDB RDS reads the keys only when you start or migrate instances. After TDE is enabled for an ApsaraDB RDS instance, you can specify the database or table to be encrypted. The data of the specified database or table is encrypted before it is written to the destination device such as a disk, solid-state drive (SSD), or Peripheral Component Interconnect Express (PCIe) card, or to a service such as OSS. All data files and backups of the ApsaraDB RDS instance are stored in ciphertext.

ApsaraDB for MongoDB

The encryption methods for ApsaraDB for MongoDB are similar to those for ApsaraDB RDS.

Configure TDE for an ApsaraDB for MongoDB instance
PolarDB The encryption methods for PolarDB are similar to those for ApsaraDB RDS.

Log data encryption

Service Description Related topic
ActionTrail

When you create a single-account or multi-account trail, you can enable encryption for events that are delivered to OSS in the ActionTrail console.

Log Service

Log Service is integrated with KMS to encrypt data for secure storage.

Encrypt data

Big data and AI

Service Description Related topic
MaxCompute

MaxCompute uses service-managed keys or user-managed keys to encrypt your data.

Data encryption
Machine Learning Platform for AI (PAI) You can configure SSE for the Alibaba Cloud services that are used in different data flow stages in the architecture of PAI, such as computing engines, ACK, and data storage services. This protects data security and privacy. N/A

Other scenarios

Service Description Related topic
Alibaba Cloud CDN When an OSS bucket is used as the origin, you can use OSS-based SSE to protect distributed content. For more information about how to allow CDN to access an encrypted OSS bucket, see CDN documentation. Grant Alibaba Cloud CDN access permissions on a private OSS bucket
ApsaraVideo for Media Processing (MTS)

MTS supports two encryption methods: Alibaba Cloud proprietary cryptography and HTTP Live Streaming (HLS) encryption. No matter which encryption method is used, MTS can be integrated with KMS to protect video content.

N/A

ApsaraVideo VOD

ApsaraVideo VOD supports two encryption methods: Alibaba Cloud proprietary cryptography and HLS encryption. No matter which encryption method is used, ApsaraVideo VOD can be integrated with KMS to protect video content.