SlideShare une entreprise Scribd logo
1  sur  40
Get Started with
Azure Key Vault
MIHAI PETRICA
AND
TASWAR BHATTI (MICROSOFT MVP)
NOVEMBER 2017
Gemalto
Azure Key Vault
• What are we trying to solve with KeyVault?
• Let’s step back and look at a Cloud Design Pattern
• External Configuration Pattern
External Configuration Pattern
Typical Application
Storing Configuration in file
Multiple application
External Configuration Pattern
• Helps move configuration information out of the application
deployment
• This pattern can provide for easier management and control of
configuration data
• For sharing configuration data across applications and other
application instances
Problems
• Configuration becomes part of deployment
• Multiple applications share the same configuration
• Hard to have access control over the configuration
External Configuration Pattern
When to use the pattern
• When you have shared configuration, multiple application
• You want to manage configuration centrally by DevOps
• Provide audit for each configuration
When not to use
• When you only have a single application there is no need to use this
pattern it will make things more complex
Cloud Solution Offerings
• Azure KeyVault (Today’sTalk)
• Vault by Hashicorp
• AWS KMS
• Keywhiz
What is Azure Key Vault ?
• Safeguard cryptographic keys and secrets used by cloud applications
and services
• Use hardware security modules (HSMs)
• Simplify and automate tasks for SSL/TLS certificates
Gemalto / SafeNet –
Hardware Security Module
How Azure Key Vault can help you ?
• Customers can import their own keys into Azure, and manage them
• Keys are stored in a vault and invoked by URI when needed
• KeyVault performs cryptographic operations on behalf of the
application
• The application does not see the customers’ keys
• KeyVault is designed so that Microsoft does not see or extract your
keys
• Near real-time logging of key usage
Bring Your Own Key (BYOK)
Create a Key Vault
New-AzureRmKeyVault -VaultName ‘MihaiKeyVault' -ResourceGroupName ‘MihaiResourceGroup' -Location 'Canada East'
Objects, identifiers, and versioning
• Objects stored in Azure KeyVault (keys, secrets, certificates) retain
versions whenever a new instance of an object is created, and each
version has a unique identifier and URL
• https://{keyvault-name}.vault.azure.net/{object-type}/{object-
name}/{object-version}
Azure Key Vault keys
• Cryptographic keys in Azure KeyVault are represented as JSONWeb
Key [JWK] objects
• RSA: A 2048-bit RSA key.This is a "soft" key, which is processed in
software by KeyVault but is stored encrypted at rest using a system
key that is in an HSM
• RSA-HSM: An RSA key that is processed in an HSM
• https://myvault.vault.azure.net/keys/mykey/abcdea84815e4ca8bc19c
f8eb943ee88
Create a Key Vault key
$key = Add-AzureKeyVaultKey -VaultName ‘MihaiKeyVault' -Name ‘MihaiFirstKey' -Destination 'Software'
Azure Key Vault secrets
• Secrets are octet sequences with a maximum size of 25k bytes each
• The Azure KeyVault service does not provide any semantics for
secrets; it accepts the data, encrypts and stores it, returning a secret
identifier, “id”, that may be used to retrieve the secret
• https://myvault.vault.azure.net/secrets/mysecret/abcdea54614e4ca7
ge14cf2eb943ab23
Create a Key Vault secret
$secret = Set-AzureKeyVaultSecret -VaultName ‘MihaiKeyVault' -Name 'SQLPassword' -SecretValue $secretvalue
Azure Key Vault certificates
• Import/generate existing certificates, self-signed or Enroll from
Public Certificate Authority (DigiCert, GlobalSign andWoSign)
• When a KeyVault certificate is created, an addressable key and secret
are also created with the same name
• https://myvault.vault.azure.net/certificates/mycertificate/abcdea848
15e4ca8bc19cf8eb943bb45
Create a Key Vault certificate
Secure your Key Vault
• Access to a key vault is controlled through two separate interfaces:
management plane and data plane
• Authentication establishes the identity of the caller
• Authorization determines what operations the caller is allowed to
perform
• For authentication both management plane and data plane use Azure
Active Directory
• For authorization, management plane uses role-based access control
(RBAC) while data plane uses key vault access policy
Access Control
• Access Control based on Azure AD
• Access assigned at theVault level
• - permissions to keys
• - permissions to secrets
• Authentication against AzureAD
• - application ID and key
• - application ID and certificate
Azure Managed Service Identity (MSI)
• Manage the credentials that need to be in your code for
authenticating to cloud services
• Azure KeyVault 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
AzureAD authentication, including KeyVault, without having any
credentials in your code
Azure Key Vault Logging
• Monitor how and when your key vaults are accessed, and by whom
• Save information in an Azure storage account that you provide
• Use standard Azure access control methods to secure your logs by
restricting who can access them
• Delete logs that you no longer want to keep in your storage account
Azure Key Vault Pricing
• Operations (Standard or Premium) $0.030 per 10000 operations
• Advanced Operations (Standard or Premium) $0.150 per 10000
operations
• Certificate Renewals (Standard or Premium) $3.00 per renewal
• Hardware Security Module Protected Keys (Premium only) $1.00 per
key
Azure Key Vault DEMO
• Create KeyVault, Secrets, Keys and Certificates
• Create AzureAD Application
• Consuming Secrets and Keys
https://azurekeyvaultnet.azurewebsites.net - live demo
https://github.com/mihaipetri/AzureKeyVaultNet - demo code
Questions & ThankYou
Mihai Petrica
Microsoft Certified Solutions
Developer
Microsoft Certified Solutions
Expert
mihaipetri@gmail.com
https://www.petrica.tech
https://github.com/mihaipetri/
AzureKeyVault
Taswar Bhatti
Microsoft MVP
taswar@gmail.com
http://taswar.zeytinsoft.com

Contenu connexe

Tendances

Tendances (20)

Introduction to Azure Blueprints
Introduction to Azure BlueprintsIntroduction to Azure Blueprints
Introduction to Azure Blueprints
 
The Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data AnalyticsThe Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data Analytics
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
Azure Security Overview
Azure Security OverviewAzure Security Overview
Azure Security Overview
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
 
Lets talk about: Azure Kubernetes Service (AKS)
Lets talk about: Azure Kubernetes Service (AKS)Lets talk about: Azure Kubernetes Service (AKS)
Lets talk about: Azure Kubernetes Service (AKS)
 
Azure Monitoring Overview
Azure Monitoring OverviewAzure Monitoring Overview
Azure Monitoring Overview
 
The Layman's Guide to Microsoft Azure
The Layman's Guide to Microsoft AzureThe Layman's Guide to Microsoft Azure
The Layman's Guide to Microsoft Azure
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Azure virtual network
Azure virtual networkAzure virtual network
Azure virtual network
 
Azure kubernetes service (aks)
Azure kubernetes service (aks)Azure kubernetes service (aks)
Azure kubernetes service (aks)
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
Azure kubernetes service
Azure kubernetes serviceAzure kubernetes service
Azure kubernetes service
 
Azure role based access control (rbac)
Azure role based access control (rbac)Azure role based access control (rbac)
Azure role based access control (rbac)
 
Azure Networking (1).pptx
Azure Networking (1).pptxAzure Networking (1).pptx
Azure Networking (1).pptx
 
Azure Migration Program Pitch Deck
Azure Migration Program Pitch DeckAzure Migration Program Pitch Deck
Azure Migration Program Pitch Deck
 
Azure Hybid
Azure HybidAzure Hybid
Azure Hybid
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
 
Introduction to Azure monitor
Introduction to Azure monitorIntroduction to Azure monitor
Introduction to Azure monitor
 
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance WorkshopMicrosoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
 

Similaire à Azure Key Vault - Getting Started

Secretsth-Azure-KeyVault-and-Azure-App.pdf
Secretsth-Azure-KeyVault-and-Azure-App.pdfSecretsth-Azure-KeyVault-and-Azure-App.pdf
Secretsth-Azure-KeyVault-and-Azure-App.pdf
s87j3
 
Secretsth-Azure-KeyVault-and-Azure-App.pdf
Secretsth-Azure-KeyVault-and-Azure-App.pdfSecretsth-Azure-KeyVault-and-Azure-App.pdf
Secretsth-Azure-KeyVault-and-Azure-App.pdf
s87j3
 

Similaire à Azure Key Vault - Getting Started (20)

Azure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Azure Low Lands 2019 - Building secure cloud applications with Azure Key VaultAzure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Azure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
 
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
 
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key VaultTechdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
 
Managing your secrets in a cloud environment
Managing your secrets in a cloud environmentManaging your secrets in a cloud environment
Managing your secrets in a cloud environment
 
Securing Sensitive Data with Azure Key Vault (Tom Kerkhove @ ITProceed)
Securing Sensitive Data with Azure Key Vault (Tom Kerkhove @ ITProceed)Securing Sensitive Data with Azure Key Vault (Tom Kerkhove @ ITProceed)
Securing Sensitive Data with Azure Key Vault (Tom Kerkhove @ ITProceed)
 
ITProceed 2015 - Securing Sensitive Data with Azure Key Vault
ITProceed 2015 - Securing Sensitive Data with Azure Key VaultITProceed 2015 - Securing Sensitive Data with Azure Key Vault
ITProceed 2015 - Securing Sensitive Data with Azure Key Vault
 
Data Encryption - Azure Storage Service
Data Encryption - Azure Storage ServiceData Encryption - Azure Storage Service
Data Encryption - Azure Storage Service
 
Configuration in azure done right
Configuration in azure done rightConfiguration in azure done right
Configuration in azure done right
 
Azure Meetup: Keep your secrets and configurations safe in azure!
Azure Meetup: Keep your secrets and configurations safe in azure!Azure Meetup: Keep your secrets and configurations safe in azure!
Azure Meetup: Keep your secrets and configurations safe in azure!
 
Get On Top of Azure Resource Security Using Secure DevOps Kit for Azure
Get On Top of Azure Resource Security Using Secure DevOps Kit for AzureGet On Top of Azure Resource Security Using Secure DevOps Kit for Azure
Get On Top of Azure Resource Security Using Secure DevOps Kit for Azure
 
Secretsth-Azure-KeyVault-and-Azure-App.pdf
Secretsth-Azure-KeyVault-and-Azure-App.pdfSecretsth-Azure-KeyVault-and-Azure-App.pdf
Secretsth-Azure-KeyVault-and-Azure-App.pdf
 
Secretsth-Azure-KeyVault-and-Azure-App.pdf
Secretsth-Azure-KeyVault-and-Azure-App.pdfSecretsth-Azure-KeyVault-and-Azure-App.pdf
Secretsth-Azure-KeyVault-and-Azure-App.pdf
 
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azure
 
(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
 
Zero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resourcesZero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resources
 
Zero credential development with managed identities
Zero credential development with managed identitiesZero credential development with managed identities
Zero credential development with managed identities
 
SecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptxSecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptx
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 

Plus de Taswar Bhatti

Plus de Taswar Bhatti (18)

Get productive with python Visual Studio 2019
Get productive with python Visual Studio 2019Get productive with python Visual Studio 2019
Get productive with python Visual Studio 2019
 
Nodejsvault austin2019
Nodejsvault austin2019Nodejsvault austin2019
Nodejsvault austin2019
 
Cloud patterns forwardjs April Ottawa 2019
Cloud patterns forwardjs April Ottawa 2019Cloud patterns forwardjs April Ottawa 2019
Cloud patterns forwardjs April Ottawa 2019
 
Micrsoft Ignite Toronto - BRK3508 - 8 Cloud Design Patterns you ought to know
Micrsoft Ignite Toronto - BRK3508 - 8 Cloud Design Patterns you ought to knowMicrsoft Ignite Toronto - BRK3508 - 8 Cloud Design Patterns you ought to know
Micrsoft Ignite Toronto - BRK3508 - 8 Cloud Design Patterns you ought to know
 
8 cloud design patterns you ought to know - Update Conference 2018
8 cloud design patterns you ought to know - Update Conference 20188 cloud design patterns you ought to know - Update Conference 2018
8 cloud design patterns you ought to know - Update Conference 2018
 
Intro elasticsearch taswarbhatti
Intro elasticsearch taswarbhattiIntro elasticsearch taswarbhatti
Intro elasticsearch taswarbhatti
 
Cloud Design Patterns - Hong Kong Codeaholics
Cloud Design Patterns - Hong Kong CodeaholicsCloud Design Patterns - Hong Kong Codeaholics
Cloud Design Patterns - Hong Kong Codeaholics
 
Using Vault for your Nodejs Secrets
Using Vault for your Nodejs SecretsUsing Vault for your Nodejs Secrets
Using Vault for your Nodejs Secrets
 
Cloud patterns at Carleton University
Cloud patterns at Carleton UniversityCloud patterns at Carleton University
Cloud patterns at Carleton University
 
Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
 
Devteach 2017 OAuth and Open id connect demystified
Devteach 2017 OAuth and Open id connect demystifiedDevteach 2017 OAuth and Open id connect demystified
Devteach 2017 OAuth and Open id connect demystified
 
Devteach 2017 Store 2 million of audit a day into elasticsearch
Devteach 2017 Store 2 million of audit a day into elasticsearchDevteach 2017 Store 2 million of audit a day into elasticsearch
Devteach 2017 Store 2 million of audit a day into elasticsearch
 
An introduction to Microsoft Bot Framework
An introduction to Microsoft Bot FrameworkAn introduction to Microsoft Bot Framework
An introduction to Microsoft Bot Framework
 
Dev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar BhattiDev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar Bhatti
 
Xamarin forms introduction by Taswar Bhatti and Ahmed Assad
Xamarin forms introduction by Taswar Bhatti and Ahmed AssadXamarin forms introduction by Taswar Bhatti and Ahmed Assad
Xamarin forms introduction by Taswar Bhatti and Ahmed Assad
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Akka.Net Ottawa .NET User Group Meetup
Akka.Net Ottawa .NET User Group Meetup Akka.Net Ottawa .NET User Group Meetup
Akka.Net Ottawa .NET User Group Meetup
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Azure Key Vault - Getting Started

  • 1. Get Started with Azure Key Vault MIHAI PETRICA AND TASWAR BHATTI (MICROSOFT MVP) NOVEMBER 2017
  • 3. Azure Key Vault • What are we trying to solve with KeyVault? • Let’s step back and look at a Cloud Design Pattern • External Configuration Pattern
  • 8. External Configuration Pattern • Helps move configuration information out of the application deployment • This pattern can provide for easier management and control of configuration data • For sharing configuration data across applications and other application instances
  • 9. Problems • Configuration becomes part of deployment • Multiple applications share the same configuration • Hard to have access control over the configuration
  • 11. When to use the pattern • When you have shared configuration, multiple application • You want to manage configuration centrally by DevOps • Provide audit for each configuration
  • 12. When not to use • When you only have a single application there is no need to use this pattern it will make things more complex
  • 13. Cloud Solution Offerings • Azure KeyVault (Today’sTalk) • Vault by Hashicorp • AWS KMS • Keywhiz
  • 14. What is Azure Key Vault ? • Safeguard cryptographic keys and secrets used by cloud applications and services • Use hardware security modules (HSMs) • Simplify and automate tasks for SSL/TLS certificates
  • 15.
  • 16. Gemalto / SafeNet – Hardware Security Module
  • 17. How Azure Key Vault can help you ? • Customers can import their own keys into Azure, and manage them • Keys are stored in a vault and invoked by URI when needed • KeyVault performs cryptographic operations on behalf of the application • The application does not see the customers’ keys • KeyVault is designed so that Microsoft does not see or extract your keys • Near real-time logging of key usage
  • 18. Bring Your Own Key (BYOK)
  • 19. Create a Key Vault New-AzureRmKeyVault -VaultName ‘MihaiKeyVault' -ResourceGroupName ‘MihaiResourceGroup' -Location 'Canada East'
  • 20. Objects, identifiers, and versioning • Objects stored in Azure KeyVault (keys, secrets, certificates) retain versions whenever a new instance of an object is created, and each version has a unique identifier and URL • https://{keyvault-name}.vault.azure.net/{object-type}/{object- name}/{object-version}
  • 21. Azure Key Vault keys • Cryptographic keys in Azure KeyVault are represented as JSONWeb Key [JWK] objects • RSA: A 2048-bit RSA key.This is a "soft" key, which is processed in software by KeyVault but is stored encrypted at rest using a system key that is in an HSM • RSA-HSM: An RSA key that is processed in an HSM • https://myvault.vault.azure.net/keys/mykey/abcdea84815e4ca8bc19c f8eb943ee88
  • 22. Create a Key Vault key $key = Add-AzureKeyVaultKey -VaultName ‘MihaiKeyVault' -Name ‘MihaiFirstKey' -Destination 'Software'
  • 23. Azure Key Vault secrets • Secrets are octet sequences with a maximum size of 25k bytes each • The Azure KeyVault service does not provide any semantics for secrets; it accepts the data, encrypts and stores it, returning a secret identifier, “id”, that may be used to retrieve the secret • https://myvault.vault.azure.net/secrets/mysecret/abcdea54614e4ca7 ge14cf2eb943ab23
  • 24. Create a Key Vault secret $secret = Set-AzureKeyVaultSecret -VaultName ‘MihaiKeyVault' -Name 'SQLPassword' -SecretValue $secretvalue
  • 25. Azure Key Vault certificates • Import/generate existing certificates, self-signed or Enroll from Public Certificate Authority (DigiCert, GlobalSign andWoSign) • When a KeyVault certificate is created, an addressable key and secret are also created with the same name • https://myvault.vault.azure.net/certificates/mycertificate/abcdea848 15e4ca8bc19cf8eb943bb45
  • 26. Create a Key Vault certificate
  • 27.
  • 28.
  • 29. Secure your Key Vault • Access to a key vault is controlled through two separate interfaces: management plane and data plane • Authentication establishes the identity of the caller • Authorization determines what operations the caller is allowed to perform • For authentication both management plane and data plane use Azure Active Directory • For authorization, management plane uses role-based access control (RBAC) while data plane uses key vault access policy
  • 30. Access Control • Access Control based on Azure AD • Access assigned at theVault level • - permissions to keys • - permissions to secrets • Authentication against AzureAD • - application ID and key • - application ID and certificate
  • 31.
  • 32.
  • 33. Azure Managed Service Identity (MSI) • Manage the credentials that need to be in your code for authenticating to cloud services • Azure KeyVault 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 AzureAD authentication, including KeyVault, without having any credentials in your code
  • 34.
  • 35.
  • 36. Azure Key Vault Logging • Monitor how and when your key vaults are accessed, and by whom • Save information in an Azure storage account that you provide • Use standard Azure access control methods to secure your logs by restricting who can access them • Delete logs that you no longer want to keep in your storage account
  • 37. Azure Key Vault Pricing • Operations (Standard or Premium) $0.030 per 10000 operations • Advanced Operations (Standard or Premium) $0.150 per 10000 operations • Certificate Renewals (Standard or Premium) $3.00 per renewal • Hardware Security Module Protected Keys (Premium only) $1.00 per key
  • 38.
  • 39. Azure Key Vault DEMO • Create KeyVault, Secrets, Keys and Certificates • Create AzureAD Application • Consuming Secrets and Keys https://azurekeyvaultnet.azurewebsites.net - live demo https://github.com/mihaipetri/AzureKeyVaultNet - demo code
  • 40. Questions & ThankYou Mihai Petrica Microsoft Certified Solutions Developer Microsoft Certified Solutions Expert mihaipetri@gmail.com https://www.petrica.tech https://github.com/mihaipetri/ AzureKeyVault Taswar Bhatti Microsoft MVP taswar@gmail.com http://taswar.zeytinsoft.com