
Explore why cloud security matters and identify common cloud security risks, then learn to design and implement secure cloud services using Azure security best practices.
Target cloud architects and developers with Azure experience. Deliver an advanced security course for those familiar with virtual machines, app services, Azure SQL, and Vnets, not a beginner intro.
Azure security best practices course clarifies boundaries: it is not a hacking or all-encompassing cyber security course, and focuses on cloud security for architects and developers.
Explore Azure security foundations, including identity security, network security, and Key Vault. Apply them across VMs, app services, databases, storage, and logging.
Introduce software security and clarify what security truly means beyond fake identities, DDoS, and identity theft, guiding learners to understand the essence of security.
Identify what to protect against with software security: data loss, disruption of service, data leak, and data inconsistency, illustrated by real-world hacker incidents.
Learn essential software security terminology, including threat, attack, vulnerability, authentication, and authorization, with examples like SQL injection and DDoS, to align security discussions for software architects.
Learn how security responsibility spans the entire organization, from the CIO and CISO to architects, developers, and QA, with every role contributing to secure software.
Explore how cloud security contrasts with on-premises, identify service-varying risks and challenges, and apply mitigations for virtual machines and databases.
Explore cloud security challenges of internet exposure, large attack surface, and misconfiguration, plus cost-driven security tradeoffs. Learn to secure resources with web application firewall, multifactor authentication, and private endpoints.
Explore securing cloud services by configuring networking and identity, focusing on virtual machines, app services, and databases. Learn why monitoring and policy do not have networking connectivity and are discussed.
Activate the Azure AD premium P2 trial to explore paid features. The 30-day trial includes 100 users and is free, upgrading the license from free to premium.
Explore how multi-factor authentication, using factors like something you know, something you have, or something you are, strengthens Azure AD security by configuring MFA through conditional access grants.
Configure conditional access and multi-factor authentication in azure ad by disabling security defaults, applying an all-users policy to the azure portal, and requiring MFA for access.
Configure and test multi-factor authentication for the Azure portal using the Microsoft Authenticator app, including QR code setup and approval steps to strengthen security.
Learn the differences between Azure AD roles and Azure roles, their predefined permissions, and why least-privilege access and avoiding global administrator boost Azure identity security.
Explore how to view, assign, and manage Azure AD roles—from global administrator to user administrator—through practical steps in the Azure portal, with a note on MFA policies.
Explore how Azure roles define access to resources, with base roles like owner, contributor, and reader, and how scope inheritance overrides permissions across management groups, subscriptions, and resource groups.
Demonstrates assigning a contributor role to a user on a resource group, detailing scope and inheritance, and distinguishing Azure AD roles from Azure roles for secure access.
Understand managed identities in Azure, enabling services to authenticate to resources via Azure AD. Compare system assigned identities tied to a resource with user assigned identities usable across resources.
Demonstrate configuring a system-assigned managed identity on an Azure app service, then locate and review its application and resource identifiers in Azure Active Directory and enterprise applications.
Learn to configure a user assigned managed identity, attach it to an app service, and grant access to resources such as key vault and databases.
Learn Azure network security essentials, focusing on restricting access to only authorized parties and implementing practical controls to reduce attacks from overly permissive networks.
Explore hub-and-spoke design for secure cloud networks by hosting shared services like firewall and gateway in a hub vnet, connecting spoke vnets via peering, with hub as entry point.
Explore how the network security group (NSG) acts as a gatekeeper for subnets and VMs. It uses five tuples—source, source port, destination, destination port, and protocol—to enforce prioritized security rules.
Configure a new virtual machine and its NSG to control inbound connections, illustrating default rules and a custom RDP rule restricted to your IP.
Configure outbound internet access for a virtual machine by adding an NSG outbound rule that denies https traffic with priority 100, overriding the default allow rule.
Create and configure a network security group (NSG), define inbound and outbound rules, and attach the NSG to a subnet to block RDP traffic and validate access.
Privatelink extends managed services into your vnet via a private endpoint, creating a private IP for resources like Azure SQL, enabling private DNS and keeping traffic inside the vnet.
Key Vault securely stores secrets such as connection strings, keys, and API keys with restricted access via Azure Active Directory. It supports hardware security modules and REST API access.
Create a new key vault in a secure resource group, add secrets, and implement a minimum permissions access policy with a managed identity to retrieve secrets.
Explore Azure security best practices by securing virtual machines with network and identity controls, then demonstrate comprehensive measures across cloud services.
Apply least privilege by assigning the virtual machine contributor role, not the full contributor, and limit access to the specific VM resource type, noting owner, contributor, and reader roles.
Enable Azure automatic VM guest patching to keep virtual machines updated with the latest OS and security fixes, with off-peak maintenance and automatic monitoring and restarts if issues arise.
Install an up-to-date anti-malware solution on the virtual machine, such as Microsoft anti-malware, and integrate it with Defender for Cloud to receive alerts and incidents data.
Enable disk encryption for virtual machine disks using Linux encryption and BitLocker; integrate with Key Vault for keys management and note disk encryption type is separate from operating system encryption.
Limit VM access to the minimum by allowing RDP or SSH only from specific IPs via NSGs, and use Azure Bastion for private access without exposing public IPs.
Secure an Azure Windows VM by creating it in a secure resource group, restricting RDP to your IP, enabling Azure orchestrated patching, and configuring BitLocker with a Key Vault.
Securely access a virtual machine via Azure Bastion to connect with RDP or SSH without a public IP, by creating a Bastion subnet in the VM's VNet and provisioning Bastion.
Explore Azure app services security and its shared infrastructure with Azure Functions, and learn security best practices for designing and developing secure app services.
Configure the app service to accept only https requests, ensuring http is blocked and https traffic remains encrypted; by default these settings are enabled, but verify after deployment.
Integrate Azure AD authentication into your app service through the portal to enable features like MFA, conditional access, and branding.
Move database connection strings from code to Azure Key Vault, a secure secret store that requires strong authentication and easily enables app services to access secrets.
Restrict internet access to the app service to the minimum required, route public access through a web application firewall or WAF, and specify allowed IPs for targeted audiences.
Secure an Azure app service by enabling HTTPS only and enforcing minimum TLS 1.2, adding Azure AD authentication, and configuring IP-based access restrictions.
Explore database security in the cloud, focusing on Azure SQL as the commonly used platform, and learn about default security features across Azure flavors like Postgres SQL and MySQL.
Explore how Azure AD identities unify authentication for Azure SQL, replacing SQL authentication with Azure AD authentication, reducing credential storage and enabling centralized user management.
Learn how Azure SQL encrypts data at rest with TDE, and how Always Encrypted adds column-level protection using keys stored in a key vault.
Limit access to the database using private endpoints to block internet access. Have admins connect through a virtual machine in the connected VNet, or apply firewall rules for IP addresses.
Create and secure an Azure SQL database, configure a new server, choose authentication methods, enable TDE, set firewall rules, and connect with Azure Data Studio.
Create a new Azure AD user, assign the db_datareader role in Azure SQL, then verify the user can log in and read data but cannot edit.
Start and connect to a secure azure virtual machine via rdp, then install the dotnet 6 sdk, visual studio code, and the c# extension to prepare for azure sql development.
Demonstrate connecting an Azure VM to Azure SQL using a connection string, configure a firewall rule for the VM IP, and move from the least secure to more secure access.
Learn how to store a database connection string as a key vault secret, configure dotnet code to retrieve it securely, and grant a VM managed identity access to read secrets.
Demonstrates configuring a private endpoint for Azure Key Vault, linking it to the VM's vnet, enabling private DNS, and disabling public access to secure secret retrieval.
Demonstrates configuring an Azure SQL private endpoint, linking the database to a VM virtual network, updating firewall rules, and securing access with a managed identity.
Learn to connect a VM to Azure SQL using a managed identity, map the VM as a database user, grant read access, and enforce private endpoints with Key Vault secrets.
Create and secure an app service, enable a managed identity, set up vnet integration, grant key vault access, and deploy code to securely access Azure SQL via private endpoint.
Discover methods to secure an Azure storage account, prevent storage leaks, and apply security techniques similar to Azure SQL.
Explore Azure AD identities as the fifth technique for storage access, compare public access, storage key, and SAS token, and learn why Azure AD authentication offers strongest security.
Encrypt data by default in storage accounts to protect data at rest; encryption keys can be managed by Microsoft or the customer, though Microsoft-managed keys are more than enough.
Restrict access to storage accounts by enabling private endpoints and firewall rules for specific IP addresses, while allowing public access only for static website files.
Learn secure storage access from a VM by using SAS tokens, ideally in Key Vault or via managed identity, and connect through a private endpoint rather than public networks.
Demonstrates securely accessing an Azure storage account from a VM using a connection string and SAS token, with Azure Key Vault and managed identity.
Configure a storage account with a private endpoint connected to a vnet to disable public network access. Validate access via a secure virtual machine using key vault and managed identity.
Enable secure storage access by using the virtual machine's managed identity via a key vault secret for the container URL and DefaultAzureCredential, replacing the connection string.
Learn how to securely connect an app service to a storage account using VNet integration and a private endpoint, with a middle VNet between them.
Connect to storage using managed identity, not keys or sas tokens, and store container uri in Key Vault. Grant minimum permissions with private endpoints and apply policies against key-based access.
Make your Azure environment as secure as possible.
Working in the cloud poses unique security challenges. The fact that the cloud is accessible through the internet, and that some services are open to the network by default, makes it an attractive target to attackers.
And that means that you have to make sure your cloud environment is secure. Unsecure environment is an easy target for hackers, which can steal your data, crush your servers, and destroy your reputation.
And this is exactly what this course is all about.
In this course we'll learn everything there's to learn about security in Azure. We'll begin from the very basics, the foundations of software security, and go all the way to the most advanced security topics in Azure.
We'll learn about the security services in Azure and see how, and when, to use them.
We'll also learn how to set a security baseline in Azure and make sure all the resources follow it.
Here are some of the topics we'll discuss in this course:
- Basic security principles
- Security challenges in the cloud
- Identity security with Azure AD
- Network security (NSG, Private Endpoints and more)
- KeyVault
- Securing Virtual Machines
- Securing App Services
- Securing Databases
- Firewalls
And lots more.
But that's not all. I wanted to make this course as practical as possible, and therefore we're going to have a lot of hands-on work in Azure.
We're going to deploy virtual machines and configure them for security, we're going to create KeyVault and store our secrets securely in it, We're going to connect our database to an app service using Private Endpoint, and lots more.
And to make this course even better - it has the following two additional elements:
1. Case study, where we're going to begin with a basic, unsecure cloud architecture, and go through all the elements in it and make them secure. You'll be surprised to see the difference between our starting point and the final architecture.
2. Azure Security Handbook, summarizing what we learn in this course. This downloadable handbook is a great go-to-guide for security in Azure, and it will greatly help you when designing your next cloud architecture (the same way it helps me...)
There is no other course like this! This is the most comprehensive, practical and easy-to-follow course about Azure security. And by the end of this course - you'll be a real Azure Security Expert!
------------------------------------------------------------
What do my students have to say about my Azure courses
------------------------------------------------------------
"This is the best Azure course I have encountered on Udemy or anywhere. And I say this after buying 8 different Udemy Azure before" - Arbaaz
"One of the best Azure classes in the world" - Kkvi1357
"One of the best courses I've done at Udemy - top among maybe 50-100" - Russ
"Memi is a true architect willing to get his hands dirty!" - Kevon
"Excellent" - Ashwani
"Highly recommended" - Shashank
"I am loving it <3 the best part is the project based learning !" - Juhi
"The best course I have taken on Udemy" - Eslam
And lots more...
------------------------------------------------------------
Who is this course for?
------------------------------------------------------------
Any person who works with Azure will benefit from this course.
Whether you are a cloud architect, developer or administrator - this course is for you.
And in fact - anyone who's interested in cloud and security can take this course and benefit from it.
If you're not sure if this course is for you - drop me a note!
------------------------------------------------------------
What are the prerequisites for this course?
------------------------------------------------------------
Some knowledge of Azure and familiarity with the Azure portal is required for this course.
Note: This is not a beginner course in Azure, and I assume you already know how to work with Azure, create resources in it and work with them.
------------------------------------------------------------
About Me
------------------------------------------------------------
I've been working with Azure for more than 11 years, spanning dozens of customers from various fields - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.
In addition, I am a certified Azure Solutions Architect Expert and a certified Azure Security Engineer.
I've been in the software industry for more than 20 years, and a Software Architect for more than 17 years, working with a variety of clients.
I'm an avid speaker and trainer, having trained thousands of students in various courses.
I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients, using the best possible architecture patterns and services.