With the account created and protected, it is time to go in. The Azure portal is the web console from which you view, create and diagnose everything in your subscription. It is where you will spend most of your time in the first few weeks and, honestly, the place most people abandon later: the portal is unbeatable for exploring and diagnosing, but anything repeatable ends up being done with the command line or infrastructure as code.
In this lesson you will learn the anatomy of the portal, you will create Contoso Airlines' first real resources — the rg-contoso-reservas-dev group and a storage account for boarding passes — and you will pick up a set of productivity tricks that save hours.
Contents
- Anatomy of the portal
- Global search: your main shortcut
- The dashboard and shared dashboards
- Blades and the portal workflow
- Creating a resource step by step: Contoso's resource group
- Creating the boarding pass storage account
- All resources: filters, columns and saved views
- Favorites and menu customization
- Cloud Shell and the Azure Mobile App
- Activity history and access to support
- When to use the portal and when not to
- Common Mistakes and Tips
- Exercises
- Conclusion
- Anatomy of the portal
You get in at portal.azure.com with the identity you set up in the previous lesson. The screen is divided into five areas:
graph TD
subgraph P["Azure portal"]
TOP["Top bar: global search, Cloud Shell, notifications,<br/>settings, help, directory and subscription filter, profile"]
MENU["Portal menu - left side:<br/>favorites and All services"]
MAIN["Main area: dashboard or the blade of the open resource"]
BREAD["Breadcrumb: Home > Resource groups > rg-..."]
CTX["Resource menu: General, Settings, Monitoring, Automation, Help"]
end
TOP --- MAIN
MENU --- MAIN
BREAD --- MAIN
MAIN --- CTX
| Area | What it contains | Useful details |
|---|---|---|
| Top bar | Global search, Cloud Shell icon, notifications (bell), settings (gear), help and feedback, and your profile | The gear controls language, regional format and menu behavior |
| Portal menu (left) | Your favorites and access to All services | It can be docked (always visible) or left as a flyout panel |
| Main area | The home dashboard or the blade of the resource you are viewing | This is where all the work happens |
| Breadcrumb | Home > Resource groups > rg-contoso-reservas-dev > sttarjetascontosodev | It lets you move up levels without losing context |
| Resource menu | The sections of the open resource, grouped by category | Almost every resource shares the same structure: Overview, Activity log, Access control (IAM), Tags |
The directory and subscription filter
This is the control that prevents the most mistakes and that most people ignore. It is in the top bar (a filter icon, or inside your profile) and it does two things:
- Switching directory (tenant): if your identity belongs to several tenants — your company, a client, your personal account — this is where you choose which one you are working in. If you "cannot see your resources", you are almost always in the wrong directory.
- Filtering subscriptions: you can limit the view to
Contoso Airlines - Desarrollowhile you practice, so that production does not even appear in the lists. It is a cheap defense against accidental deletion.
Professional tip: when working in production, leave only the production subscription selected and be consciously alert. Many incidents start with "I thought I was in development".
The notifications bell
Every operation you launch (create, delete, modify) generates a notification with its status. Expanding it shows you the error detail if something fails, and there is a very useful link: "Download a template for automation", which shows you the JSON equivalent of what you have just done with clicks. It is an excellent way to learn infrastructure as code (module 5).
- Global search: your main shortcut
The search bar at the top searches simultaneously across:
- Services: type "storage" and it takes you to Storage accounts.
- Specific resources that already exist in your subscriptions (by name).
- Resource groups.
- Documentation and Marketplace.
It is faster than navigating the menu. The keyboard shortcut is the backslash \, or G followed by / (the shortcuts vary; check the portal's help menu, "Keyboard shortcuts" section). Internalize this: in the portal it is almost never worth navigating; you search.
- The dashboard and shared dashboards
The dashboard is the configurable home page. By default it shows recent resources and links to services, but its real value appears when you design it yourself.
How to build a useful one:
- On the dashboard, click Edit (or create a new one with New dashboard → Blank dashboard).
- Drag tiles from the tile gallery: metric charts, resource lists, links, markdown notes.
- From any chart on a resource you can click Pin to dashboard, which adds it without leaving the resource.
- Adjust the size and time range of each tile.
- Save.
Private and shared dashboards
| Type | Where it lives | Who sees it |
|---|---|---|
| Private | In your user profile | Only you, from any browser |
| Shared | Published as a resource inside a resource group | Anyone with read permissions on that resource |
This detail surprises a lot of people: a shared dashboard is an Azure resource, with its own ID, its permissions and its location. It can be exported to JSON, versioned in Git and deployed again.
At Contoso: Marta Ríos creates a shared dashboard called Contoso Reservas - Operación, inside rg-contoso-reservas-pro, with the status of the website, database consumption and the error rate. The operations staff have it as their home page. We will add the actual charts when we reach module 7 (Azure Monitor).
- Blades and the portal workflow
A blade is the sliding panel that opens on the right when you select something. The portal stacks blades from left to right, so that you can drill down without losing context: resource group → resource → setting → sub-setting.
Practical points:
- The breadcrumb at the top takes you back to any previous level in one click.
- Every blade has its own URL: you can copy it from the browser and share it with a colleague, and it will open exactly that screen for them (if they have permissions). Very useful during incidents.
- Open in a new tab: Ctrl+click (Cmd+click on macOS) on a resource opens an independent tab. Working with two or three tabs (for example, the website and its database) is far more comfortable than going back and forth.
- Common resource structure: almost every resource has the same sections:
| Section | What it is for |
|---|---|
| Overview | Status, essential data and quick actions |
| Activity log | Who did what on this resource and when |
| Access control (IAM) | RBAC permissions (module 4) |
| Tags | Organization and cost metadata (lesson 01-05) |
| Diagnose and solve problems | Guided diagnostic wizards |
| Monitoring | Metrics, alerts and logs (module 7) |
| Automation | Export template and tasks |
- Creating a resource step by step: Contoso's resource group
We are going to create the first real resource of the course. A resource group is a logical container; it costs nothing in itself. The full theory is in lesson 01-05; here we create it so that we have somewhere to put things.
- In the portal menu, click Create a resource (or search for "Resource groups" and use Create).
- Fill in the Basics tab:
| Field | Value for Contoso |
|---|---|
| Subscription | Contoso Airlines - Desarrollo (or your only subscription, if you have just one) |
| Resource group | rg-contoso-reservas-dev |
| Region | (Europe) West Europe |
A resource group's region indicates where its metadata is stored, not where the resources it contains must necessarily live: you can have a resource in North Europe inside a group whose region is West Europe. Even so, for consistency, use the same one.
- Tags tab. Add Contoso's four mandatory tags right now:
| Name | Value |
|---|---|
entorno |
desarrollo |
proyecto |
contoso-reservas |
centro-coste |
CC-1042 |
propietario |
[email protected] |
- Review + create. Azure validates the configuration and shows a summary.
- Create. Within a few seconds, the notifications bell confirms the result.
This flow — Basics → service-specific tabs → Tags → Review + create — is identical for almost every Azure resource. Learn the pattern once and you will know how to create anything.
- Creating the boarding pass storage account
Now a real resource: the storage account where Contoso will keep its boarding passes in PDF. Here we only create it and check that it works; the concepts of blobs, containers, access tiers and redundancy belong to module 2.
Cost warning: a storage account on the cheapest tier costs cents if you store a few test files, but it is not free. At the end of the lesson you have instructions for deleting it.
Steps
- Create a resource → Storage → Storage account.
- Basics tab:
| Field | Value | Why |
|---|---|---|
| Subscription | Contoso Airlines - Desarrollo |
The test environment |
| Resource group | rg-contoso-reservas-dev |
The one we just created |
| Account name | sttarjetascontosodev |
The st prefix from Contoso's naming convention |
| Region | West Europe |
The primary region decided in lesson 01-02 |
| Performance | Standard | Enough for PDFs; Premium is for very low latency and costs considerably more |
| Redundancy | LRS (locally redundant storage) | The cheapest option; more than enough for development. In production a different one will be chosen (module 2) |
About the name, a rule that surprises everybody the first time: storage account names are globally unique across the whole of Azure, 3 to 24 characters, and they only allow lowercase letters and numbers. No hyphens. That is why the convention puts st right up against the name: sttarjetascontosodev. If somebody else in the world has already taken that name, add a suffix (for example sttarjetascontosodev01).
- Advanced tab: leave the default values, but check two important things:
- Require secure transfer (HTTPS): it must be enabled.
- Allow blob public access: it must be disabled. Boarding passes contain personal data; they must never be accessible anonymously. This is exactly the kind of configuration that, under the shared responsibility model (lesson 01-02), is your responsibility, not Microsoft's.
- Tags tab: the same four tags as the group. Yes, you have to repeat them: tags are not inherited from the resource group. We will look at this in detail in 01-05.
- Review + create → Create. It takes less than a minute.
Quick check
Go into the account you created and open Containers → + Container. Create one called tarjetas-embarque with public access level Private (no anonymous access). Upload any test PDF with Upload. You now have your first piece of Contoso data in Azure.
And now, cleanup (important)
If you did this only to practice, get rid of the cost:
- Go to the
rg-contoso-reservas-devresource group. - Click Delete resource group.
- Type the exact name to confirm (Azure demands that you type it precisely so that nobody does it by accident).
Deleting the group deletes everything it contains, irreversibly. That is its virtue as a disposable container for exercises, and also its danger in production, which is why resource locks exist (lesson 01-05).
- All resources: filters, columns and saved views
All resources is the inventory view. With twenty resources it is convenient; with two hundred, knowing how to filter it is essential.
- Filters: by subscription, resource group, type, location and — the most powerful one — tag. Filtering by
proyecto = contoso-reservasgives you everything belonging to the project, wherever it is. - Columns: click Manage view → Edit columns to add columns such as Tags, Location or Type. Seeing the
propietariotag in the list saves a lot of questions. - Group by: groups the listing by type or by resource group.
- Saved views: once filters and columns are configured, Manage view → Save view keeps them under a name. Marta Ríos saves two:
Producción - todoandDesarrollo - solo cómputo. - Export to CSV: useful for inventories and for cost reviews with Nuria Peña.
- Favorites and menu customization
The side menu only shows what you decide it should:
- Open All services.
- Find the service and click the star to mark it as a favorite.
- Reorder by dragging within the menu.
Recommended favorites for this course: Resource groups, All resources, Storage accounts, Virtual machines, App Services, Cost Management, Monitor, Microsoft Entra ID.
In Settings (gear) you can also adjust:
- Language and regional format (important: the regional format changes how dates and currencies are displayed).
- Startup page: dashboard or All resources, depending on how you work.
- Theme and high-contrast options.
- Menu behavior: docked or flyout.
- Sign out on inactivity: configure it if you share a computer. In production it is good practice to leave it at a short value.
- Cloud Shell and the Azure Mobile App
- Cloud Shell is the terminal built into the top bar (the
>_icon). It gives you Bash or PowerShell already authenticated with your identity, with nothing to install, and it works from any browser. You will see it in detail in lesson 01-06, including the storage account it needs to create in order to persist your files. - The Azure Mobile App (iOS and Android) lets you check the status of resources, receive alerts, run basic commands and even open a Cloud Shell from your phone. It is an on-call and lookup tool, not a working tool: nobody designs architectures on a phone. Marta Ríos has it installed to receive availability alerts.
- Activity history and access to support
Activity log
Search for Activity log in the global search box, or open it inside any resource or resource group. It answers the most frequent question during an incident: "who touched this, and when?".
It records control plane operations (creating, modifying, deleting resources), along with who performed them, from which IP, with what result and with the detail in JSON. What it does not record is operations on the data (for example, who downloaded a specific PDF): that requires service-specific diagnostic logs, covered in module 7.
Useful filters: by time range, by severity, by operation and by who initiated it. From here you can also create an alert ("tell me if somebody deletes a resource in production").
Support
You open incidents at Help + support → Create a support request. It is worth knowing that:
- Support for billing and subscription management is included in all plans.
- Technical support requires a paid support plan (Developer, Standard, Professional Direct…), with different response times.
- Before opening a case, the wizard itself offers you automatic diagnostics that resolve many problems.
- Service Health is a separate and very important section: it reports incidents on the Azure platform itself that affect you. Before spending three hours investigating why your application is failing, check whether Microsoft has already declared an incident in your region.
- When to use the portal and when not to
| Task | Recommended tool | Reason |
|---|---|---|
| Exploring a new service | Portal | The wizard explains every option |
| Diagnosing an incident | Portal | Metrics, logs and status at a glance |
| Viewing accumulated cost | Portal (Cost Management) | Visualizations that are hard to replicate |
| Creating 30 identical resources | CLI or script (lesson 01-06) | Repeatable, fast, no click errors |
| Reproducing a complete environment | Bicep / IaC (lesson 05-06) | Versionable, reviewable, deployable in any subscription |
| Changing something in production | IaC with review, not clicks | Traceability and the ability to roll back |
To show you the difference with a concrete example: everything you have just done in sections 5 and 6 — about twenty clicks spread across four screens — is these three lines, which you can also save, review in Git and run again whenever you want (we will study them thoroughly in lesson 01-06):
# 1. Resource group with Contoso's four mandatory tags.
az group create --name rg-contoso-reservas-dev --location westeurope \
--tags entorno=desarrollo proyecto=contoso-reservas centro-coste=CC-1042 [email protected]
# 2. Standard LRS storage account, with HTTPS required and no anonymous access.
az storage account create --name sttarjetascontosodev --resource-group rg-contoso-reservas-dev \
--location westeurope --sku Standard_LRS --kind StorageV2 \
--https-only true --allow-blob-public-access false
# 3. Private container for boarding passes.
az storage container create --name tarjetas-embarque \
--account-name sttarjetascontosodev --auth-mode login --public-access offThe sentence to take away: what you do once, do it in the portal; what you will do twice, write it down. The portal does not even argue with you: remember that every creation offers "Download a template for automation", which is literally the portal telling you "that thing you just did with clicks, here it is in code".
Common Mistakes and Tips
- Working in the wrong directory or subscription. Always check the filter at the top before creating or deleting. Filter to a single environment while you practice.
- Looking for services by navigating the menu. Use the global search box; it is several times faster.
- Trying to use uppercase letters or hyphens in the storage account name. Lowercase letters and numbers only, 3-24 characters, unique across the whole of Azure.
- Leaving blob public access enabled. It is the number one cause of data leaks in the cloud. Disable it unless you are deliberately serving public content.
- Creating resources without tags "because I'll add them later". They never get added later. Add them in the Tags tab during creation.
- Believing that the group's tags are inherited. They are not. It is the most repeated conceptual mistake in Azure and we take it apart in lesson 01-05.
- Losing your work by not pinning anything to the dashboard. If you check the same metric every morning, pin it.
- Forgetting resources that are left running. Before closing the browser, review All resources. If it is an exercise, delete the whole group.
- Tip: use Ctrl+click to open resources in new tabs, and keep the URL of the specific blade handy when you ask a colleague for help; you will save them five minutes of navigation.
Exercises
Exercise 1: Setting up your workspace
- Mark as favorites: Resource groups, All resources, Storage accounts and Cost Management.
- Create a private dashboard called
Contoso - Desarrollowith at least one resource list tile filtered by your resource group. - Configure the portal so that the startup page is All resources.
- Explain in two sentences the difference between a private dashboard and a shared one, and why the shared one consumes permissions from a resource group.
Exercise 2: Creating and verifying Contoso's resources
- Create the
rg-contoso-reservas-devgroup in West Europe with the four mandatory tags. - Create inside it a standard LRS storage account called
sttarjetascontosodev(add a numeric suffix if the name is taken), with secure transfer enabled and blob public access disabled. - Create a private container
tarjetas-embarqueand upload a test PDF. - Go to All resources, filter by the tag
proyecto = contoso-reservasand add the Tags column. Save the view asContoso - desarrollo. - Delete the entire resource group and check in the activity log that the operation appears recorded under your user.
Exercise 3: Investigating in the activity log
Using your subscription's activity log, answer:
- How many creation ("Write") operations have occurred in the last 24 hours?
- Which identity deleted the resource group, and at exactly what time?
- What information will you not find in the activity log, even though you would need it for a personal data audit?
Solutions
Solution 1:
- All services → search for each service → click the star. Reorder by dragging.
- Dashboard → New dashboard → Blank dashboard, name
Contoso - Desarrollo, drag the Resource list tile from the gallery and configure the filter by resource group. Save. - Settings (gear) → Appearance + startup views → Startup page → All resources.
- The private one lives in your user profile and only you see it, from any browser. The shared one is published as an Azure resource inside a resource group: that is why it has its own ID and its RBAC permissions, and anyone with read access on that resource can see it.
Solution 2: the steps are detailed in sections 5 and 6. Verification points:
- The storage account name can only contain lowercase letters and numbers; if Azure rejects it as a duplicate, that is because the namespace is global.
- When filtering by tag in All resources, you should see both the group and the storage account, because you tagged them separately (remember: there is no inheritance).
- Deleting the group requires you to type its exact name; it is a deliberate safeguard.
Solution 3:
- In the activity log, filter by Timespan: last 24 hours and Operation: Write. The count appears in the listing (you can also group by operation).
- The Initiated by column shows the identity (your user or a service principal) and the exact timestamp; opening the event shows you the JSON with the source IP.
- Operations on the data: who downloaded, read or modified a specific PDF inside the container. The activity log covers the control plane (operations on the resource), not the data plane. For that you enable the service's diagnostic logs and send them to Log Analytics (module 7).
Conclusion
You can now find your way around the Azure portal: you know its anatomy (top bar, menu, blades, breadcrumb), you know that the global search box is faster than navigating, that the directory and subscription filter prevents accidents, and that shared dashboards are resources with their own permissions. You have walked through the universal Basics → Tags → Review + create flow and applied it to create Contoso Airlines' first real resources: the rg-contoso-reservas-dev group and the sttarjetascontosodev storage account for boarding passes, with secure transfer enabled and anonymous access disabled. You also know how to clean up what you created so you do not overpay, how to filter and save views in All resources, and where to look when something goes wrong: the activity log and Service Health.
And you take away the idea that shapes the rest of the course: the portal is for exploring and diagnosing; anything repeatable is done with the CLI (lesson 01-06) or with infrastructure as code (lesson 05-06).
We have created a resource group almost without explaining what it really is, we have talked about tags that are not inherited, and we have mentioned that deleting a group deletes everything it contains. It is time to understand the system underneath all of that. In the next lesson, Azure Resource Manager: Subscriptions, Resource Groups and Tags, we will look at the control plane that governs the whole of Azure, the complete hierarchy, the locks that protect production and Contoso Airlines' definitive tagging scheme.
Azure Course
Module 1: Introduction to Azure
- What Is Azure?
- Service Models, Regions and Availability Zones
- Creating and Setting Up Your Azure Account
- A Tour of the Azure Portal
- Azure Resource Manager: Subscriptions, Resource Groups and Tags
- Azure CLI, PowerShell and Cloud Shell
Module 2: Core Azure Services
- Azure Virtual Machines
- Compute Scaling and High Availability
- Azure App Service
- Azure Storage: Blobs, Files, Queues and Tables
- Azure Networking: Virtual Networks, Subnets and NSGs
- Hybrid Connectivity and Global Delivery
Module 3: Azure Databases
- Choosing the Right Data Service
- Azure SQL Database
- Azure Cosmos DB
- Azure Database for MySQL
- Azure Database for PostgreSQL
- Data Analytics: Data Lake, Data Factory and Synapse
Module 4: Security in Azure
- Microsoft Entra ID and Identity Management
- RBAC and Managed Identities
- Azure Key Vault
- DDoS Protection and Web Application Firewall
- Microsoft Defender for Cloud
- Governance and Compliance with Azure Policy
Module 5: Azure DevOps
- Introduction to Azure DevOps
- Azure Repos
- Azure Pipelines: Continuous Integration
- Continuous Deployment with Environments and Approvals
- Azure Artifacts
- Infrastructure as Code with Bicep
Module 6: Advanced Azure Services
- Containers in Azure: Container Registry and Container Apps
- Azure Kubernetes Service (AKS)
- Azure Functions
- Azure Logic Apps
- Messaging and Events: Service Bus, Event Grid and Event Hubs
- Azure AI Services
Module 7: Monitoring and Management
- Azure Monitor: Metrics, Alerts and Dashboards
- Log Analytics and KQL Queries
- Application Insights
- Azure Automation and Runbooks
- Backup and Disaster Recovery
Module 8: Cost Management and Optimization
- Pricing Calculator and Cost Estimation
- Azure Cost Management: Analysis, Budgets and Alerts
- Reservations, Savings Plans and Azure Hybrid Benefit
- Azure Advisor
- Optimization Strategies and FinOps Culture
