Server-Side Object Encryption with KES
This procedure assumes you have access to a Kubernetes cluster with an active MinIO Operator installation. For instructions on running KES, see the KES docs.
As part of this procedure, you will:
Create or modify a MinIO deployment with support for SSE using KES. Defer to the Deploy Distributed MinIO tutorial for guidance on production-ready MinIO deployments.
Use the MinIO Operator Console to create or manage a MinIO Tenant.
Access the Encryption settings for that tenant and configure SSE using a supported Key Management System.
Create a new EK for use with SSE.
Configure automatic bucket-default SSE-KMS.
This procedure provides guidance for deploying MinIO configured to use KES and enable Server Side Encryption. For instructions on running KES, see the KES docs.
As part of this procedure, you will:
Create a new EK for use with SSE.
Create or modify a MinIO deployment with support for SSE using KES. Defer to the Deploy Distributed MinIO tutorial for guidance on production-ready MinIO deployments.
Configure automatic bucket-default SSE-KMS
Important
Enabling SSE on a MinIO deployment automatically encrypts the backend data for that deployment using the default encryption key.
MinIO requires access to KES and the external KMS to decrypt the backend and start normally.
The KMS must maintain and provide access to the MINIO_KMS_KES_KEY_NAME
.
You cannot disable KES later or “undo” the SSE configuration at a later point.
Prerequisites
Access to MinIO Cluster
Ensure KES Access to a Supported KMS Target
KES Operations Require Unsealed Target
Some supported KMS targets allow you to seal or unseal the vault instance. KES returns an error if the configured KMS service is sealed.
If you restart or otherwise seal your vault instance, KES cannot perform any cryptographic operations against the vault. You must unseal the Vault to ensure normal operations.
See the documentation for your chosen KMS solution for more information on whether unsealing may be required.
Refer to the configuration instruction in the KES documentation for your chosen supported KMS:
Procedure
This procedure provides instructions for configuring and enabling Server-Side Encryption using your selected supported KMS solution in production environments. Specifically, this procedure assumes the following:
An existing production-grade KMS target
One or more KES servers connected to the KMS target
One or more hosts for a new or existing MinIO deployment