Liferay DXP 7.4 Integration with Azure Blob Storage for Efficient Cloud-Based File Management

Enhancing Scalability, Security, and Efficiency in Cloud-Based Data Management with Azure Blob Storage Integration in Liferay DXP 7.4

Liferay DXP 7.4 supports integration with Azure Blob Storage for storing and managing files in the cloud. This integration allows users to take advantages of the scalability and durability of Azure Blob Storage while using Liferay DXP as their content management system.

Azure Blob Storage is a cloud-based object storage service offered by Microsoft Azure. It is designed to store large amounts of unstructured data, such as text or binary data, including documents, images, videos, and other types of files. Blob Storage provides a scalable and highly available storage infrastructure that can be accessed from anywhere in the world using HTTP or HTTPS protocols.

With Azure Blob Storage integration, users can configure Liferay DXP to automatically store files in the cloud, and easily retrieve them as needed. This eliminates the need for local file storage and provides a more efficient and scalable solution for managing large amounts of data. (The maximum size of a single block blob is 5 terabytes (TB). However, for optimal upload performance, it's recommended to break files into smaller chunks, with each chunk being uploaded as a separate block.)

With Blob Storage, users can easily store and retrieve data from the cloud, and take advantage of features such as tiered storage, automatic data replication, and integration with other Azure services. Blob Storage also provides several security features, including encryption, access control, and secure transfer protocols, to ensure the safety and privacy of data stored in the cloud.

Azure Blob Storage provides several encryption features to ensure the safety and privacy of data stored in the cloud.

  1. Encryption at rest: Blob Storage supports server-side encryption, which means that data is automatically encrypted before it is written to disk, and decrypted when it is read back. This encryption is transparent to users and applications and does not require any additional configuration.
  2. Encryption in transit: Blob Storage supports encryption of data in transit, using HTTPS or HTTP/2 protocols, to protect data as it travels over the network.
  3. Customer-managed keys: Blob Storage also allows users to use their own encryption keys to encrypt and decrypt data, giving them complete control over the encryption process. This is done through Azure Key Vault, a cloud-based service for managing cryptographic keys and secrets
  4. Azure Storage Service Encryption: Blob Storage also supports Azure Storage Service Encryption, which is a feature that automatically encrypts data at rest using Microsoft-managed keys.

Here are the general steps to connect Liferay DXP 7.4 with Azure Blob Storage. 

  1. Create an Azure Blob Storage account and container: You need to create an Azure Blob Storage account and container using the Azure Portal or Azure CLI. Make sure to record the account name, access key, and container name.
     
  2. login into Liferay with the Administrator role
    Open the Global Menu (Global Menu)  → Control Panel → System Settings → File Storage → Azure Blob Storage.
    1. Enter a Connection String for your Azure Blob Storage Store which looks like
      DefaultEndpointsProtocol=https;AccountName=<your_account_name>;AccountKey=<your_account_key>;EndpointSuffix=core.windows.net
    2. Enter the name of the Azure Blob Container you want to use for storing your files.
    3. Encryption Scope is Optionally, If you want to store files with Encryption format here you need to encryption scope. Otherwise, you can add encryption on your Azure Blob container and you can create our own encryption methods on the Azure Blob container.
    4. You can choose to enable HTTP Logging in Azure, which will print HTTP requests and responses made by the Azure client in the server logs
  3. After configuring the Azure Blob Storage Store, you can set it as the default storage system for your application's files.
    1. Add the following property to the instance’s portal-ext.properties file:
      dl.store.impl=com.liferay.portal.store.azure.AzureStore
    2. Restart the Liferay server.