Skip to main content

Manage keys with a cloud provider in ONTAP

Contributors netapp-ahibbard netapp-aaron-holt netapp-dbagwell netapp-lenida netapp-thomi

Beginning with ONTAP 9.10.1, you can use Azure Key Vault (AKV) and Google Cloud Platform's Key Management Service (Cloud KMS) to protect your ONTAP encryption keys in a cloud-hosted application. Beginning with ONTAP 9.12.0, you can also protect NVE keys with AWS' KMS.

AWS KMS, AKV and Cloud KMS can be used to protect NetApp Volume Encryption (NVE) keys only for data SVMs.

About this task

Key management with a cloud provider can be enabled with the CLI or the ONTAP REST API.

When using a cloud provider to protect your keys, be aware that by default a data SVM LIF is used to communicate with the cloud key management endpoint. A node management network is used to communicate with the cloud provider's authentication services (login.microsoftonline.com for Azure; oauth2.googleapis.com for Cloud KMS). If the cluster network is not configured correctly, the cluster will not properly use the key management service.

When utilizing a cloud provider key management service, you should be aware of the following limitations:

  • Cloud-provider key management is not available for NetApp Storage Encryption (NSE) and NetApp Aggregate Encryption (NAE). External KMIPs can be used instead.

  • Cloud-provider key management is not available for MetroCluster configurations.

  • Cloud-provider key management can only be configured on a data SVM.

Before you begin

Enable external key management

Enabling external key management depends on the specific key manager you use. Choose the tab of the appropriate key manager and environment.

Before you begin
  • You must create a grant for the AWS KMS key that will be used by the IAM role managing encryption. The IAM role must include a policy that allows the following operations:

    • DescribeKey

    • Encrypt

    • Decrypt
      +
      For more information, see AWS documentation for grants.

Enable AWS KMV on an ONTAP SVM
  1. Before you begin, obtain both the access key ID and secret key from your AWS KMS.

  2. Set the privilege level to advanced:
    set -priv advanced

  3. Enable AWS KMS:
    security key-manager external aws enable -vserver svm_name -region AWS_region -key-id key_ID -encryption-context encryption_context

  4. When prompted, enter the secret key.

  5. Confirm the AWS KMS was configured correctly:
    security key-manager external aws show -vserver svm_name

If one or more encrypted volumes is already configured for a data SVM and the corresponding NVE keys are managed by the admin SVM onboard key manager, those keys should be migrated to the external key management service. To do this with the CLI, run the command:
security key-manager key migrate -from-Vserver admin_SVM -to-Vserver data_SVM
New encrypted volumes cannot be created for the tenant's data SVM until all NVE keys of the data SVM are successfully migrated.