3.3 KiB
Data Encryption (SSE)
minio
Table of Contents
MinIO Server-Side Encryption (SSE) protects objects as part of write operations, allowing clients to take advantage of server processing power to secure objects at the storage layer (encryption-at-rest). SSE also provides key functionality to regulatory and compliance requirements around secure locking and erasure.
MinIO SSE uses the MinIO Key Encryption Service (KES) <kes>
and an external Key Management Service (KMS) for performing secured
cryptographic operations at scale. MinIO also supports client-managed
key management, where the application takes full responsibility for
creating and managing encryption keys for use with MinIO SSE.
MinIO supports the following KMS (Key Management System)
as the central key
store:
Hashicorp KeyVault <minio-sse-vault>
AWS SecretsManager <minio-sse-aws>
Google Cloud SecretManager <minio-sse-gcp>
Azure Key Vault <minio-sse-azure>
MinIO SSE requires enabling minio-tls
.
Supported Encryption Types
MinIO SSE is feature and API compatible with AWS Server-Side Encryption <server-side-encryption.html>
and supports the following encryption strategies:
SSE-KMS Recommended
MinIO supports enabling automatic SSE-KMS encryption of all objects
written to a bucket using a specific External Key (EK) stored on the
external KMS (Key Management System)
. Clients can override the
bucket-default EK (External Key)
by specifying an explicit key as
part of the write operation.
For buckets without automatic SSE-KMS encryption, clients can specify
an EK (External Key)
as part of the write operation instead.
SSE-KMS provides more granular and customizable encryption compared to SSE-S3 and SSE-C and is recommended over the other supported encryption methods.
For a tutorial on enabling SSE-KMS in a local (non-production) MinIO
Deployment, see minio-encryption-sse-kms-quickstart
.
SSE-S3
MinIO supports enabling automatic SSE-S3 encryption of all objects
written to a bucket using an EK (External Key)
stored on the external KMS (Key Management System)
.
MinIO SSE-S3 supports one EK (External Key)
for the entire deployment.
For buckets without automatic SSE-S3 encryption, clients can request SSE encryption as part of the write operation instead.
For a tutorial on enabling SSE-s3 in a local (non-production) MinIO
Deployment, see minio-encryption-sse-s3-quickstart
.
SSE-C
Clients specify an EK (External Key)
as part of the write operation for
an object. MinIO uses the specified EK (External Key)
to perform SSE-S3.
SSE-C does not support bucket-default encryption settings and requires clients perform all key management operations.
/operations/server-side-encryption/configure-minio-kes-hashicorp /operations/server-side-encryption/configure-minio-kes-aws /operations/server-side-encryption/configure-minio-kes-gcp /operations/server-side-encryption/configure-minio-kes-azure