SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Azure Security Overview
Azure Security OverviewAzure Security Overview
Azure Security Overview
 
Azure Arc Overview from Microsoft
Azure Arc Overview from MicrosoftAzure Arc Overview from Microsoft
Azure Arc Overview from Microsoft
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Azure WAF
Azure WAFAzure WAF
Azure WAF
 
48. Azure Active Directory - Part 1
48. Azure Active Directory - Part 148. Azure Active Directory - Part 1
48. Azure Active Directory - Part 1
 
Azure kubernetes service (aks)
Azure kubernetes service (aks)Azure kubernetes service (aks)
Azure kubernetes service (aks)
 
Azure active directory
Azure active directoryAzure active directory
Azure active directory
 
AZ-900T00A-ENU-PowerPoint-02.pptx
AZ-900T00A-ENU-PowerPoint-02.pptxAZ-900T00A-ENU-PowerPoint-02.pptx
AZ-900T00A-ENU-PowerPoint-02.pptx
 
Power of the cloud - Introduction to azure security
Power of the cloud - Introduction to azure securityPower of the cloud - Introduction to azure security
Power of the cloud - Introduction to azure security
 
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud PlatformsAzure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
 
Azure Cloud PPT
Azure Cloud PPTAzure Cloud PPT
Azure Cloud PPT
 
CAF presentation 09 16-2020
CAF presentation 09 16-2020CAF presentation 09 16-2020
CAF presentation 09 16-2020
 
Microsoft Defender and Azure Sentinel
Microsoft Defender and Azure SentinelMicrosoft Defender and Azure Sentinel
Microsoft Defender and Azure Sentinel
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access management
 
Azure Security Overview
Azure Security OverviewAzure Security Overview
Azure Security Overview
 
AZ-204T00A-PowerPoint_00.pptx
AZ-204T00A-PowerPoint_00.pptxAZ-204T00A-PowerPoint_00.pptx
AZ-204T00A-PowerPoint_00.pptx
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOps
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
Govern your Azure environment through Azure Policy
Govern your Azure environment through Azure PolicyGovern your Azure environment through Azure Policy
Govern your Azure environment through Azure Policy
 

Semelhante a 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
 

Semelhante a 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
 

Mais de Taswar Bhatti

Mais 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
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+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@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+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...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

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