🎯 Objective
Create a public container in Microsoft Azure Blob Storage and understand how to enable anonymous (public) access.
🧠 What is Azure Blob Storage?
Azure Blob Storage is an object storage service for:
👉 “Blob” = Binary Large Object
📊 Access Levels
🏗️ How It Works
Storage Account → Container → Blobs (Files)⚠️ Important Concept: Anonymous Access Setting
🔐 What is Anonymous Access?
Anonymous access allows users to access blobs without authentication.
🚫 Default Behavior
By default, anonymous access may be disabled at the storage account level.
👉 If disabled:
✅ Enable Anonymous Access (Required Step)
To allow public containers, you must enable it at storage account level.
🛠️ Step 1: Enable Anonymous Access
1. Go to Storage Account
1. Click Settings → Configuration
1. Find:
👉 Allow Blob Public Access
1. Set to:
Enabled1. Click Save
📌 Key Insight
> 🔥 Public access = TWO levels must allow it
📦 Step 2: Create Storage Account
1. Go to Azure Portal
1. Search → Storage Accounts
1. Click Create
Fill:
👉 Review + Create → Create
📁 Step 3: Create Container
1. Open storage account
1. Go to Containers
1. Click + Container
Fill:
👉 Click Create
⬆️ Step 4: Upload File
1. Open container
1. Click Upload
1. Select file
🌐 Step 5: Get Public URL
Example:
https://nautilusstorage.blob.core.windows.net/public-container/image.png🧪 Step 6: Test Public Access
curl https://nautilusstorage.blob.core.windows.net/public-container/<file-name>✅ Should work without login
🔄 Step 7: Change Access Level (Optional)
1. Open container
1. Click Change access level
1. Choose:
🧾 Azure CLI (Optional)
Enable Public Access
az storage account update \
--name nautilusstorage \
--resource-group <RG_NAME> \
--allow-blob-public-accesstrueCreate Container
az storage container create \
--account-name nautilusstorage \
--name public-container \
--public-access blob📌 Key Notes
🔐 Security Best Practices
🔁 Azure Blob vs AWS S3
🧾 Command Summary
az storage account update \
--name nautilusstorage \
--resource-group <RG_NAME> \
--allow-blob-public-accesstrue
az storage container create \
--account-name nautilusstorage \
--name public-container \
--public-access blob