3.5 Ensure that 'Public access level' is set to Private for blob containers

Warning! Audit Deprecated

This audit has been deprecated and will be removed in a future update.

View Next Audit Version

Information

Disable anonymous access to blob containers and disallow blob public access on storage account.

Rationale:

Anonymous, public read access to a container and its blobs can be enabled in Azure Blob storage. It grants read-only access to these resources without sharing the account key, and without requiring a shared access signature. It is recommended not to provide anonymous access to blob containers until, and unless, it is strongly desired. A shared access signature token should be used for providing controlled and timed access to blob containers. If no anonymous access is needed on the storage account, it's recommended to set allowBlobPublicAccess false.

Impact:

Access using shared access signatures will have to be managed.

Solution

From Azure Console
First, follow Microsoft documentation and created shared access signature tokens for your blob containers. Then,

Go to Storage Accounts

For each storage account, go to Containers under BLOB SERVICE

For each container, click Access policy

Set Public access level to Private (no anonymous access)

For each storage account, go to Allow Blob public access in Configuration

Set Disabled if no anonymous access is needed on the storage account

Using Azure Command Line Interface 2.0

Identify the container name from the audit command

Set the permission for public access to private(off) for the above container name, using the below command

az storage container set-permission --name <containerName> --public-access off --account-name <accountName> --account-key <accountKey>

Set Disabled if no anonymous access is wanted on the storage account

az storage account update --name <storage-account> --resource-group <resource-group> --allow-blob-public-access false

Default Value:

By default, Public access level is set to Private (no anonymous access) for blob containers. By default, AllowBlobPublicAccess is set to Null (allow in effect) for storage account.

See Also

https://workbench.cisecurity.org/files/3459