Azure Portal Emulator
Introduction
Section titled “Introduction”The Azure Portal Emulator is an emulated version of the Azure Portal that the LocalStack Azure emulator serves directly from its own edge port. It gives you a visual way to work with your emulated resources: browse and filter everything in your local subscription, create resources through guided wizards, inspect blobs and Key Vault secrets, and invoke any ARM operation the emulator implements, all without installing anything beyond the emulator you already run.
Opening the portal
Section titled “Opening the portal”The emulator serves the portal by default. Start the emulator and open:
http://localhost:4566/_localstack/portal/Open it at localhost (or localhost.localstack.cloud), not 127.0.0.1: the emulator refuses requests from the 127.0.0.1 origin, and the page stays blank there.
There is no separate port, container, or install step: the portal is served on the same edge port as the emulator’s API, so it works wherever the emulator works.
Turning the portal off
Section titled “Turning the portal off”Set LS_AZURE_PORTAL=0 on the emulator container.
With lstk, add it to an environment profile in your config:
[[containers]]type = "azure"tag = "latest"port = "4566"env = ["noportal"]
[env.noportal]LS_AZURE_PORTAL = "0"Or with plain Docker:
docker run -d -p 4566:4566 \ -e LOCALSTACK_AUTH_TOKEN=$LOCALSTACK_AUTH_TOKEN \ -e LS_AZURE_PORTAL=0 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.localstack/volume:/var/lib/localstack \ localstack/localstack-azureWith the portal off, the URL returns 404 and no portal code is loaded.
Older emulator images serve the portal only when LS_AZURE_PORTAL=1 is set.
What you can do
Section titled “What you can do”- Browse resources. All resource groups and resources in your emulated subscription, with filtering, sorting, and configurable columns.
- Create resources. Guided create wizards for supported resource types.
- Work with data. A storage browser for blob containers (create, upload, download, delete), and Key Vault secrets and certificates.
- Invoke any implemented operation. The API operations drawer lists every ARM operation your emulator implements and lets you run it with your own parameters and request body.
- See only what works. By default the portal shows the features the emulator implements and leaves the rest out. Turn off Show only implemented features in Settings > Emulator to see the real portal’s full layout, with each feature the emulator does not implement greyed out and the reason given. To make that the default for everyone, set
LS_AZURE_PORTAL_SHOW_ONLY_IMPLEMENTED=0on the emulator container.
Always in sync with your emulator
Section titled “Always in sync with your emulator”The portal computes its capability catalog at runtime from the emulator it is running inside. It never claims an operation your emulator version does not support, and it picks up newly implemented operations automatically. There is no separate portal version to keep in step with the emulator.
Identity and sign-in
Section titled “Identity and sign-in”The portal’s sign-in screen is a mock: one click signs you in, and no credentials are collected.
Inside the emulator, the portal acts as the emulator’s default operator principal, LS_AZURE-0000-0000-0000-SP0000000000. Like the principal that the az CLI integration logs in as, it is treated as the current user, with full access to your emulated subscription.
If you enable RBAC enforcement (LS_AZURE_ENFORCE_RBAC=1), portal requests are evaluated like any other operator traffic.
Things to know
Section titled “Things to know”Troubleshooting
Section titled “Troubleshooting”- 404 at
/_localstack/portal/. The portal is turned off (LS_AZURE_PORTAL=0), or the emulator image is older than the release that serves it by default: update the image, or setLS_AZURE_PORTAL=1. - Blank page. Open the portal at
localhost, not127.0.0.1(see Opening the portal). - Page loads but shows errors. Check
http://localhost:4566/_localstack/portal/api/meta/health; it reports the emulator edition and the identity the portal is acting as. - A feature you expect is missing. By default the portal shows only what the emulator implements. Turn off Show only implemented features in Settings > Emulator to see everything, greyed out where the emulator does not implement it.
- A resource action is greyed out. The emulator does not implement that operation yet; the tooltip names the gap.