Implement Azure Security Cheatsheet
Implement Azure Security Cheatsheet
By Saeed Salehi
3 min read
- Authors
- Name
- Saeed Salehi
- linkedinSaeed Salehi
- twitter@1saeedsalehi
- Github
- github1saeedsalehi
- Website
- websiteBlog
 
 - Part of series- Developing Solutions for Microsoft Azure (AZ-204) certification exam Cheatsheets - Part 1:Introduction to (AZ-204) certification exam Cheatsheets 
- Part 2:Implement IaaS in Azure Cheatsheets 
- Part 3:Azure Functions Cheatsheets 
- Part 4:Azure App Service Cheatsheets 
- Part 5:Develop solutions that use Blob storage Cheatsheets 
- Part 6:Develop solutions that use Azure Cosmos DB Cheatsheets 
- Part 7:Implement Azure Security Cheatsheet 
- Part 8:Microsoft Identity platform Cheatsheet 
- Part 9:Monitoring And logging in Azure Cheatsheets 
- Part 10:Azure Cache for Redis Cheatsheets 
- Part 11:Develop message-based solutions Cheatsheets 
- Part 12:Develop event-based solutions Cheatsheets 
- Part 13:API Management in Azure Cheatsheets 
 
Azure Key Vault
Supports vaults and managed hardware security module(HSM) pools
service tiers:
- Standard: encrypts with a software key
- Premium: hardware security module(HSM)-protected keys
Authentication
To do any operations with Key Vault, you first need to authenticate to it
- Managed identities for Azure resources
- Service principal and certificate
- Service principal and secret
Create a key vault
az keyvault create --name $myKeyVault --resource-group az204-vault-rg --location $myLocation
Create a secret
az keyvault secret set --vault-name $myKeyVault --name "ExamplePassword" --value "hVFkk965BuUv"
retrieve the secret
az keyvault secret show --name "ExamplePassword" --vault-name $myKeyVault
Managed identities
Types of managed identities:
- system-assigned managed identity
- user-assigned managed identity (independent lifecycle than a Azure resource)
Create System-assigned managed identity
during creation of an resources by specifying these parameters:
 --assign-identity \
    --role contributor \
    --scope mySubscription \
system-assigned identity to an existing virtual machine:
az vm identity assign -g myResourceGroup -n myVm
Create User-assigned managed identity
create identity az identity create -g myResourceGroup -n myUserAssignedIdentity
assign to a resource by specifying these parameters:
--assign-identity <USER ASSIGNED IDENTITY NAME> \
--role <ROLE> \
--scope <SUBSCRIPTION>
or to an existing resource:
az vm identity assign \
    -g <RESOURCE GROUP> \
    -n <VM NAME> \
    --identities <USER ASSIGNED IDENTITY>
Azure App Configuration
Azure App Configuration encrypts sensitive information at rest using a 256-bit AES encryption key provided by Microsoft.
*, ,, and \. These characters are reserved
Key values in App Configuration can optionally have a label attribute
Version key values
App Configuration doesn't version key values automatically as they're modified. Use labels as a way to create multiple versions of a key value.
Query key values
Each key value is uniquely identified by its key plus a label that can be null
Values
Values assigned to keys are also unicode strings.
Manage application features
- Feature flag: A feature flag is a variable with a binary state of on or off
- Feature manager: A feature manager is an application package that handles the lifecycle of all the feature flags in an application
- Filter: A filter is a rule for evaluating the state of a feature flag.
Secure app configuration data
Encrypt configuration data by using customer-managed keys
Requirements:
- Standard tier Azure App Configuration instance
- Azure Key Vault with soft-delete and purge-protection features enabled
- An RSAorRSA-HSMkey within the Key Vault: The key must not be expired, it must be enabled, and it must have both wrap and unwrap capabilities enabled
Allow Azure App Configuration to use the Key Vault key:
- Assign a managed identity to the Azure App Configuration instance
- Grant the identity GET,WRAP, andUNWRAPpermissions in the target Key Vault's access policy.
Use private endpoints for Azure App Configuration
Allow clients on a virtual network (VNet) to securely access data over a private link.
Managed identities
A managed identity from Azure Active Directory (AAD) allows Azure App Configuration to easily access other AAD-protected resources, such as Azure Key Vault.
The identity is managed by the Azure platform. It does not require you to provision or rotate any secrets.
Add a system-assigned identity
az appconfig identity assign
Assign the new user-assigned identity to the myTestAppConfigStore configuration store:
az appconfig identity assign --name myTestAppConfigStore \
    --resource-group myResourceGroup \
    --identities /subscriptions/[subscription id]/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUserAssignedIdentity