Azure Key Vault Developer's Guide

Key Vault allows you to securely access sensitive information from within your applications:

  • Keys and secrets are protected without having to write the code yourself and you are easily able to use them from your applications.
  • You are able to have your customers own and manage their own keys so you can concentrate on providing the core software features. In this way, your applications will not own the responsibility or potential liability for your customers’ tenant keys and secrets.
  • Your application can use keys for signing and encryption yet keeps the key management external from your application, allowing your solution to be suitable as a geographically distributed app.
  • As of the September 2016 release of Key Vault, your applications can now use Key Vault certificates. For more information, see About keys, secrets, and certificates.

For more general information on Azure Key Vault, see What is Key Vault.

Public Previews

Periodically, we release a public preview of a new Key Vault feature. Try out these and let us know what you think via azurekeyvault@microsoft.com, our feedback email address.

Storage Account Keys - July 10, 2017

Note

For this update of Azure Key Vault only the Storage Account Keys feature is in preview.

This preview includes our new Storage Account Keys feature, available through these interfaces; .NET/C#, REST and PowerShell.

For more information on the new Storage Account Keys feature, see Azure Key Vault storage account keys overview.

Videos

This video shows you how to create your own key vault and how to use it from the 'Hello Key Vault' sample application.

Resources mentioned in above video:

Creating and Managing Key Vaults

Azure Key Vault provides a way to securely store credentials and other keys and secrets, but your code needs to authenticate to Key Vault to retrieve them. Managed Service Identity (MSI) makes solving this problem simpler by giving Azure services an automatically managed identity in Azure Active Directory (Azure AD). You can use this identity to authenticate to any service that supports Azure AD authentication, including Key Vault, without having any credentials in your code.

For more information on MSI, see Managed Service Identity (MSI) for Azure resources.

For more information on working with AAD, see Integrating applications with Azure Active Directory.

Before working with keys, secrets or certificates in your key vault, you'll create and manage your key vault through CLI, PowerShell, Resource Manager Templates or REST, as described in the following articles:

Coding with Key Vault

The Key Vault management system for programmers consists of several interfaces. This section contains links to all of the languages as well as some code exampls.

Supported programming and scripting languages

REST

All of your Key Vault resources are accessible through the REST interface; vaults, keys, secrets, etc.

Key Vault REST API Reference.

.NET

.NET API refence for Key Vault

For more information on the 2.x version of the .NET SDK, see the Release notes.

Java

Java SDK for Key Vault

Node.js

In Node.js, the Key Vault management API and the Key Vault object API are separate. The following overview article gives you access to both.

Azure Key Vault modules for Node.js

Python

Azure Key Vault libraries for Python

Azure CLI 2

Azure CLI for Key Vault

Azure PowerShell

Azure PowerShell for Key Vault

Quick start guides

Code examples

For complete examples using Key Vault with your applications, see:

How-tos

The following articles and scenarios provide task-specific guidance for working with Azure Key Vault:

Integrated with Key Vault

These articles are about other scenarios and services that use or integrate with Key Vault.

  • Azure Disk Encryption leverages the industry standard BitLocker feature of Windows and the DM-Crypt feature of Linux to provide volume encryption for the OS and the data disks. The solution is integrated with Azure Key Vault to help you control and manage the disk encryption keys and secrets in your key vault subscription, while ensuring that all data in the virtual machine disks are encrypted at rest in your Azure storage.
  • Azure Data Lake Store provides option for encryption of data that is stored in the account. For key management, Data Lake Store provides two modes for managing your master encryption keys (MEKs), which are required for decrypting any data that is stored in the Data Lake Store. You can either let Data Lake Store manage the MEKs for you, or choose to retain ownership of the MEKs using your Azure Key Vault account. You specify the mode of key management while creating a Data Lake Store account.
  • Azure Information Protection allows you to manager your own tenant key. For example, instead of Microsoft managing your tenant key (the default), you can manage your own tenant key to comply with specific regulations that apply to your organization. Managing your own tenant key is also referred to as bring your own key, or BYOK.

Key Vault overviews and concepts

Social

Supporting Libraries